00001 // 00002 // $Id: DetectorConstruction.hh 127 2008-07-03 12:41:24Z jacquem $ 00003 // 00004 // 00005 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00006 00007 #ifndef DetectorConstruction_h 00008 #define DetectorConstruction_h 1 00009 00010 #include "G4VUserDetectorConstruction.hh" 00011 #include "globals.hh" 00012 00013 class G4VPhysicalVolume; 00014 class G4Material; 00015 00016 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00017 00018 class DetectorConstruction : public G4VUserDetectorConstruction 00019 { 00020 public: 00021 00022 DetectorConstruction(); 00023 ~DetectorConstruction(); 00024 00025 public: 00026 00027 G4VPhysicalVolume* Construct(); 00028 00029 public: 00030 00031 G4Material* GetSpacecraftMaterial() {return m_spacecraftMaterial;}; 00032 G4Material* GetCabinMaterial() {return m_cabinMaterial;}; 00033 G4Material* GetFloorMaterial() {return m_floorMaterial;}; 00034 G4Material* GetAstronautMaterial() {return m_astronautMaterial;}; 00035 00036 G4double GetWorldSizeXY() {return m_worldSizeXY;}; 00037 G4double GetWorldSizeZ() {return m_worldSizeZ;}; 00038 00039 void PrintParameters(); 00040 00041 private: 00042 00043 void DefineMaterials(); 00044 G4VPhysicalVolume* ConstructVolumes(); 00045 00046 private: 00047 00048 G4Material* m_worldMaterial; 00049 G4Material* m_spacecraftMaterial; 00050 G4Material* m_cabinMaterial; 00051 G4Material* m_floorMaterial; 00052 G4Material* m_astronautMaterial; 00053 00054 G4VPhysicalVolume* m_physiWorld; 00055 G4double m_worldSizeXY, m_worldSizeZ; 00056 }; 00057 00058 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00059 00060 #endif