1 #ifndef PHG4PhenixDetector_h
2 #define PHG4PhenixDetector_h
4 #include <Geant4/G4VUserDetectorConstruction.hh>
5 #include <Geant4/globals.hh>
10 class G4LogicalVolume;
11 class G4VPhysicalVolume;
30 { detectors_.push_back(detector); zeroFieldFlags.push_back(zero_field); }
33 virtual G4VPhysicalVolume*
Construct(
void );
63 typedef std::list<PHG4Detector*> DetectorList;
64 DetectorList detectors_;
65 std::list<int> zeroFieldFlags;
67 G4Material* defaultMaterial;
69 G4LogicalVolume* logicWorld;
70 G4VPhysicalVolume* physiWorld;
74 std::string worldshape;
75 std::string worldmaterial;
77 G4double ZeroFieldStartZ;
78 G4LogicalVolume* lZeroFieldSubWorld;
79 G4VPhysicalVolume* pZeroFieldSubWorld;
80 G4FieldManager* zeroFieldManager;
void SetWorldSizeX(const G4double sx)
void SetWorldShape(const std::string &s)
G4double GetWorldSizeY() const
virtual void ConstructSDandField()
this is used to associate the local field manager to the no-field-zone logical volume ...
virtual G4VPhysicalVolume * Construct(void)
this is called by geant to actually construct all detectors
virtual ~PHG4PhenixDetector()
destructor
void SetWorldSizeZ(const G4double sz)
G4double GetWorldSizeZ() const
void SetZeroFieldManager(G4FieldManager *man)
void SetWorldSizeY(const G4double sy)
base class for phenix detector creation
G4VPhysicalVolume * GetPhysicalVolume(void)
void SetZeroFieldStartZ(const G4double z)
void AddDetector(PHG4Detector *detector, int zero_field=0)
register a detector. This is called in PHG4Reco::Init based on which detectors are found on the tree ...
this is the main detector construction class, passed to geant to construct the entire phenix detector...
PHG4PhenixDetector()
constructor
G4double GetWorldSizeX() const
void SetWorldMaterial(const std::string &s)