12#ifndef BesTofConstruction_h
13#define BesTofConstruction_h 1
16#include "G4LogicalVolume.hh"
17#include "G4VPhysicalVolume.hh"
18#include "SimUtil/BesSubdetector.hh"
32 void getXYZ(
const G4RotationMatrix r,
double& a,
double& b,
double& c )
const;
38 G4LogicalVolume* logicalTof;
39 G4VPhysicalVolume* physicalTof;
41 G4LogicalVolume* logicalBrTof;
42 G4LogicalVolume* logicalEcTofWest;
43 G4LogicalVolume* logicalEcTofEast;
46 G4LogicalVolume* logicalScinBr1;
47 G4LogicalVolume* logicalScinBr2;
48 G4VPhysicalVolume* physicalScinBr1;
49 G4VPhysicalVolume* physicalScinBr2;
52 G4LogicalVolume* logicalAlBr1;
53 G4LogicalVolume* logicalAlBr2;
54 G4VPhysicalVolume* physicalAlBr1;
55 G4VPhysicalVolume* physicalAlBr2;
57 G4LogicalVolume* logicalPVFBr1;
58 G4LogicalVolume* logicalPVFBr2;
59 G4VPhysicalVolume* physicalPVFBr1;
60 G4VPhysicalVolume* physicalPVFBr2;
63 G4LogicalVolume* logicalBucketBr1;
64 G4LogicalVolume* logicalBucketBr2;
65 G4VPhysicalVolume* physicalBucket1Br1;
66 G4VPhysicalVolume* physicalBucket2Br1;
67 G4VPhysicalVolume* physicalBucket1Br2;
68 G4VPhysicalVolume* physicalBucket2Br2;
70 G4LogicalVolume* logicalScinEcWest;
71 G4LogicalVolume* logicalScinEcEast;
72 G4VPhysicalVolume* physicalScinEcWest;
73 G4VPhysicalVolume* physicalScinEcEast;
75 G4LogicalVolume* logicalAlEcWest;
76 G4LogicalVolume* logicalAlEcEast;
77 G4VPhysicalVolume* physicalAlEcWest;
78 G4VPhysicalVolume* physicalAlEcEast;
80 G4LogicalVolume* logicalPVFEcWest;
81 G4LogicalVolume* logicalPVFEcEast;
82 G4VPhysicalVolume* physicalPVFEcWest;
83 G4VPhysicalVolume* physicalPVFEcEast;
85 G4LogicalVolume* logicalBucketEc;
86 G4VPhysicalVolume* physicalBucketEc;
91 G4Material* PMTmaterial;
94 G4LogicalVolume* logical_gasLayer;
96 G4double containerOut_xdown;
97 G4double containerOut_xup;
98 G4double containerOut_y;
99 G4double containerOut_z;
100 G4double container_thickness;
101 G4double container_lowBorder;
103 G4double containerIn_xdown;
104 G4double containerIn_xup;
105 G4double containerIn_y;
106 G4double containerIn_z;
108 G4double upCover_xdown;
109 G4double upCover_xup;
112 G4double upCover_posz;
114 G4double lowCover1_xdown;
115 G4double lowCover1_xup;
116 G4double lowCover1_y;
117 G4double lowCover1_z;
118 G4double lowCover1_addx;
119 G4double lowCover1_addz;
120 G4double lowCover1_posz;
122 G4double lowCover2_xdown;
123 G4double lowCover2_xup;
124 G4double lowCover2_y;
125 G4double lowCover2_z;
126 G4double lowCover2_posz;
128 G4double upFEE_xdown;
132 G4double FEE_thickness;
135 G4double upFEE_pcb_xdown;
136 G4double upFEE_pcb_xup;
137 G4double upFEE_pcb_y;
138 G4double upFEE_pcb_z;
143 G4double sideFEE_posl;
145 G4double sideFEE_pcb_x;
146 G4double sideFEE_pcb_y;
147 G4double sideFEE_pcb_z;
149 G4double castingDie_x;
150 G4double castingDie_y;
151 G4double castingDie_z;
152 G4double castingDie_addr;
153 G4double castingDie_subtractx;
154 G4double castingDie_subtract_posz;
155 G4double castingDie_posz1;
156 G4double castingDie_posz2;
157 G4double chamber_in_posy;
158 G4double chamber_out_posy;
164 G4double bracket_posx;
166 G4double upStopBlock_x;
167 G4double upStopBlock_y;
168 G4double upStopBlock_z;
169 G4double upStopBlock_subtractr;
170 G4double upStopBlock_subtractposz;
172 G4double sideStopBlock_x;
173 G4double sideStopBlock_y;
174 G4double sideStopBlock_z;
175 G4double sideStopBlock_thickness;
176 G4double sideStopBlock_posz0;
177 G4double sideStopBlock_posz1;
179 G4double honeyComb_xdown;
180 G4double honeyComb_xup;
181 G4double honeyComb_y;
182 G4double honeyComb_z;
183 G4double honeyComb_surface_y;
184 G4double honeyComb_posz;
186 G4double tape_mrpc_xdown;
187 G4double tape_mrpc_xup;
188 G4double tape_mrpc_y;
189 G4double tape_mrpc_z;
190 G4double tape_mrpc_posz;
192 G4double pcbBoard_xdown;
193 G4double pcbBoard_xup;
194 G4double pcbBoard_y0;
195 G4double pcbBoard_y1;
198 G4double strip_x[12];
204 G4double mylar_xdown;
210 G4double glass0_xdown;
214 G4double glass0_posz;
216 G4double glass1_xdown;
220 G4double glass1_posz;
222 G4double gasLayer_xdown;
223 G4double gasLayer_xup;
226 G4double gasLayer_posz;
229 G4double endcap_length;
231 G4double startAngle_east;
232 G4double startAngle_west;
240 VEC angleOffset_east;
243 VEC angleOffset_west;
std::vector< double > VEC
virtual ~BesTofConstruction()
void ConstructEcTof_mrpc()
void getXYZ(const G4RotationMatrix r, double &a, double &b, double &c) const
void Construct(G4LogicalVolume *logicalBes)