#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 "G4VSensitiveDetector.hh" #include "G4GenericMessenger.hh" #include "G4Tubs.hh" #include "globals.hh" #include "MyElectricField.hh" #include "G4EqMagElectricField.hh" #include "G4FieldManager.hh" #include "G4TransportationManager.hh" #include "G4ChordFinder.hh" #include "G4MagIntegratorDriver.hh" #include "G4ClassicalRK4.hh" class MyDetectorConstruction : public G4VUserDetectorConstruction { public: MyDetectorConstruction(); virtual ~MyDetectorConstruction(); virtual G4VPhysicalVolume* Construct() override; private: G4Box *solidWorld; G4LogicalVolume *logicWorld; G4VPhysicalVolume *physWorld; G4Material *worldMat; void ConstructField(const G4String& fieldFilename); MyElectricField* fElectricField; G4FieldManager* fFieldManager; G4ChordFinder* fChordFinder; }; #endif