00001 //---------------------------------------------------------------------------// 00002 //Description: Geant4 Class 00003 //Author: Wu Chen(wuchen@mail.ihep.ac.cn) 00004 //Created: 17 Oct, 2012 00005 //Comment: 00006 //---------------------------------------------------------------------------// 00007 00008 #ifndef DetectorConstruction_h 00009 #define DetectorConstruction_h 1 00010 00011 #include "G4VUserDetectorConstruction.hh" 00012 #include "myglobals.hh" 00013 00014 class G4VPhysicalVolume; 00015 00016 class DetectorMessenger; 00017 class MyDetectorManager; 00018 class MyFieldSvc; 00019 00020 class DetectorConstruction : public G4VUserDetectorConstruction 00021 { 00022 public: 00023 00024 DetectorConstruction(); 00025 ~DetectorConstruction(); 00026 00027 G4VPhysicalVolume* Construct(); 00028 00029 void ResetMag(G4String); 00030 00031 void ReloadGeo(G4String); 00032 00033 void UpdateGeometry(); 00034 00035 private: 00036 00037 G4VPhysicalVolume* ConstructDetector(); 00038 00039 private: 00040 00041 DetectorMessenger* detectorMessenger; //pointer to the Messenger 00042 00043 G4VPhysicalVolume* world_pvol; 00044 MyFieldSvc* pMyFieldSvc; 00045 MyDetectorManager* pMyDetectorManager; 00046 }; 00047 00048 #endif