GEMC  1.8
Geant4 Monte-Carlo Framework
Public Member Functions | Data Fields | Friends
detector Class Reference

#include <detector.h>

+ Collaboration diagram for detector:

Public Member Functions

 detector ()
 
 ~detector ()
 
int create_solid (gemc_opts, map< string, detector > *)
 Creates the Solid. If it's a Copy Placement, retrieve and assigns LogicV. More...
 
int create_logical_volume (map< string, G4Material * > *, gemc_opts)
 Creates the Logical Volume. More...
 
int create_physical_volumes (gemc_opts, G4LogicalVolume *)
 Creates the Physical Volume. More...
 
void setSensitivity (G4VSensitiveDetector *SD)
 Assign the sensitive detector to the Logical Volume. More...
 
G4VSolid * GetSolid ()
 Returns G4 Solid pointer. More...
 
G4LogicalVolume * GetLogical ()
 Returns Logical Volume pointer. More...
 
G4VPhysicalVolume * GetPhysical ()
 Returns Physical Volume pointer. More...
 
void SetLogical (G4LogicalVolume *LV)
 Sets Logical Volume pointer. More...
 
void SetTranslation (G4ThreeVector TR)
 Sets Physical Volume Position. More...
 
void RemoveDaughter (G4VPhysicalVolume *PV)
 Remove Physical Volumes from LogicV. More...
 
void AssignMFM (G4FieldManager *MFM)
 Assigns Magnetic Field Manager to LogicV. More...
 
void SetUserLimits (G4UserLimits *L)
 
bool operator== (const detector &D) const
 Overloaded "==" operator for detector class. More...
 

Data Fields

string name
 Name of the volume. Since this is the key of the STL map, it has to be unique. More...
 
string mother
 Mother Volume name. More...
 
string description
 Volume Description for documentation. More...
 
G4ThreeVector pos
 Position relative to the mother volume, as G4ThreeVector. More...
 
G4RotationMatrix rot
 Rotation Matrix, defined by rotations along x,y,z axis relative to the mother volume. More...
 
G4VisAttributes VAtts
 Visual Attributes: color, transparency, style (wireframe, solid), visibility. More...
 
string type
 solid type. This follows the GEANT4 definitions More...
 
vector< double > dimensions
 vector of dimensions. Size, units depends on solid type More...
 
string material
 Volume Material name. More...
 
string magfield
 Magnetic Field. The string "no" means that the field is inherited from the mother volume. More...
 
int ncopy
 copy number More...
 
bool pMany
 Needed by geant4 at G4PVPlacement time. More...
 
int exist
 detector ON/OFF switch More...
 
int visible
 visibility of the detector: 0=invisible 1=visible More...
 
int style
 Visual style: 0=wireframe 1=solid. More...
 
string sensitivity
 Defines the Sensitive Detector. possible choices: "no" "hits collection name". More...
 
string hitType
 Hit Process routine name. A Hit Process MPHBaseClass derived class must exists with this name. More...
 
vector< identifieridentity
 Vector of identifiers. Example: superlayer manual 1 type manual 2 segment manual 3 strip manual 4. More...
 
int scanned
 for use during construction More...
 

Friends

ostream & operator<< (ostream &stream, detector)
 Overloaded "<<" for detector class. Dumps infos on screen. More...
 

Detailed Description

Detector

This is the gemc volume class. It contains:

Definition at line 46 of file detector.h.

Constructor & Destructor Documentation

detector::detector ( )

Definition at line 39 of file detector.cc.

detector::~detector ( )
inline

Definition at line 51 of file detector.h.

Member Function Documentation

void detector::AssignMFM ( G4FieldManager *  MFM)
inline

Definition at line 98 of file detector.h.

int detector::create_logical_volume ( map< string, G4Material * > *  MMats,
gemc_opts  gemcOpt 
)

Definition at line 695 of file detector.cc.

int detector::create_physical_volumes ( gemc_opts  gemcOpt,
G4LogicalVolume *  mamma 
)

< rotation

< translation

< logical volume

< name

< Mother Logical Volume

< no boolean operation

< copy number

< rotation

< translation

< logical volume

< name

< Mother Logical Volume

< pMany (for future use)

< ncopy

< Checks Volume Overlapping at Placement time

Definition at line 757 of file detector.cc.

int detector::create_solid ( gemc_opts  gemcOpt,
map< string, detector > *  Map 
)

< name

< half length in X

< half length in Y

< half length in Z

< name

< half length in X

< half length in Y

< half length in Z

< Angle with y axis

< Polar angle of the line joining the centres of the faces at -dz and +dz in z

< Azimuthal angle of the line joining the centres of the faces at -dz and +dz in z

< name

< Inner radius

< Outer radius

< Starting Phi angle of the segment

< Delta Phi angle of the segment

< Starting Theta angle of the segment

< Delta Theta angle of the segment

< name

