33 #include "G4Material.hh" 36 #include "G4LogicalVolume.hh" 37 #include "G4ThreeVector.hh" 38 #include "G4PVPlacement.hh" 39 #include "G4SystemOfUnits.hh" 49 : experimentalHall_log(0), tracker_log(0),
50 calorimeterBlock_log(0), calorimeterLayer_log(0),
51 experimentalHall_phys(0), calorimeterLayer_phys(0),
52 calorimeterBlock_phys(0), tracker_phys(0)
73 new G4Material(
"ArgonGas", z= 18., a= 39.95*g/mole, density= 1.782*mg/cm3);
76 new G4Material(
"Aluminum", z= 13., a= 26.98*g/mole, density= 2.7*g/cm3);
79 new G4Material(
"Lead", z= 82., a= 207.19*g/mole, density= 11.35*g/cm3);
86 G4double expHall_x = 3.0*m;
87 G4double expHall_y = 1.0*m;
88 G4double expHall_z = 1.0*m;
89 G4Box* experimentalHall_box
90 =
new G4Box(
"expHall_box",expHall_x,expHall_y,expHall_z);
92 Ar,
"expHall_log",0,0,0);
99 G4double innerRadiusOfTheTube = 0.*cm;
100 G4double outerRadiusOfTheTube = 60.*cm;
101 G4double hightOfTheTube = 50.*cm;
102 G4double startAngleOfTheTube = 0.*deg;
103 G4double spanningAngleOfTheTube = 360.*deg;
104 G4Tubs* tracker_tube =
new G4Tubs(
"tracker_tube",innerRadiusOfTheTube,
105 outerRadiusOfTheTube,hightOfTheTube,
107 spanningAngleOfTheTube);
108 tracker_log =
new G4LogicalVolume(tracker_tube,Al,
"tracker_log",0,0,0);
109 G4double trackerPos_x = -1.0*m;
110 G4double trackerPos_y = 0.*m;
111 G4double trackerPos_z = 0.*m;
113 G4ThreeVector(trackerPos_x,trackerPos_y,trackerPos_z),
118 G4double block_x = 1.0*m;
119 G4double block_y = 50.0*cm;
120 G4double block_z = 50.0*cm;
121 G4Box* calorimeterBlock_box =
new G4Box(
"calBlock_box",block_x,
124 Pb,
"caloBlock_log",0,0,0);
125 G4double blockPos_x = 1.0*m;
126 G4double blockPos_y = 0.0*m;
127 G4double blockPos_z = 0.0*m;
129 G4ThreeVector(blockPos_x,blockPos_y,blockPos_z),
134 G4double calo_x = 1.*cm;
135 G4double calo_y = 40.*cm;
136 G4double calo_z = 40.*cm;
137 G4Box* calorimeterLayer_box =
new G4Box(
"caloLayer_box",
138 calo_x,calo_y,calo_z);
140 Al,
"caloLayer_log",0,0,0);
141 for(G4int i=0;i<19;i++)
143 G4double caloPos_x = (i-9)*10.*cm;
144 G4double caloPos_y = 0.0*m;
145 G4double caloPos_z = 0.0*m;
147 G4ThreeVector(caloPos_x,caloPos_y,caloPos_z),
G4LogicalVolume * calorimeterBlock_log
G4LogicalVolume * tracker_log
G4VPhysicalVolume * calorimeterLayer_phys
G4VPhysicalVolume * Construct()
~ExN01DetectorConstruction()
ExN01DetectorConstruction()
G4VPhysicalVolume * calorimeterBlock_phys
G4VPhysicalVolume * experimentalHall_phys
G4LogicalVolume * calorimeterLayer_log
G4VPhysicalVolume * tracker_phys
G4LogicalVolume * experimentalHall_log