#ifndef CONSTRUCTION_HH #define CONSTRUCTION_HH #include "G4SystemOfUnits.hh" #include "G4VUserDetectorConstruction.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" #include "G4Box.hh" #include "G4PVPlacement.hh" #include "G4NistManager.hh" #include "detector.hh" #include "G4GenericMessenger.hh" #include "G4Tubs.hh" class MyDetectorConstruction : public G4VUserDetectorConstruction { public: MyDetectorConstruction(); ~MyDetectorConstruction(); G4LogicalVolume *GetScoringVolume() const { return fScoringVolume;} virtual G4VPhysicalVolume *Construct(); private: G4LogicalVolume *logicDetector; virtual void ConstructSDandField(); G4int nCols, nRows; void DefineMaterial(); void ConstructMuon(); void ConstructScintillator(); void ConstructTOF(); G4Box *solidWorld, *solidRadiator, *solidDetector; G4Tubs *solidScintillator; G4LogicalVolume *logicWorld, *logicRadiator, *logicScintillator; G4VPhysicalVolume *physRadiator, *physWorld, *physDetector, *physScintillator; G4GenericMessenger *fMessenger; G4LogicalVolume *fScoringVolume; G4Material *SiO2, *H2O, *Aerogel, *worldMat, *NaI, *PbWO4, *Aluminium; G4Element *C, *Na, *I, *Pb, *W, *O ; G4double xWorld, yWorld, zWorld; G4bool isMuon, isScintillator, isTOF; }; #endif