54 static const G4double RIN_BARREL_CAL= 2.*
m;
55 static const G4double ROUT_BARREL_CAL= 3.*
m;
56 static const G4double DZ_BARREL_CAL= 5.*
m;
58 static const G4double RIN_ENDCAP_CAL= 1.*
m;
59 static const G4double ROUT_ENDCAP_CAL= 3.*
m;
60 static const G4double DZ_ENDCAP_CAL= 0.5*
m;
63 static const G4double RIN_BARREL_MUON= 4.3*
m;
64 static const G4double ROUT_BARREL_MUON= 4.5*
m;
65 static const G4double DX_BARREL_MUON= RIN_BARREL_MUON*std::cos(67.5*
deg)-5.*
cm;
67 static const G4double DZ_BARREL_MUON= 7.*
m;
69 static const G4double RIN_ENDCAP_MUON= 1.*
m;
70 static const G4double ROUT_ENDCAP_MUON= 4.5*
m;
106 density= 1.29e-03*
g/
cm3;
112 density= 11.35*
g/
cm3;
116 density= 1.782e-03*
g/
cm3;
119 density= 1.032*
g/
cm3;
129 new G4Tubs(
"EXP_HALL", 0., R_EXPHALL, DZ_EXPHALL, 0., 360.*
deg);
138 expHallLV-> SetVisAttributes(expHallVisAtt);
141 expHallLV, 0,
FALSE, 0);
149 new G4Tubs(
"BARREL_CAL", RIN_BARREL_CAL, ROUT_BARREL_CAL,
150 DZ_BARREL_CAL, 0., 360.*
deg);
153 new G4Tubs(
"ENDCAP_CAL", RIN_ENDCAP_CAL, ROUT_ENDCAP_CAL,
154 DZ_ENDCAP_CAL, 0., 360.*
deg);
164 barrelCalLV-> SetVisAttributes(calVisAtt);
165 endcapCalLV-> SetVisAttributes(calVisAtt);
169 barrelCalLV, expHall,
FALSE, 0);
174 endcapCalLV, expHall,
FALSE, 0);
178 endcapCalLV, expHall,
FALSE, 1);
181 G4Box* barrelMuonSolid=
new G4Box(
"BARREL_MUON", DX_BARREL_MUON,
182 DY_BARREL_MUON, DZ_BARREL_MUON);
184 new G4Tubs(
"ENDCAP_MUON", RIN_ENDCAP_MUON, ROUT_ENDCAP_MUON,
185 DZ_ENDCAP_MUON, 0., 360.*
deg);
196 barrelMuonLV-> SetVisAttributes(muonVisAtt);
197 endcapMuonLV-> SetVisAttributes(muonVisAtt);
200 G4ThreeVector posM(RIN_BARREL_MUON+DY_BARREL_MUON/2., 0., 0.);
204 for (
G4int k=0; k<8; k++) {
207 barrelMuonLV, expHall,
FALSE, k);
215 endcapMuonLV, expHall,
FALSE, 0);
219 endcapMuonLV, expHall,
FALSE, 1);
227 SDman-> AddNewDetector(muonSD);
235 fieldMgr-> SetDetectorField(myfield);
236 fieldMgr-> CreateChordFinder(myfield);
H02DetectorConstruction()
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
virtual G4VPhysicalVolume * Construct()
Definition of the H02Field class.
Hep3Vector & rotateZ(double)
Definition of the H02DetectorConstruction class.
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static G4TransportationManager * GetTransportationManager()
static G4SDManager * GetSDMpointer()
~H02DetectorConstruction()
HepRotation & rotateZ(double delta)
Definition of the H02MuonSD class.