00001 #ifndef __BDSWORLD_H 00002 #define __BDSWORLD_H 00003 00004 #include "G4VSolid.hh" 00005 #include "G4LogicalVolume.hh" 00006 #include "G4VPhysicalVolume.hh" 00007 #include "G4VisAttributes.hh" 00008 #include "G4UserLimits.hh" 00009 00010 class BDSWorld { 00011 public: 00012 00013 // static BDSWorld* Instance(); 00014 BDSWorld(); 00015 ~BDSWorld(); 00016 G4VPhysicalVolume* physicalVolume(); 00017 G4LogicalVolume* logicalVolume(); 00018 G4UserLimits* userLimits(); 00019 00020 private: 00021 // static BDSWorld* _instance; 00022 void build(); 00023 void place(); 00024 00025 void calcSize(); 00026 00027 void constructSolid(); 00028 void constructLogical(); 00029 void setVisAttributes(); 00030 void setUserLimits(); 00031 00032 G4ThreeVector* _size; 00033 00034 G4VSolid* _solidVolume; 00035 G4LogicalVolume* _logicalVolume; 00036 G4VPhysicalVolume* _physicalVolume; 00037 00038 G4UserLimits* _userLimits; 00039 G4VisAttributes* _visAttributes; 00040 00041 G4Material* _material; 00042 }; 00043 00044 #endif