20 #include "G4Colour.hh" 21 #include "G4FieldManager.hh" 22 #include "G4LogicalVolume.hh" 23 #include "G4Material.hh" 24 #include "G4PVPlacement.hh" 25 #include "G4ThreeVector.hh" 26 #include "G4VisAttributes.hh" 27 #include "G4VSensitiveDetector.hh" 28 #include "G4VSolid.hh" 83 G4LogicalVolume* LogicV;
84 G4VPhysicalVolume* PhysicalV;
98 void AssignMFM(G4FieldManager* MFM){LogicV->SetFieldManager(MFM,
true);}
int create_logical_volume(map< string, G4Material * > *, gemc_opts)
Creates the Logical Volume.
friend ostream & operator<<(ostream &stream, detector)
Overloaded "<<" for detector class. Dumps infos on screen.
G4LogicalVolume * GetLogical()
Returns Logical Volume pointer.
string sensitivity
Defines the Sensitive Detector. possible choices: "no" "hits collection name".
string mother
Mother Volume name.
void AssignMFM(G4FieldManager *MFM)
Assigns Magnetic Field Manager to LogicV.
G4ThreeVector pos
Position relative to the mother volume, as G4ThreeVector.
bool operator==(const detector &D) const
Overloaded "==" operator for detector class.
int create_solid(gemc_opts, map< string, detector > *)
Creates the Solid. If it's a Copy Placement, retrieve and assigns LogicV.
G4VisAttributes VAtts
Visual Attributes: color, transparency, style (wireframe, solid), visibility.
void SetTranslation(G4ThreeVector TR)
Sets Physical Volume Position.
bool pMany
Needed by geant4 at G4PVPlacement time.
map< string, detector > read_detector(gemc_opts, run_conditions)
Reads detector map from database.
string name
Name of the volume. Since this is the key of the STL map, it has to be unique.
string material
Volume Material name.
void SetUserLimits(G4UserLimits *L)
int visible
visibility of the detector: 0=invisible 1=visible
int style
Visual style: 0=wireframe 1=solid.
string hitType
Hit Process routine name. A Hit Process MPHBaseClass derived class must exists with this name...
vector< identifier > identity
Vector of identifiers. Example: superlayer manual 1 type manual 2 segment manual 3 strip manual 4...
string magfield
Magnetic Field. The string "no" means that the field is inherited from the mother volume...
G4RotationMatrix rot
Rotation Matrix, defined by rotations along x,y,z axis relative to the mother volume.
int exist
detector ON/OFF switch
int create_physical_volumes(gemc_opts, G4LogicalVolume *)
Creates the Physical Volume.
G4VSolid * GetSolid()
Returns G4 Solid pointer.
G4VPhysicalVolume * GetPhysical()
Returns Physical Volume pointer.
void SetLogical(G4LogicalVolume *LV)
Sets Logical Volume pointer.
string type
solid type. This follows the GEANT4 definitions
vector< double > dimensions
vector of dimensions. Size, units depends on solid type
int scanned
for use during construction
void RemoveDaughter(G4VPhysicalVolume *PV)
Remove Physical Volumes from LogicV.
void setSensitivity(G4VSensitiveDetector *SD)
Assign the sensitive detector to the Logical Volume.
string description
Volume Description for documentation.