10#ifndef BesEmcGeometry_h
11#define BesEmcGeometry_h 1
14#include "G4ThreeVector.hh"
17class G4VPhysicalVolume;
38 inline void SetBSCDz(G4double val){ BSCDz=val;};
66 G4ThreeVector
GetCasingThickness() {
return G4ThreeVector(fTyvekThickness,fAlThickness,fMylarThickness);};
95 G4double BSCCryLength;
96 G4double BSCCryLength1;
100 G4double BSCPosition0;
101 G4double BSCPosition1;
111 G4double BSCAngleRotat;
122 G4double zHalfLength[150];
123 G4double thetaAxis[150];
124 G4double phiAxis[150];
125 G4double yHalfLength1[150];
126 G4double xHalfLength1[150];
127 G4double xHalfLength2[150];
128 G4double tanAlpha1[150];
129 G4double yHalfLength2[150];
130 G4double xHalfLength3[150];
131 G4double xHalfLength4[150];
132 G4double tanAlpha2[150];
133 G4double thetaPosition[150];
134 G4double xPosition[150];
135 G4double yPosition[150];
136 G4double zPosition[150];
138 G4VPhysicalVolume* physiBSCCrystal[50];
140 G4double fTyvekThickness;
141 G4double fAlThickness;
142 G4double fMylarThickness;
146 G4double rearBoxLength;
148 G4double rearBoxPosX[150];
149 G4double rearBoxPosY[150];
150 G4double rearBoxPosZ[150];
153 G4double rearCasingThickness;
156 G4double orgGlassLengthX;
157 G4double orgGlassLengthY;
158 G4double orgGlassLengthZ;
170 G4double PABoxThickness;
173 G4double HangingPlateDz;
175 G4double OCGirderRmin1[22];
176 G4double OCGirderRmin2[22];
177 G4double OCGirderDz[22];
178 G4double OCGirderAngle;
179 G4double OCGirderPosZ[22];
182 G4double cableLength[22];
184 G4double cablePosX[22];
185 G4double cablePosY[22];
186 G4double cablePosZ[22];
189 G4double waterPipeDr;
190 G4double waterPipeThickness;
194 G4double SPBarThickness;
195 G4double SPBarThickness1;
198 G4double RFBarThickness;
200 G4double RFBarHoleDphi;
201 G4double RFBarHoleDz;
206 G4double EndRingRmin;
209 G4double TaperRingThickness1;
210 G4double TaperRingThickness2;
211 G4double TaperRingThickness3;
212 G4double TaperRingTheta;
213 G4double TaperRingRmin1;
214 G4double TaperRingRmin2;
215 G4double TaperRingDr;
216 G4double TaperRingDz;
217 G4double TaperRingInnerLength;
218 G4double TaperRingOuterLength;
219 G4double TaperRingOuterLength1;
G4double GetRearBoxPosY(G4int NbCrystal)
void ComputeEMCParameters()
void SetBSCRmin(G4double val)
G4double GetBSCCryLength()
G4double GetThetaPosition(G4int NbCrystal)
void SetBSCNbPhi(G4int val)
G4double GetRearBoxPosTheta(G4int NbCrystal)
void SetBSCCrystalLength1(G4double val)
G4double GetYPosition(G4int NbCrystal)
G4double GetZHalfLength(G4int NbCrystal)
G4double GetBSCPositon0()
void SetBSCAngleRotat(G4double val)
G4double GetBSCCryLength1()
G4double GetBSCAngleRotat()
G4ThreeVector GetCasingThickness()
G4double GetXHalfLength2(G4int NbCrystal)
G4double GetTanAlpha2(G4int NbCrystal)
void SetBSCNbTheta(G4int val)
G4double GetTanAlpha1(G4int NbCrystal)
void SetBSCYFront0(G4double val)
G4double GetYHalfLength1(G4int NbCrystal)
void SetVerboseLevel(G4int val)
G4double GetThetaAxis(G4int NbCrystal)
G4double GetXHalfLength4(G4int NbCrystal)
G4double GetYHalfLength2(G4int NbCrystal)
G4VPhysicalVolume * GetPhysiBSCCrystal(G4int NbCrystal)
G4double GetRearBoxLength(G4int NbCrystal)
G4double GetRearBoxPosZ(G4int NbCrystal)
void SetBSCYFront(G4double val)
void SetBSCPosition0(G4double val)
G4double GetXPosition(G4int NbCrystal)
G4double GetZPosition(G4int NbCrystal)
void SetBSCDz(G4double val)
G4double GetRearBoxDz(G4int NbCrystal)
friend class EmcGdmlWriter
void SetBSCPosition1(G4double val)
void SetCasingThickness(G4ThreeVector)
G4double GetXHalfLength1(G4int NbCrystal)
G4double GetPhiAxis(G4int NbCrystal)
void PrintEMCParameters()
G4double GetXHalfLength3(G4int NbCrystal)
void SetBSCCrystalLength(G4double val)
G4double GetRearBoxPosX(G4int NbCrystal)
G4double GetBSCPositon1()