00001 //---------------------------------------------------------------------------// 00002 // BOOST --- BESIII Object_Oriented Simulation Tool // 00003 //---------------------------------------------------------------------------// 00004 //Description: Using gdml in G4 00005 //Author: Liuhm 00006 //Created: May 25, 2003 00007 //Modified: 00008 //Comment: 00009 //---------------------------------------------------------------------------// 00010 // 00011 #ifndef BesDetectorConstruction_H 00012 #define BesDetectorConstruction_H 1 00013 00014 #include "G4String.hh" 00015 #include "G4VUserDetectorConstruction.hh" 00016 #include "G4LogicalVolume.hh" 00017 #include "G4VPhysicalVolume.hh" 00018 00019 #include "BesMdcConstruction.hh" 00020 #include "BesTofConstruction.hh" 00021 #include "BesEmcConstruction.hh" 00022 #include "BesMucConstruction.hh" 00023 #include "BesSCM.hh" 00024 #include "BesPip.hh" 00025 00026 #include "BesMagneticField.hh" 00027 #include "SAXProcessor.hh" 00028 #include "ProcessingConfigurator.hh" 00029 00030 class BesDetectorConstruction : public G4VUserDetectorConstruction 00031 { 00032 public: 00033 BesDetectorConstruction(); 00034 ~BesDetectorConstruction(); 00035 00036 public: 00037 G4VPhysicalVolume* Construct(); 00038 G4LogicalVolume* FindLogicalVolume( const G4String& vn); 00039 void SetPipeSCM(G4int value) {m_pipeSCM = value;} 00040 void SetVisAttributes(G4String volumeName); 00041 private: 00042 //SAXProcessor sxp; 00043 //ProcessingConfigurator config; 00044 BesMagneticField* besField; 00045 BesMdcConstruction* mdc; 00046 BesTofConstruction* tof; 00047 BesEmcConstruction* emc; 00048 BesMucConstruction* muc; 00049 BesSCM* m_SCM; 00050 BesPip* m_Pip; 00051 00052 G4int m_pipeSCM; 00053 G4LogicalVolume* lWorld; 00054 G4VPhysicalVolume* fWorld; 00055 }; 00056 00057 #endif 00058 00059 00060 00061 00062