#ifndef mgDetectorConstruction_h #define mgDetectorConstruction_h 1 #include "globals.hh" #include "G4VUserDetectorConstruction.hh" #include "tls.hh" class G4LogicalVolume; class G4VPhysicalVolume; class G4Material; class mgDetectorConstruction : public G4VUserDetectorConstruction { public: mgDetectorConstruction(); virtual ~mgDetectorConstruction(); public: virtual G4VPhysicalVolume* Construct(); //Set Methods void SetSphereMaterial(G4String ); void SetCheckOverlaps(G4bool ); G4LogicalVolume* GetShellVolume() const { return fLogicShell; } G4Material* GetSphereMaterial() const { return fSphereMaterial; } private: //methods void DefineMaterials(); G4VPhysicalVolume* DefineVolumes(); //data members G4LogicalVolume* fLogicSphere; //pointer to Logical Orb G4LogicalVolume* fLogicShell; //pointer to the logical boundary shell G4Material* fSphereMaterial; //pointer to sphere material G4Material* fShellMaterial; //pointer to shell material; probably won't be used. G4bool fCheckOverlaps; //Option to activate shecking of volume overlaps. }; #endif