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"
60 #include "ExN04DetectorParameterDef.icc"
79 void ExN04DetectorConstruction::DefineMaterials()
106 Scinti =
new G4Material(
"Scintillator", density= 1.032*
g/
cm3, nel=2);
117 static G4bool fieldIsInitialized =
false;
118 if(!fieldIsInitialized)
126 fieldIsInitialized =
true;
135 G4Box * experimentalHall_box
136 =
new G4Box(
"expHall_b",expHall_x,expHall_y,expHall_z);
146 =
new G4Tubs(
"trkTubs_tubs",trkTubs_rmin,trkTubs_rmax,trkTubs_dz,
147 trkTubs_sphi,trkTubs_dphi);
152 experimentalHall_log,
false,0);
161 =
new G4Tubs(
"trackerLayer_tubs",trkTubs_rmin,trkTubs_rmax,trkTubs_dz,
162 trkTubs_sphi,trkTubs_dphi);
170 kXAxis, notrkLayers, trackerParam);
178 =
new G4Tubs(
"calorimeter_tubs",caloTubs_rmin,caloTubs_rmax,
179 caloTubs_dz,caloTubs_sphi,caloTubs_dphi);
184 experimentalHall_log,
false,0);
194 =
new G4Tubs(
"caloLayer_tubs",caloRing_rmin,caloRing_rmax,
195 caloRing_dz,caloRing_sphi,caloRing_dphi);
203 kXAxis, nocaloLayers, calorimeterParam);
211 =
new G4Box(
"muoncounter_box",muBox_width,muBox_thick,
216 for(
int i=0; i<nomucounter ; i++)
219 phi = 360.*
deg/nomucounter*i;
220 x = muBox_radius*std::sin(phi);
221 y = muBox_radius*std::cos(phi);
227 muoncounter_log,
"muoncounter_P",
228 experimentalHall_log,
false,i);
241 G4String trackerSDname =
"/mydet/tracker";
246 G4String calorimeterSDname =
"/mydet/calorimeter";
248 G4String ROgeometryName =
"CalorimeterROGeom";
251 calRO->
SetName(ROgeometryName);
256 G4String muonSDname =
"/mydet/muon";
265 return experimentalHall_phys;