71 :fExperimentalHall_log(0),
73 fExperimentalHall_phys(0),
75 fTheParameterisation(0),
77 fTheParticleBounds(0),
78 fTheFastShowerModel(0)
80 G4cout<<
"ExGflashDetectorConstruction::Detector constructor"<<
G4endl;
103 if ( fTheParameterisation )
delete fTheParameterisation;
104 if ( fTheParticleBounds )
delete fTheParticleBounds;
105 if ( fTheHMaker )
delete fTheHMaker;
106 if ( fTheFastShowerModel )
delete fTheFastShowerModel;
125 fExperimentalHall_x=1000.*
cm;
126 fExperimentalHall_y=1000.*
cm;
127 fExperimentalHall_z=1000.*
cm;
129 fExperimentalHall_box =
new G4Box(
"expHall_box",
132 fExperimentalHall_z);
143 fExperimentalHall_log,
160 fCrystalWidth = 3*
cm;
161 fCrystalLenght= 24*
cm;
162 fCalo_xside=(fCrystalWidth*fNbOfCrystals)+1*
cm;
163 fCalo_yside=(fCrystalWidth*fNbOfCrystals)+1*
cm;
164 fCalo_zside=fCrystalLenght;
185 fExperimentalHall_log,
189 for (
int i=0; i<fNbOfCrystals;i++)
192 for (
int j=0; j<fNbOfCrystals;j++)
195 fCrystal[
n]=
new G4Box(
"Crystal",
203 (j*fCrystalWidth)-135,0 );
213 G4cout <<
"There are " << fNbOfCrystals <<
214 " crystals per row in the calorimeter, so in total "<<
215 fNbOfCrystals*fNbOfCrystals <<
" crystals" <<
G4endl;
216 G4cout <<
"The have widthof " << fCrystalWidth /
cm <<
217 " cm and a lenght of " << fCrystalLenght /
cm
218 <<
" cm. The Material is "<< pbWO4 <<
G4endl;
225 for (
int i=0; i<100;i++)
234 return fExperimentalHall_phys;
247 for (
int i=0; i<100;i++)
259 G4cout <<
"Creating shower parameterization models" <<
G4endl;
void SetHitMaker(GFlashHitMaker &Maker)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
ExGflashDetectorConstruction()
CLHEP::Hep3Vector G4ThreeVector
void AddRootLogicalVolume(G4LogicalVolume *lv)
virtual G4VPhysicalVolume * Construct()
~ExGflashDetectorConstruction()
void SetParticleBounds(GFlashParticleBounds &SpecificBound)
static G4NistManager * Instance()
void SetRegion(G4Region *reg)
G4GLOB_DLL std::ostream G4cout
void AddNewDetector(G4VSensitiveDetector *aSD)
Definition of the ExGflashSensitiveDetector class.
static G4SDManager * GetSDMpointer()
static const G4VisAttributes Invisible
void SetParameterisation(GVFlashShowerParameterisation &DP)
Definition of the ExGflashDetectorConstruction class.
virtual void ConstructSDandField()
void SetVisAttributes(const G4VisAttributes *pVA)
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)