34 #include "G4Material.hh" 37 #include "G4LogicalVolume.hh" 38 #include "G4ThreeVector.hh" 39 #include "G4PVPlacement.hh" 40 #include "G4SystemOfUnits.hh" 50 : experimentalHall_log(0), tracker_log(0),
51 calorimeterBlock_log(0), calorimeterLayer_log(0),
52 experimentalHall_phys(0), calorimeterLayer_phys(0),
53 calorimeterBlock_phys(0), tracker_phys(0)
74 new G4Material(
"ArgonGas", z= 18., a= 39.95*g/mole, density= 1.782*mg/cm3);
77 new G4Material(
"Aluminum", z= 13., a= 26.98*g/mole, density= 2.7*g/cm3);
80 new G4Material(
"Lead", z= 82., a= 207.19*g/mole, density= 11.35*g/cm3);
87 G4double expHall_x = 3.0*m;
88 G4double expHall_y = 1.0*m;
89 G4double expHall_z = 1.0*m;
90 G4Box* experimentalHall_box
91 =
new G4Box(
"expHall_box",expHall_x,expHall_y,expHall_z);
93 Ar,
"expHall_log",0,0,0);
100 G4double innerRadiusOfTheTube = 0.*cm;
101 G4double outerRadiusOfTheTube = 60.*cm;
102 G4double hightOfTheTube = 50.*cm;
103 G4double startAngleOfTheTube = 0.*deg;
104 G4double spanningAngleOfTheTube = 360.*deg;
105 G4Tubs* tracker_tube =
new G4Tubs(
"tracker_tube",innerRadiusOfTheTube,
106 outerRadiusOfTheTube,hightOfTheTube,
108 spanningAngleOfTheTube);
109 tracker_log =
new G4LogicalVolume(tracker_tube,Al,
"tracker_log",0,0,0);
110 G4double trackerPos_x = -1.0*m;
111 G4double trackerPos_y = 0.*m;
112 G4double trackerPos_z = 0.*m;
114 G4ThreeVector(trackerPos_x,trackerPos_y,trackerPos_z),
119 G4double block_x = 1.0*m;
120 G4double block_y = 50.0*cm;
121 G4double block_z = 50.0*cm;
122 G4Box* calorimeterBlock_box =
new G4Box(
"calBlock_box",block_x,
125 Pb,
"caloBlock_log",0,0,0);
126 G4double blockPos_x = 1.0*m;
127 G4double blockPos_y = 0.0*m;
128 G4double blockPos_z = 0.0*m;
130 G4ThreeVector(blockPos_x,blockPos_y,blockPos_z),
135 G4double calo_x = 1.*cm;
136 G4double calo_y = 40.*cm;
137 G4double calo_z = 40.*cm;
138 G4Box* calorimeterLayer_box =
new G4Box(
"caloLayer_box",
139 calo_x,calo_y,calo_z);
141 Al,
"caloLayer_log",0,0,0);
142 for(G4int i=0;i<19;i++)
144 G4double caloPos_x = (i-9)*10.*cm;
145 G4double caloPos_y = 0.0*m;
146 G4double caloPos_z = 0.0*m;
148 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