92 void ThreeVectorTrans( G4ThreeVector fPnt[8],
double x[8],
double y[8],
double z[8] );
93 void TransformToArb8(
const G4ThreeVector fPnt[8], G4ThreeVector newfPnt[8],
94 G4ThreeVector ¢er, G4ThreeVector &rotAngle );
110 const G4VPhysicalVolume*
GetEMC() {
return physiEMC; }
111 const G4VPhysicalVolume*
GetBSCPhi() {
return physiBSCPhi;};
121 G4Material* fCrystalMaterial;
124 G4int thetaNbCrystals;
127 G4Material* fCasingMaterial;
129 G4Material* defaultMaterial;
133 G4UnionSolid* solidEMC;
134 G4LogicalVolume* logicEMC;
135 G4VPhysicalVolume* physiEMC;
137 G4SubtractionSolid* solidBSCWorld;
138 G4LogicalVolume* logicBSCWorld;
139 G4VPhysicalVolume* physiBSCWorld;
141 G4Tubs* solidBSCPhiTub;
142 G4Cons* solidConsPhi;
143 G4SubtractionSolid* solidBSCPhi1;
144 G4SubtractionSolid* solidBSCPhi;
145 G4LogicalVolume* logicBSCPhi;
146 G4VPhysicalVolume* physiBSCPhi;
148 G4Trap* solidBSCTheta;
149 G4LogicalVolume* logicBSCTheta;
150 G4VPhysicalVolume* physiBSCTheta;
152 G4Trap* solidBSCCrystal;
153 G4LogicalVolume* logicBSCCrystal;
154 G4VPhysicalVolume* physiBSCCrystal;
156 G4UniformMagField* magField;
162 G4VPVParameterisation* crystalParam;
168 G4LogicalVolume* logicEnd;
169 G4VPhysicalVolume* physiEnd;
172 G4LogicalVolume* logicEndPhi;
173 G4VPhysicalVolume* physiEndPhi;
175 G4IrregBox* solidEndCasing;
176 G4LogicalVolume* logicEndCasing;
177 G4VPhysicalVolume* physiEndCasing;
179 G4IrregBox* solidEndCrystal;
180 G4LogicalVolume* logicEndCrystal;
181 G4VPhysicalVolume* physiEndCrystal;
187 G4LogicalVolume* logicRear;
188 G4VPhysicalVolume* physiRear;
190 G4Box* solidCasingBox;
192 G4SubtractionSolid* solidRearCasing;
193 G4LogicalVolume* logicRearCasing;
194 G4VPhysicalVolume* physiRearCasing;
196 G4Box* solidOrgGlass;
197 G4LogicalVolume* logicOrgGlass;
198 G4VPhysicalVolume* physiOrgGlass;
201 G4LogicalVolume* logicPD;
202 G4VPhysicalVolume* physiPD;
205 G4SubtractionSolid* solidAlPlate;
206 G4LogicalVolume* logicAlPlate;
207 G4VPhysicalVolume* physiAlPlate;
209 G4Box* solidPreAmpBox;
210 G4LogicalVolume* logicPreAmpBox;
211 G4VPhysicalVolume* physiPreAmpBox;
213 G4Box* solidAirInPABox;
214 G4LogicalVolume* logicAirInPABox;
215 G4VPhysicalVolume* physiAirInPABox;
217 G4Box* solidHangingPlate;
218 G4LogicalVolume* logicHangingPlate;
219 G4VPhysicalVolume* physiHangingPlate;
221 G4Cons* solidOCGirder;
222 G4LogicalVolume* logicOCGirder;
223 G4VPhysicalVolume* physiOCGirder;
226 G4LogicalVolume* logicCable;
227 G4VPhysicalVolume* physiCable;
229 G4Tubs* solidWaterPipe;
230 G4LogicalVolume* logicWaterPipe;
231 G4VPhysicalVolume* physiWaterPipe;
235 G4Tubs* solidSupportBar;
236 G4LogicalVolume* logicSupportBar;
237 G4VPhysicalVolume* physiSupportBar;
239 G4Tubs* solidSupportBar1;
240 G4LogicalVolume* logicSupportBar1;
241 G4VPhysicalVolume* physiSupportBar1;
243 G4Tubs* solidEndRing;
244 G4LogicalVolume* logicEndRing;
245 G4VPhysicalVolume* physiEndRing;
248 G4LogicalVolume* logicGear;
249 G4VPhysicalVolume* physiGear;
251 G4Tubs* solidTaperRing1;
252 G4LogicalVolume* logicTaperRing1;
253 G4VPhysicalVolume* physiTaperRing1;
255 G4Cons* solidTaperRing2;
256 G4LogicalVolume* logicTaperRing2;
257 G4VPhysicalVolume* physiTaperRing2;
259 G4Cons* solidTaperRing3;
260 G4LogicalVolume* logicTaperRing3;
261 G4VPhysicalVolume* physiTaperRing3;
264 G4Material* rearCasingMaterial;
265 G4Material* organicGlass;
266 G4Material* stainlessSteel;
268 G4Material* waterPipe;
279 void DefineMaterials();
280 void ComputeEMCParameters();