< Semiaxis in X

< Semiaxis in Y

< Semiaxis in Z

< lower cut plane level, z

< upper cut plane level, z

< name

< Half length Z

< Radius at -Dz

< Radius at +Dz greater than R1

< name

< Inner radius

< Outer radius

< Inner stereo angle in radians

< Outer stereo angle in radians

< Half length in Z

< name

< Inner radius

< Outer radius

< Half length in z

< The starting phi angle

< Delta Phi angle of the segment

< name

< Inner radius 1

< Outer radius 1

< Inner radius 2

< Outer radius 2

< Half length in z

< The starting phi angle

< Delta Phi angle of the segment

< name

< Inner radius

< Outer radius

< Swept radius of torus

< pSPhi: Starting Phi angle in radians (fSPhi+fDPhi<=2PI, fSPhi>-2PI)

< pDPhi: Delta angle of the segment in radians

< name

< Half-length along x at the surface positioned at -dz

< Half-length along x at the surface positioned at +dz

< Half-length along y at the surface positioned at -dz

< Half-length along y at the surface positioned at +dz

< Half-length along z axis

< name

< Half z length

< Polar angle of the line joining the centres of the faces at -/+pDz

< pPhi

< Half y length at -pDz

< Half x length at -pDz, y=-pDy1

< Half x length at -pDz, y=+pDy

< Angle with respect to the y axis from the centre of the side (lower endcap)

< Half y length at +pDz

< Half x length at +pDz, y=-pDy2

< Half x length at +pDz, y=+pDy2

< Angle with respect to the y axis from the centre of the side (upper endcap)

< name

< Half z length

< Polar angle of the line joining the centres of the faces at -/+pDz

< pPhi

< Half y length at -pDz

< Half x length at -pDz, y=-pDy1

< Half x length at -pDz, y=+pDy

< Angle with respect to the y axis from the centre of the side (lower endcap)

< Half y length at +pDz

< Half x length at +pDz, y=-pDy2

< Half x length at +pDz, y=+pDy2

< Angle with respect to the y axis from the centre of the side (upper endcap)

< number of sides

< number of planes in z directions

< name

< Initial Phi starting angle

< Total Phi angle

< Number of sides

< Number of z planes

< z coordinate of corners

< Tangent distance to inner surface

< Tangent distance to outer surface

< number of planes in z directions

< name

< Initial Phi starting angle

< Total Phi angle

< Number of z planes

< z coordinate of corners

< Tangent distance to inner surface

< Tangent distance to outer surface

Definition at line 46 of file detector.cc.

G4LogicalVolume* detector::GetLogical ( )
inline

Definition at line 93 of file detector.h.

G4VPhysicalVolume* detector::GetPhysical ( )
inline

Definition at line 94 of file detector.h.

G4VSolid* detector::GetSolid ( )
inline

Definition at line 92 of file detector.h.

bool detector::operator== ( const detector D) const

Definition at line 974 of file detector.cc.

void detector::RemoveDaughter ( G4VPhysicalVolume *  PV)
inline

Definition at line 97 of file detector.h.

void detector::SetLogical ( G4LogicalVolume *  LV)
inline

Definition at line 95 of file detector.h.

void detector::setSensitivity ( G4VSensitiveDetector SD)
inline

Definition at line 90 of file detector.h.

void detector::SetTranslation ( G4ThreeVector  TR)
inline

Definition at line 96 of file detector.h.

void detector::SetUserLimits ( G4UserLimits *  L)
inline

Definition at line 100 of file detector.h.

Friends And Related Function Documentation

ostream& operator<< ( ostream &  stream,
detector  Detector 
)
friend

Definition at line 934 of file detector.cc.

Field Documentation

string detector::description

Definition at line 55 of file detector.h.

vector<double> detector::dimensions

Definition at line 63 of file detector.h.

int detector::exist

Definition at line 71 of file detector.h.

string detector::hitType

Definition at line 76 of file detector.h.

vector<identifier> detector::identity

Definition at line 77 of file detector.h.

string detector::magfield

Definition at line 66 of file detector.h.

string detector::material

Definition at line 65 of file detector.h.

string detector::mother

Definition at line 54 of file detector.h.

string detector::name

Definition at line 53 of file detector.h.

int detector::ncopy

Definition at line 68 of file detector.h.

bool detector::pMany

Definition at line 69 of file detector.h.

G4ThreeVector detector::pos

Definition at line 57 of file detector.h.

G4RotationMatrix detector::rot

Definition at line 58 of file detector.h.

int detector::scanned

Definition at line 79 of file detector.h.

string detector::sensitivity

Definition at line 75 of file detector.h.

int detector::style

Definition at line 73 of file detector.h.

string detector::type

Definition at line 62 of file detector.h.

G4VisAttributes detector::VAtts

Definition at line 60 of file detector.h.

int detector::visible

Definition at line 72 of file detector.h.