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;
 
base class for phenix detector creation
this is the main detector construction class, passed to geant to construct the entire phenix detector
G4VPhysicalVolume * GetPhysicalVolume(void)
PHG4PhenixDetector()
constructor
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
void SetWorldSizeX(const G4double sx)
G4double GetWorldSizeX() const
void SetWorldShape(const std::string &s)
void SetWorldSizeY(const G4double sy)
void SetWorldSizeZ(const G4double sz)
void SetZeroFieldManager(G4FieldManager *man)
G4double GetWorldSizeZ() const
virtual ~PHG4PhenixDetector()
destructor
void SetWorldMaterial(const std::string &s)
G4double GetWorldSizeY() const
void SetZeroFieldStartZ(const G4double z)
virtual G4VPhysicalVolume * Construct(void)
this is called by geant to actually construct all detectors
virtual void ConstructSDandField()
this is used to associate the local field manager to the no-field-zone logical volume