30 #include "ExN04DetectorConstruction.hh"
31 #include "ExN04TrackerSD.hh"
32 #include "ExN04CalorimeterSD.hh"
33 #include "ExN04CalorimeterROGeometry.hh"
34 #include "ExN04MuonSD.hh"
35 #include "ExN04TrackerParametrisation.hh"
36 #include "ExN04CalorimeterParametrisation.hh"
37 #include "ExN04Field.hh"
61 #include "ExN04DetectorParameterDef.icc"
69 void ExN04DetectorConstruction::DefineMaterials()
96 Scinti =
new G4Material(
"Scintillator", density= 1.032*
g/
cm3, nel=2);
107 static G4bool fieldIsInitialized =
false;
108 if(!fieldIsInitialized)
116 fieldIsInitialized =
true;
125 G4Box * experimentalHall_box
126 =
new G4Box(
"expHall_b",expHall_x,expHall_y,expHall_z);
139 =
new G4Tubs(
"trkTubs_tubs",trkTubs_rmin,trkTubs_rmax,trkTubs_dz,
140 trkTubs_sphi,trkTubs_dphi);
145 experimentalHall_log,
false,0);
155 =
new G4Tubs(
"trackerLayer_tubs",trkTubs_rmin,trkTubs_rmax,trkTubs_dz,
156 trkTubs_sphi,trkTubs_dphi);
164 kXAxis, notrkLayers, trackerParam);
172 =
new G4Tubs(
"calorimeter_tubs",caloTubs_rmin,caloTubs_rmax,
173 caloTubs_dz,caloTubs_sphi,caloTubs_dphi);
178 experimentalHall_log,
false,0);
188 =
new G4Tubs(
"caloLayer_tubs",caloRing_rmin,caloRing_rmax,
189 caloRing_dz,caloRing_sphi,caloRing_dphi);
197 kXAxis, nocaloLayers, calorimeterParam);
206 =
new G4Box(
"muoncounter_box",muBox_width,muBox_thick,
211 for(
int i=0; i<nomucounter ; i++)
214 phi = 360.*
deg/nomucounter*i;
215 x = muBox_radius*std::sin(phi);
216 y = muBox_radius*std::cos(phi);
222 muoncounter_log,
"muoncounter_P",
223 experimentalHall_log,
false,i);
236 G4String trackerSDname =
"/mydet/tracker";
241 G4String calorimeterSDname =
"/mydet/calorimeter";
243 G4String ROgeometryName =
"CalorimeterROGeom";
250 G4String muonSDname =
"/mydet/muon";
259 return experimentalHall_phys;