29 #include "DetectorConstruction.hh"
43 fGradientsInitialized=
false;
61 {
delete fDetectorMessenger;}
69 return ConstructVolumes();
74 void DetectorConstruction::DefineMaterials()
94 fDefaultMaterial = vacuum;
103 fSolidWorld =
new G4Box(
"World",
104 12*
m/2,12*
m/2,22*
m/2);
122 fSolidVol =
new G4Box(
"Vol",
123 10*
m/2,10*
m/2,9.120*
m/2);
158 fSolidGridVol=
new G4Box(
"GridVolume",x_grid,y_grid,z_grid);
176 G4int num_half_grid=100;
178 fSolidGridVol_Hole=
new G4Box(
"GridHole",holeSize/2,holeSize/2,z_grid);
185 for(
int i=-num_half_grid;i<num_half_grid;i++)
187 for (
int j=-num_half_grid;j<num_half_grid;j++)
191 G4int number_index_grid;
197 number_index_grid=(i+num_half_grid)*1000+(j+num_half_grid);
214 fSolidControlVol_GridShadow =
216 (
"ControlVol_GridShadow", ContVolSizeXY/2, ContVolSizeXY/2 , ImPlaneWidth/2);
218 fLogicControlVol_GridShadow =
220 (fSolidControlVol_GridShadow, fDefaultMaterial,
"ControlVol_GridShadow");
222 fPhysiControlVol_GridShadow =
224 ( 0,
G4ThreeVector(0,0,(250+300)*mm), fLogicControlVol_GridShadow,
"ControlVol_GridShadow",
225 fLogicWorld,
false, 0);
268 if (modelChoice==1)
fModel=1;
269 if (modelChoice==2)
fModel=2;
270 if (modelChoice==3)
fModel=3;
279 fGradientsInitialized=
true;
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4ChordFinder * GetChordFinder()
void SetProfile(G4int myProfile)
static constexpr double mm
CLHEP::Hep3Vector G4ThreeVector
G4bool SetDetectorField(G4Field *detectorField)
std::vector< ExP01TrackerHit * > a
int universe_mean_density
G4VPhysicalVolume * Construct()
void SetUserLimits(G4UserLimits *pULimits)
static G4MaterialTable * GetMaterialTable()
void SetGrid(G4int myGrid)
void SetChordFinder(G4ChordFinder *aChordFinder)
static G4NistManager * Instance()
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
virtual void ConstructSDandField()
G4GLOB_DLL std::ostream G4cout
static constexpr double m
const XML_Char int const XML_Char * value
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const
static G4RunManager * GetRunManager()
void SetDeltaIntersection(G4double valueDintersection)
void SetMinimumEpsilonStep(G4double newEpsMin)
void SetMaximumEpsilonStep(G4double newEpsMax)
void SetDeltaOneStep(G4double valueD1step)
G4PropagatorInField * GetPropagatorInField() const
static constexpr double micrometer
static constexpr double mole
void SetDeltaChord(G4double newval)