#include <BesEmcGeometry.hh>
Public Member Functions | |
BesEmcGeometry () | |
~BesEmcGeometry () | |
void | ReadEMCParameters () |
void | ComputeEMCParameters () |
void | ModifyForCasing () |
void | PrintEMCParameters () |
void | SetVerboseLevel (G4int val) |
void | SetBSCRmin (G4double val) |
void | SetBSCDz (G4double val) |
void | SetBSCNbPhi (G4int val) |
void | SetBSCNbTheta (G4int val) |
void | SetBSCCrystalLength (G4double val) |
void | SetBSCCrystalLength1 (G4double val) |
void | SetBSCYFront0 (G4double val) |
void | SetBSCYFront (G4double val) |
void | SetBSCPosition0 (G4double val) |
void | SetBSCPosition1 (G4double val) |
void | SetBSCAngleRotat (G4double val) |
void | SetCasingThickness (G4ThreeVector) |
G4int | GetVerboseLevel () |
G4double | GetBSCRmin () |
G4double | GetBSCDz () |
G4int | GetBSCNbPhi () |
G4int | GetBSCNbTheta () |
G4double | GetBSCCryLength () |
G4double | GetBSCCryLength1 () |
G4double | GetBSCYFront () |
G4double | GetBSCYFront0 () |
G4double | GetBSCPositon0 () |
G4double | GetBSCPositon1 () |
G4double | GetBSCAngleRotat () |
G4ThreeVector | GetCasingThickness () |
G4double | GetXPosition (G4int NbCrystal) |
G4double | GetYPosition (G4int NbCrystal) |
G4double | GetZPosition (G4int NbCrystal) |
G4double | GetThetaPosition (G4int NbCrystal) |
G4double | GetZHalfLength (G4int NbCrystal) |
G4double | GetThetaAxis (G4int NbCrystal) |
G4double | GetPhiAxis (G4int NbCrystal) |
G4double | GetYHalfLength1 (G4int NbCrystal) |
G4double | GetXHalfLength1 (G4int NbCrystal) |
G4double | GetXHalfLength2 (G4int NbCrystal) |
G4double | GetTanAlpha1 (G4int NbCrystal) |
G4double | GetYHalfLength2 (G4int NbCrystal) |
G4double | GetXHalfLength3 (G4int NbCrystal) |
G4double | GetXHalfLength4 (G4int NbCrystal) |
G4double | GetTanAlpha2 (G4int NbCrystal) |
G4VPhysicalVolume * | GetPhysiBSCCrystal (G4int NbCrystal) |
G4double | GetRearBoxLength (G4int NbCrystal) |
G4double | GetRearBoxDz (G4int NbCrystal) |
G4double | GetRearBoxPosX (G4int NbCrystal) |
G4double | GetRearBoxPosY (G4int NbCrystal) |
G4double | GetRearBoxPosZ (G4int NbCrystal) |
G4double | GetRearBoxPosTheta (G4int NbCrystal) |
Private Attributes | |
G4int | verboseLevel |
G4double | BSCCryLength |
G4double | BSCCryLength1 |
G4double | BSCYFront0 |
G4double | BSCYFront |
G4double | BSCYFront1 |
G4double | BSCPosition0 |
G4double | BSCPosition1 |
G4int | BSCNbPhi |
G4int | BSCNbTheta |
G4double | BSCPhiRmin |
G4double | BSCPhiRmax |
G4double | BSCPhiDz |
G4double | BSCPhiSphi |
G4double | BSCPhiDphi |
G4double | BSCAngleRotat |
G4double | BSCRmin |
G4double | BSCRmax |
G4double | BSCDz |
G4double | BSCRmin1 |
G4double | BSCRmax1 |
G4double | BSCRmin2 |
G4double | BSCRmax2 |
G4double | BSCDz1 |
G4double | zHalfLength [150] |
G4double | thetaAxis [150] |
G4double | phiAxis [150] |
G4double | yHalfLength1 [150] |
G4double | xHalfLength1 [150] |
G4double | xHalfLength2 [150] |
G4double | tanAlpha1 [150] |
G4double | yHalfLength2 [150] |
G4double | xHalfLength3 [150] |
G4double | xHalfLength4 [150] |
G4double | tanAlpha2 [150] |
G4double | thetaPosition [150] |
G4double | xPosition [150] |
G4double | yPosition [150] |
G4double | zPosition [150] |
G4VPhysicalVolume * | physiBSCCrystal [50] |
G4double | fTyvekThickness |
G4double | fAlThickness |
G4double | fMylarThickness |
G4double | rearBoxLength |
G4double | rearBoxDz |
G4double | rearBoxPosX [150] |
G4double | rearBoxPosY [150] |
G4double | rearBoxPosZ [150] |
G4double | rearCasingThickness |
G4double | orgGlassLengthX |
G4double | orgGlassLengthY |
G4double | orgGlassLengthZ |
G4double | PDLengthX |
G4double | PDLengthY |
G4double | PDLengthZ |
G4double | AlPlateDz |
G4double | PABoxDz |
G4double | PABoxThickness |
G4double | HangingPlateDz |
G4double | OCGirderRmin1 [22] |
G4double | OCGirderRmin2 [22] |
G4double | OCGirderDz [22] |
G4double | OCGirderAngle |
G4double | OCGirderPosZ [22] |
G4double | cableLength [22] |
G4double | cableDr |
G4double | cablePosX [22] |
G4double | cablePosY [22] |
G4double | cablePosZ [22] |
G4double | waterPipeDr |
G4double | waterPipeThickness |
G4double | SPBarThickness |
G4double | SPBarThickness1 |
G4double | SPBarwidth |
G4double | SPBarDphi |
G4double | RFBarThickness |
G4int | RFBarHoleNb |
G4double | RFBarHoleDphi |
G4double | RFBarHoleDz |
G4double | EndRingDz |
G4double | EndRingDr |
G4double | EndRingRmin |
G4double | TaperRingThickness1 |
G4double | TaperRingThickness2 |
G4double | TaperRingThickness3 |
G4double | TaperRingTheta |
G4double | TaperRingRmin1 |
G4double | TaperRingRmin2 |
G4double | TaperRingDr |
G4double | TaperRingDz |
G4double | TaperRingInnerLength |
G4double | TaperRingOuterLength |
G4double | TaperRingOuterLength1 |
Friends | |
class | BesEmcConstruction |
class | EmcGdmlWriter |
Definition at line 20 of file BesEmcGeometry.hh.
BesEmcGeometry::BesEmcGeometry | ( | ) |
Definition at line 16 of file BesEmcGeometry.cc.
References verboseLevel.
00017 { 00018 verboseLevel = 0; 00019 }
BesEmcGeometry::~BesEmcGeometry | ( | ) |
void BesEmcGeometry::ComputeEMCParameters | ( | ) |
Definition at line 120 of file BesEmcGeometry.cc.
References BSCAngleRotat, BSCCryLength, BSCCryLength1, BSCDz, BSCNbPhi, BSCNbTheta, BSCPhiDphi, BSCPhiDz, BSCPhiRmax, BSCPhiRmin, BSCPhiSphi, BSCPosition0, BSCPosition1, BSCRmax, BSCRmax1, BSCRmax2, BSCRmin, BSCYFront, BSCYFront0, BSCYFront1, cableDr, cableLength, cablePosX, cablePosY, cablePosZ, cos(), genRecEmupikp::i, OCGirderDz, OCGirderPosZ, OCGirderRmin1, OCGirderRmin2, phiAxis, ReadEMCParameters(), rearBoxDz, rearBoxLength, rearBoxPosX, rearBoxPosY, rearBoxPosZ, sin(), SPBarDphi, SPBarwidth, tan(), tanAlpha1, tanAlpha2, TaperRingDr, TaperRingDz, TaperRingOuterLength, TaperRingOuterLength1, TaperRingRmin1, TaperRingRmin2, TaperRingTheta, TaperRingThickness1, TaperRingThickness2, TaperRingThickness3, theta0, thetaAxis, thetaPosition, verboseLevel, xHalfLength1, xHalfLength2, xHalfLength3, xHalfLength4, xPosition, yHalfLength1, yHalfLength2, yPosition, zHalfLength, and zPosition.
Referenced by BesEmcConstruction::Construct().
00121 { 00122 ReadEMCParameters(); 00123 00124 // Compute derived parameters of the calorimeter 00125 G4double theta0; 00126 G4int i; 00127 //for debug 00128 //G4Exception("BesEmcGeometry::ComputeEMCParameters() starting......."); 00129 // 00130 //support frame 00131 // 00132 const G4double delta=1.*mm; //for opening-cut girder 00133 TaperRingRmin1 = BSCRmax1-TaperRingThickness1; 00134 TaperRingRmin2 = TaperRingRmin1+TaperRingDz*tan(TaperRingTheta); 00135 TaperRingDr = TaperRingThickness2/cos(TaperRingTheta); 00136 TaperRingOuterLength1 = TaperRingOuterLength+TaperRingThickness3*tan(TaperRingTheta); 00137 00138 BSCRmax2 = TaperRingRmin2+TaperRingDr-TaperRingThickness3*tan(TaperRingTheta); 00139 BSCRmax = BSCRmin+33.8*cm; 00140 BSCPhiDphi= 360.*deg/BSCNbPhi; 00141 BSCPhiSphi= -BSCPhiDphi/2.; 00142 BSCPhiDz = BSCDz; 00143 BSCPhiRmax= BSCRmax-0.5*cm; 00144 BSCPhiRmin= BSCRmin/sin(90.*deg+BSCPhiDphi/2.) 00145 *sin(90.*deg+BSCPhiDphi/2.-BSCAngleRotat); //Rmin after rotate 00146 SPBarDphi=2*atan(SPBarwidth/(2*BSCRmax)); 00147 00148 //crystal No.1(from z=0 to big) 00149 zHalfLength[0] = BSCCryLength/2.; 00150 yHalfLength1[0]= BSCYFront0/2.; 00151 xHalfLength1[0]= BSCPhiRmin*tan(BSCPhiDphi)/2.; 00152 xHalfLength2[0]= xHalfLength1[0]; 00153 00154 //there are 3 choices of rminprojected 00155 G4double rminprojected=BSCRmin*cos(BSCAngleRotat); 00156 rminprojected=BSCRmin;//according to hardware design 00157 //rminprojected=BSCPhiRmin; 00158 yHalfLength2[0]= yHalfLength1[0] 00159 +(BSCYFront0-BSCPosition0)/rminprojected*BSCCryLength/2.; 00160 xHalfLength3[0]= xHalfLength1[0]*(BSCPhiRmin+BSCCryLength)/BSCPhiRmin; 00161 xHalfLength4[0]= xHalfLength2[0]*(BSCPhiRmin+BSCCryLength)/BSCPhiRmin; 00162 00163 thetaPosition[0]= 90.*deg; 00164 xPosition[0] = BSCPhiRmin+BSCCryLength/2.; 00165 yPosition[0] = 00166 -(xHalfLength1[0]+xHalfLength3[0]+xHalfLength2[0]+xHalfLength4[0])/4.; 00167 zPosition[0] = (yHalfLength1[0]+yHalfLength2[0])/2.; 00168 00169 theta0= 90.*deg-atan((BSCYFront0-BSCPosition0)/rminprojected); 00170 if(verboseLevel>1) 00171 { 00172 G4cout << "------------------------------------>1"<< G4endl 00173 << "The direction of crystal is:" 00174 << theta0/deg <<"(deg)."<< G4endl; 00175 } 00176 00177 rearBoxPosX[0] = xPosition[0]+BSCCryLength/2.+rearBoxDz/2.; 00178 rearBoxPosY[0] = -(xHalfLength3[0]+xHalfLength4[0])/2.; 00179 rearBoxPosZ[0] = yHalfLength2[0]; 00180 00181 OCGirderRmin1[0] = rearBoxPosX[0]+rearBoxDz/2.+delta; 00182 OCGirderRmin2[0] = rearBoxPosX[0]+rearBoxDz/2.+delta; 00183 OCGirderDz[0] = rearBoxLength; 00184 OCGirderPosZ[0] = rearBoxLength/2; 00185 00186 cableLength[0] = BSCDz-rearBoxPosZ[0]; 00187 cablePosX[0] = BSCPhiRmax-cableDr-2.*mm; 00188 cablePosY[0] = rearBoxPosY[0]-3*cableDr; 00189 cablePosZ[0] = BSCDz-cableLength[0]/2; 00190 00191 //crystal No.2 00192 zHalfLength[1]= BSCCryLength/2.; 00193 yHalfLength1[1]= BSCYFront0/2.; 00194 G4double deltaR= BSCYFront0*cos(theta0); 00195 xHalfLength1[1]= xHalfLength1[0]; 00196 xHalfLength2[1]= xHalfLength1[1]*(BSCPhiRmin+deltaR)/BSCPhiRmin; 00197 yHalfLength2[1]= yHalfLength1[1] 00198 +tan(theta0-atan(rminprojected/(BSCYFront0*(1.+1./sin(theta0))- 00199 BSCPosition1)))*BSCCryLength/2.; 00200 deltaR=deltaR+BSCCryLength*sin(theta0); 00201 xHalfLength4[1]= xHalfLength1[1]*(BSCPhiRmin+deltaR)/BSCPhiRmin; 00202 deltaR=deltaR-yHalfLength2[1]*2.*cos(theta0); 00203 xHalfLength3[1]= xHalfLength1[1]*(BSCPhiRmin+deltaR)/BSCPhiRmin; 00204 00205 thetaPosition[1]= theta0; 00206 xPosition[1] = BSCPhiRmin+BSCCryLength/2.*sin(theta0) 00207 + (3.*yHalfLength1[1]-yHalfLength2[1])/2.*cos(theta0); 00208 yPosition[1] = 00209 -(xHalfLength1[1]+xHalfLength3[1]+xHalfLength2[1]+xHalfLength4[1])/4.; 00210 zPosition[1] = yHalfLength1[0]*2. 00211 + (yHalfLength1[1]*2./tan(theta0)+BSCCryLength/2.)*cos(theta0) 00212 + (yHalfLength1[1]+yHalfLength2[1])/2.*sin(theta0); 00213 00214 rearBoxPosX[1] = xPosition[1]+(BSCCryLength/2.+rearBoxDz/2.)*sin(theta0); 00215 rearBoxPosY[1] = -(xHalfLength3[1]+xHalfLength4[1])/2.; 00216 rearBoxPosZ[1] = zPosition[1]+(BSCCryLength/2.+rearBoxDz/2.)*cos(theta0); 00217 00218 OCGirderRmin1[1] = rearBoxPosX[1]+rearBoxDz*sin(theta0)/2.+rearBoxLength*cos(theta0)/2+delta; 00219 OCGirderRmin2[1] = rearBoxPosX[1]+rearBoxDz*sin(theta0)/2.-rearBoxLength*cos(theta0)/2+delta; 00220 OCGirderDz[1] = rearBoxLength*sin(theta0); 00221 OCGirderPosZ[1] = rearBoxPosZ[1]+rearBoxDz*cos(theta0)/2.; 00222 00223 cableLength[1] = BSCDz-rearBoxPosZ[1]; 00224 cablePosX[1] = cablePosX[0]; 00225 cablePosY[1] = cablePosY[0]+2*cableDr; 00226 cablePosZ[1] = BSCDz-cableLength[1]/2; 00227 00228 theta0= theta0-atan((yHalfLength2[1]-yHalfLength1[1])*2./BSCCryLength); 00229 00230 for(i=2;i<BSCNbTheta;i++) 00231 { 00232 if(verboseLevel>1) 00233 { 00234 G4cout << "------------------------------------>"<<i<< G4endl 00235 << "The direction of crystal is:" 00236 << theta0/deg <<"(deg)." << G4endl; 00237 } 00238 G4double CryLength; 00239 if(i==BSCNbTheta-1) //the rightest crystal 00240 { 00241 CryLength=BSCCryLength1; //24cm 00242 yHalfLength1[i]=BSCYFront1/2.; 00243 } else { 00244 //crystal No.i+1 00245 CryLength=BSCCryLength; //28cm 00246 yHalfLength1[i]=BSCYFront/2.; 00247 } 00248 zHalfLength[i]=CryLength/2; 00249 00250 deltaR=yHalfLength1[i]*2.*cos(theta0); 00251 xHalfLength1[i]=xHalfLength1[0]; 00252 xHalfLength2[i]=xHalfLength1[i]/BSCPhiRmin*(BSCPhiRmin+deltaR); 00253 yHalfLength2[i]=yHalfLength1[i] 00254 *(1.+CryLength/(rminprojected/sin(theta0) 00255 +yHalfLength1[i]*2./tan(theta0))); 00256 deltaR=deltaR+CryLength*sin(theta0); 00257 xHalfLength4[i]=xHalfLength1[i]/BSCPhiRmin*(BSCPhiRmin+deltaR); 00258 deltaR=deltaR-yHalfLength2[i]*2.*cos(theta0); 00259 xHalfLength3[i]=xHalfLength1[i]/BSCPhiRmin*(BSCPhiRmin+deltaR); 00260 00261 thetaPosition[i]=theta0; 00262 xPosition[i]=BSCPhiRmin+zHalfLength[i]*sin(theta0) 00263 + (3.*yHalfLength1[i]-yHalfLength2[i])/2.*cos(theta0); 00264 yPosition[i]= 00265 -(xHalfLength1[i]+xHalfLength3[i]+xHalfLength2[i]+xHalfLength4[i])/4.; 00266 zPosition[i]=BSCPosition1+rminprojected/tan(theta0) 00267 +(2.*yHalfLength1[i]/tan(theta0)+zHalfLength[i])*cos(theta0) 00268 +(yHalfLength1[i]+yHalfLength2[i])/2.*sin(theta0); 00269 00270 rearBoxPosX[i] = xPosition[i]+(CryLength/2.+rearBoxDz/2.)*sin(theta0); 00271 rearBoxPosY[i] = -(xHalfLength3[i]+xHalfLength4[i])/2.; 00272 rearBoxPosZ[i] = zPosition[i]+(CryLength/2.+rearBoxDz/2.)*cos(theta0); 00273 00274 OCGirderRmin1[i] = rearBoxPosX[i]+rearBoxDz*sin(theta0)/2.+rearBoxLength*cos(theta0)/2+delta; 00275 OCGirderRmin2[i] = rearBoxPosX[i]+rearBoxDz*sin(theta0)/2.-rearBoxLength*cos(theta0)/2+delta; 00276 OCGirderDz[i] = rearBoxLength*sin(theta0); 00277 OCGirderPosZ[i] = rearBoxPosZ[i]+rearBoxDz*cos(theta0)/2.; 00278 00279 G4int xCable,yCable; 00280 xCable = i/4; 00281 yCable = i-4*(G4int)(i/4); 00282 cableLength[i] = BSCDz-(rearBoxPosZ[i]+rearBoxDz/2.*cos(theta0)); 00283 cablePosX[i] = cablePosX[0]-xCable*2*cableDr; 00284 cablePosY[i] = cablePosY[0]+yCable*2*cableDr; 00285 cablePosZ[i] = BSCDz-cableLength[i]/2; 00286 00287 theta0=theta0-atan(2.*yHalfLength1[i]/(rminprojected/sin(theta0) 00288 +2.*yHalfLength1[i]/tan(theta0))); 00289 00290 } 00291 thetaPosition[BSCNbTheta]=theta0; 00292 if(verboseLevel>1) 00293 { 00294 G4cout << "------------------------------------>"<<i<< G4endl 00295 << "The direction of crystal is:" 00296 << theta0/deg <<"(deg)." << G4endl; 00297 } 00298 00299 G4double oop; 00300 G4double dx=0.001*mm; //zoom out of crystals to avoid overlap 00301 for(i=0;i<BSCNbTheta;i++) 00302 { 00303 xHalfLength1[i]-=dx; 00304 xHalfLength2[i]-=dx; 00305 xHalfLength3[i]-=dx; 00306 xHalfLength4[i]-=dx; 00307 yHalfLength1[i]-=dx; 00308 yHalfLength2[i]-=dx; 00309 00310 G4double CryLength; 00311 if(i==BSCNbTheta-1) //the rightest crystal 00312 { 00313 CryLength=BSCCryLength1; 00314 } else { 00315 CryLength=BSCCryLength; 00316 } 00317 oop=sqrt((yHalfLength2[i]-yHalfLength1[i])*(yHalfLength2[i] 00318 -yHalfLength1[i]) 00319 +(xHalfLength3[i]+xHalfLength4[i]-xHalfLength1[i] 00320 -xHalfLength2[i])*(xHalfLength3[i]+xHalfLength4[i] 00321 -xHalfLength1[i]-xHalfLength2[i])/4); 00322 thetaAxis[i]=atan(oop/CryLength); 00323 phiAxis[i] =180.*deg+atan((yHalfLength2[i]-yHalfLength1[i]) 00324 /(xHalfLength3[i]+xHalfLength4[i] 00325 -xHalfLength1[i]-xHalfLength2[i])*2.); 00326 tanAlpha2[i]=-(xHalfLength4[i]-xHalfLength3[i])/yHalfLength2[i]/2.; 00327 tanAlpha1[i]=-(xHalfLength2[i]-xHalfLength1[i])/yHalfLength1[i]/2.; 00328 //G4cout <<thetaAxis[i]<<", " 00329 // <<phiAxis[i]<<", " 00330 // <<tanAlpha1[i]<<", " 00331 // <<tanAlpha2[i]<<G4endl; 00332 } 00333 00334 }
G4double BesEmcGeometry::GetBSCAngleRotat | ( | ) | [inline] |
Definition at line 64 of file BesEmcGeometry.hh.
References BSCAngleRotat.
00064 {return BSCAngleRotat;};
G4double BesEmcGeometry::GetBSCCryLength | ( | ) | [inline] |
Definition at line 58 of file BesEmcGeometry.hh.
References BSCCryLength.
Referenced by BesEmcDetectorMessenger::BesEmcDetectorMessenger().
00058 {return BSCCryLength;};
G4double BesEmcGeometry::GetBSCCryLength1 | ( | ) | [inline] |
Definition at line 59 of file BesEmcGeometry.hh.
References BSCCryLength1.
00059 {return BSCCryLength1;};
G4double BesEmcGeometry::GetBSCDz | ( | ) | [inline] |
G4int BesEmcGeometry::GetBSCNbPhi | ( | ) | [inline] |
G4int BesEmcGeometry::GetBSCNbTheta | ( | ) | [inline] |
Definition at line 57 of file BesEmcGeometry.hh.
References BSCNbTheta.
Referenced by BesCrystalParameterisation::ComputeMaterial().
00057 {return BSCNbTheta;};
G4double BesEmcGeometry::GetBSCPositon0 | ( | ) | [inline] |
Definition at line 62 of file BesEmcGeometry.hh.
References BSCPosition0.
00062 {return BSCPosition0;};
G4double BesEmcGeometry::GetBSCPositon1 | ( | ) | [inline] |
Definition at line 63 of file BesEmcGeometry.hh.
References BSCPosition1.
00063 {return BSCPosition1;};
G4double BesEmcGeometry::GetBSCRmin | ( | ) | [inline] |
Definition at line 54 of file BesEmcGeometry.hh.
References BSCRmin.
Referenced by BesEmcDetectorMessenger::BesEmcDetectorMessenger().
00054 {return BSCRmin;};
G4double BesEmcGeometry::GetBSCYFront | ( | ) | [inline] |
G4double BesEmcGeometry::GetBSCYFront0 | ( | ) | [inline] |
G4ThreeVector BesEmcGeometry::GetCasingThickness | ( | ) | [inline] |
Definition at line 66 of file BesEmcGeometry.hh.
References fAlThickness, fMylarThickness, and fTyvekThickness.
Referenced by BesEmcDetectorMessenger::BesEmcDetectorMessenger().
00066 {return G4ThreeVector(fTyvekThickness,fAlThickness,fMylarThickness);};
G4double BesEmcGeometry::GetPhiAxis | ( | G4int | NbCrystal | ) |
Definition at line 674 of file BesEmcGeometry.cc.
References BSCNbTheta, and phiAxis.
00675 { 00676 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00677 { 00678 return phiAxis[NbCrystal]; 00679 } 00680 else 00681 { 00682 return 0.; 00683 } 00684 }
G4VPhysicalVolume * BesEmcGeometry::GetPhysiBSCCrystal | ( | G4int | NbCrystal | ) |
Definition at line 782 of file BesEmcGeometry.cc.
References BSCNbTheta, and physiBSCCrystal.
Referenced by BesCrystalParameterisation::ComputeIDAndSide().
00783 { 00784 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00785 { 00786 return physiBSCCrystal[NbCrystal]; 00787 } 00788 else 00789 { 00790 return NULL; 00791 } 00792 }
G4double BesEmcGeometry::GetRearBoxDz | ( | G4int | NbCrystal | ) |
G4double BesEmcGeometry::GetRearBoxLength | ( | G4int | NbCrystal | ) |
G4double BesEmcGeometry::GetRearBoxPosTheta | ( | G4int | NbCrystal | ) |
G4double BesEmcGeometry::GetRearBoxPosX | ( | G4int | NbCrystal | ) |
G4double BesEmcGeometry::GetRearBoxPosY | ( | G4int | NbCrystal | ) |
G4double BesEmcGeometry::GetRearBoxPosZ | ( | G4int | NbCrystal | ) |
G4double BesEmcGeometry::GetTanAlpha1 | ( | G4int | NbCrystal | ) |
Definition at line 722 of file BesEmcGeometry.cc.
References BSCNbTheta, and tanAlpha1.
00723 { 00724 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00725 { 00726 return tanAlpha1[NbCrystal]; 00727 } 00728 else 00729 { 00730 return 0.; 00731 } 00732 }
G4double BesEmcGeometry::GetTanAlpha2 | ( | G4int | NbCrystal | ) |
Definition at line 770 of file BesEmcGeometry.cc.
References BSCNbTheta, and tanAlpha2.
00771 { 00772 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00773 { 00774 return tanAlpha2[NbCrystal]; 00775 } 00776 else 00777 { 00778 return 0.; 00779 } 00780 }
G4double BesEmcGeometry::GetThetaAxis | ( | G4int | NbCrystal | ) |
Definition at line 662 of file BesEmcGeometry.cc.
References BSCNbTheta, and thetaAxis.
00663 { 00664 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00665 { 00666 return thetaAxis[NbCrystal]; 00667 } 00668 else 00669 { 00670 return 0.; 00671 } 00672 }
G4double BesEmcGeometry::GetThetaPosition | ( | G4int | NbCrystal | ) |
Definition at line 638 of file BesEmcGeometry.cc.
References BSCNbTheta, and thetaPosition.
00639 { 00640 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00641 { 00642 return thetaPosition[NbCrystal]; 00643 } 00644 else 00645 { 00646 return 0.; 00647 } 00648 }
G4int BesEmcGeometry::GetVerboseLevel | ( | ) | [inline] |
Definition at line 52 of file BesEmcGeometry.hh.
References verboseLevel.
00052 {return verboseLevel;};
G4double BesEmcGeometry::GetXHalfLength1 | ( | G4int | NbCrystal | ) |
Definition at line 698 of file BesEmcGeometry.cc.
References BSCNbTheta, and xHalfLength1.
00699 { 00700 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00701 { 00702 return xHalfLength1[NbCrystal]; 00703 } 00704 else 00705 { 00706 return 0.; 00707 } 00708 }
G4double BesEmcGeometry::GetXHalfLength2 | ( | G4int | NbCrystal | ) |
Definition at line 710 of file BesEmcGeometry.cc.
References BSCNbTheta, and xHalfLength2.
00711 { 00712 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00713 { 00714 return xHalfLength2[NbCrystal]; 00715 } 00716 else 00717 { 00718 return 0.; 00719 } 00720 }
G4double BesEmcGeometry::GetXHalfLength3 | ( | G4int | NbCrystal | ) |
Definition at line 746 of file BesEmcGeometry.cc.
References BSCNbTheta, and xHalfLength3.
00747 { 00748 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00749 { 00750 return xHalfLength3[NbCrystal]; 00751 } 00752 else 00753 { 00754 return 0.; 00755 } 00756 }
G4double BesEmcGeometry::GetXHalfLength4 | ( | G4int | NbCrystal | ) |
Definition at line 758 of file BesEmcGeometry.cc.
References BSCNbTheta, and xHalfLength4.
00759 { 00760 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00761 { 00762 return xHalfLength4[NbCrystal]; 00763 } 00764 else 00765 { 00766 return 0.; 00767 } 00768 }
G4double BesEmcGeometry::GetXPosition | ( | G4int | NbCrystal | ) |
Definition at line 602 of file BesEmcGeometry.cc.
References BSCNbTheta, and xPosition.
00603 { 00604 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00605 { 00606 return xPosition[NbCrystal]; 00607 } 00608 else 00609 { 00610 return 0.; 00611 } 00612 }
G4double BesEmcGeometry::GetYHalfLength1 | ( | G4int | NbCrystal | ) |
Definition at line 686 of file BesEmcGeometry.cc.
References BSCNbTheta, and yHalfLength1.
00687 { 00688 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00689 { 00690 return yHalfLength1[NbCrystal]; 00691 } 00692 else 00693 { 00694 return 0.; 00695 } 00696 }
G4double BesEmcGeometry::GetYHalfLength2 | ( | G4int | NbCrystal | ) |
Definition at line 734 of file BesEmcGeometry.cc.
References BSCNbTheta, and yHalfLength2.
00735 { 00736 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00737 { 00738 return yHalfLength2[NbCrystal]; 00739 } 00740 else 00741 { 00742 return 0.; 00743 } 00744 }
G4double BesEmcGeometry::GetYPosition | ( | G4int | NbCrystal | ) |
Definition at line 614 of file BesEmcGeometry.cc.
References BSCNbTheta, and yPosition.
00615 { 00616 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00617 { 00618 return yPosition[NbCrystal]; 00619 } 00620 else 00621 { 00622 return 0.; 00623 } 00624 }
G4double BesEmcGeometry::GetZHalfLength | ( | G4int | NbCrystal | ) |
Definition at line 650 of file BesEmcGeometry.cc.
References BSCNbTheta, and zHalfLength.
00651 { 00652 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00653 { 00654 return zHalfLength[NbCrystal]; 00655 } 00656 else 00657 { 00658 return 0.; 00659 } 00660 }
G4double BesEmcGeometry::GetZPosition | ( | G4int | NbCrystal | ) |
Definition at line 626 of file BesEmcGeometry.cc.
References BSCNbTheta, and zPosition.
00627 { 00628 if(NbCrystal>=0&&NbCrystal<BSCNbTheta*6) 00629 { 00630 return zPosition[NbCrystal]; 00631 } 00632 else 00633 { 00634 return 0.; 00635 } 00636 }
void BesEmcGeometry::ModifyForCasing | ( | ) |
Definition at line 336 of file BesEmcGeometry.cc.
References BSCAngleRotat, BSCCryLength, BSCCryLength1, BSCNbTheta, BSCPhiRmin, BSCPosition1, BSCRmin, cos(), fAlThickness, fMylarThickness, fTyvekThickness, genRecEmupikp::i, phiAxis, sin(), tan(), tanAlpha1, tanAlpha2, thetaAxis, thetaPosition, verboseLevel, xHalfLength1, xHalfLength2, xHalfLength3, xHalfLength4, xPosition, yHalfLength1, yHalfLength2, yPosition, zHalfLength, and zPosition.
Referenced by BesEmcConstruction::Construct().
00337 { 00338 // Compute the sizes of the naked crystals and the casing 00339 // Casing size 00340 // BSCNbTheta---->2*BSCNbTheta-1 : before crystal 00341 // 2*BSCNbTheta-->3*BSCNbTheta-1 : a side of crystal 00342 // 3*BSCNbTheta-->4*BSCNbTheta-1 : b side of crystal 00343 // 4*BSCNbTheta-->5*BSCNbTheta-1 : c side of crystal 00344 // 5*BSCNbTheta-->6*BSCNbTheta-1 : d side of crystal 00345 // d 00346 // ---------- 00347 // | | 00348 // | | 00349 // c | | a 00350 // | | 00351 // | | 00352 // | / 00353 // | / 00354 // | / 00355 // b 00356 G4double totalThickness=fTyvekThickness+fAlThickness+fMylarThickness;// 00357 G4double delta=0.,angle1=0.*deg,angle2=0.*deg; 00358 G4double oop; //the distance of the centers of the two parallel plane 00359 00360 G4double rminprojected=BSCRmin*cos(BSCAngleRotat); 00361 rminprojected=BSCRmin;//accord with hardware design 00362 //rminprojected=BSCPhiRmin; 00363 00364 G4int i; 00365 for(i=0;i<BSCNbTheta;i++) 00366 { 00367 G4double CryLength; 00368 if(i==BSCNbTheta-1) //the rightest crystal 00369 { 00370 CryLength=BSCCryLength1; 00371 } else { 00372 CryLength=BSCCryLength; 00373 } 00374 zHalfLength[BSCNbTheta+i]=totalThickness/2.; 00375 yHalfLength1[BSCNbTheta+i]=yHalfLength1[i]; 00376 yHalfLength2[BSCNbTheta+i]=yHalfLength1[i] 00377 +(yHalfLength2[i]-yHalfLength1[i])*totalThickness/CryLength; 00378 xHalfLength1[BSCNbTheta+i]=xHalfLength1[i]; 00379 xHalfLength2[BSCNbTheta+i]=xHalfLength2[i]; 00380 xHalfLength1[BSCNbTheta*2+i]=xHalfLength3[BSCNbTheta+i]= 00381 xHalfLength1[i]*(CryLength-totalThickness)/CryLength 00382 +xHalfLength3[i]*totalThickness/CryLength; 00383 xHalfLength2[BSCNbTheta*4+i]=xHalfLength4[BSCNbTheta+i]= 00384 xHalfLength2[i]*(CryLength-totalThickness)/CryLength 00385 +xHalfLength4[i]*totalThickness/CryLength; 00386 00387 zHalfLength[BSCNbTheta*5+i]=zHalfLength[BSCNbTheta*4+i]= 00388 zHalfLength[BSCNbTheta*3+i]=zHalfLength[BSCNbTheta*2+i]= 00389 zHalfLength[i]-totalThickness/2.; 00390 00391 yHalfLength2[BSCNbTheta*2+i]=yHalfLength1[BSCNbTheta*2+i]= 00392 totalThickness/cos(thetaPosition[i+1]-thetaPosition[i])/2.; 00393 xHalfLength3[BSCNbTheta*2+i]=xHalfLength3[i]; 00394 xHalfLength4[BSCNbTheta*2+i]=xHalfLength3[i] 00395 +(xHalfLength4[i]-xHalfLength3[i])*yHalfLength2[BSCNbTheta*2+i] 00396 /yHalfLength2[i]; 00397 xHalfLength2[BSCNbTheta*2+i]=xHalfLength3[BSCNbTheta+i] 00398 +(xHalfLength4[BSCNbTheta+i]-xHalfLength3[BSCNbTheta+i]) 00399 *yHalfLength1[BSCNbTheta*2+i]/yHalfLength2[BSCNbTheta*1+i]; 00400 00401 yHalfLength2[BSCNbTheta*4+i]=yHalfLength1[BSCNbTheta*4+i]= 00402 totalThickness/2.; 00403 xHalfLength4[BSCNbTheta*4+i]=xHalfLength4[i]; 00404 xHalfLength3[BSCNbTheta*4+i]=xHalfLength4[i] 00405 -(xHalfLength4[i]-xHalfLength3[i])*yHalfLength2[BSCNbTheta*4+i] 00406 /yHalfLength2[i]; 00407 xHalfLength1[BSCNbTheta*4+i]=xHalfLength4[BSCNbTheta+i] 00408 -(xHalfLength4[BSCNbTheta+i]-xHalfLength3[BSCNbTheta+i]) 00409 *yHalfLength1[BSCNbTheta*4+i]/yHalfLength2[BSCNbTheta*1+i]; 00410 00411 delta=totalThickness/2.+yHalfLength1[BSCNbTheta*2+i]; 00412 angle1=atan(yHalfLength2[i]/(xHalfLength4[i]-xHalfLength3[i])); 00413 angle2=atan(2.*(xHalfLength4[i]-xHalfLength2[i])*sin(angle1) 00414 /CryLength); 00415 00416 yHalfLength1[BSCNbTheta*5+i]=yHalfLength1[BSCNbTheta*3+i]= 00417 yHalfLength1[i]-delta; 00418 yHalfLength2[BSCNbTheta*5+i]=yHalfLength2[BSCNbTheta*3+i]= 00419 yHalfLength2[i]-delta; 00420 xHalfLength4[BSCNbTheta*3+i]=xHalfLength3[BSCNbTheta*3+i]= 00421 xHalfLength2[BSCNbTheta*3+i]=xHalfLength1[BSCNbTheta*3+i]= 00422 totalThickness/cos(angle2)/sin(angle1)/2.; 00423 xHalfLength4[BSCNbTheta*5+i]=xHalfLength3[BSCNbTheta*5+i]= 00424 xHalfLength2[BSCNbTheta*5+i]=xHalfLength1[BSCNbTheta*5+i]= 00425 totalThickness/2.; 00426 00427 zHalfLength[i]=zHalfLength[i]-totalThickness/2.; 00428 yHalfLength1[i]=yHalfLength1[i]-delta; 00429 yHalfLength2[i]=yHalfLength2[i]-delta; 00430 delta=totalThickness*(1.+1./cos(angle2)/sin(angle1))/2.; 00431 xHalfLength1[i]=xHalfLength1[i]-delta; 00432 xHalfLength2[i]=xHalfLength2[i]-delta; 00433 xHalfLength3[i]=xHalfLength3[i]-delta; 00434 xHalfLength4[i]=xHalfLength4[i]-delta; 00435 00436 oop=sqrt((yHalfLength2[i]-yHalfLength1[i])*(yHalfLength2[i] 00437 -yHalfLength1[i]) 00438 +(xHalfLength3[i]+xHalfLength4[i]-xHalfLength1[i] 00439 -xHalfLength2[i])*(xHalfLength3[i]+xHalfLength4[i] 00440 -xHalfLength1[i]-xHalfLength2[i])/4); 00441 thetaAxis[i]=atan(oop/CryLength); 00442 // -phi --->180+phi 00443 phiAxis[i] =180.*deg+atan((yHalfLength2[i]-yHalfLength1[i]) 00444 /(xHalfLength3[i]+xHalfLength4[i] 00445 -xHalfLength1[i]-xHalfLength2[i])*2.); 00446 00447 oop=sqrt((yHalfLength2[BSCNbTheta+i]-yHalfLength1[BSCNbTheta+i]) 00448 *(yHalfLength2[BSCNbTheta+i]-yHalfLength1[BSCNbTheta+i]) 00449 +(xHalfLength3[BSCNbTheta+i]+xHalfLength4[BSCNbTheta+i] 00450 -xHalfLength1[BSCNbTheta+i]-xHalfLength2[BSCNbTheta+i]) 00451 *(xHalfLength3[BSCNbTheta+i]+xHalfLength4[BSCNbTheta+i] 00452 -xHalfLength1[BSCNbTheta+i]-xHalfLength2[BSCNbTheta+i])/4); 00453 thetaAxis[BSCNbTheta+i]=atan(oop/totalThickness); 00454 phiAxis [BSCNbTheta+i]= 00455 -atan((yHalfLength2[BSCNbTheta+i]-yHalfLength1[BSCNbTheta+i]) 00456 /(xHalfLength3[BSCNbTheta+i]+xHalfLength4[BSCNbTheta+i] 00457 -xHalfLength1[BSCNbTheta+i]-xHalfLength2[BSCNbTheta+i])*2.); 00458 00459 oop=sqrt((yHalfLength2[i]-yHalfLength1[i])*(yHalfLength2[i] 00460 -yHalfLength1[i])*4 00461 +(xHalfLength3[BSCNbTheta*2+i]+xHalfLength4[BSCNbTheta*2+i] 00462 -xHalfLength1[BSCNbTheta*2+i]-xHalfLength2[BSCNbTheta*2+i]) 00463 *(xHalfLength3[BSCNbTheta*2+i]+xHalfLength4[BSCNbTheta*2+i] 00464 -xHalfLength1[BSCNbTheta*2+i]-xHalfLength2[BSCNbTheta*2+i]) 00465 /4); 00466 thetaAxis[BSCNbTheta*2+i]=atan(oop/(zHalfLength[BSCNbTheta*2+i]*2)); 00467 phiAxis [BSCNbTheta*2+i]= 00468 -atan((yHalfLength2[i]-yHalfLength1[i]) 00469 /(xHalfLength3[BSCNbTheta*2+i]+xHalfLength4[BSCNbTheta*2+i] 00470 -xHalfLength1[BSCNbTheta*2+i]-xHalfLength2[BSCNbTheta*2+i])*4); 00471 00472 oop=sqrt((yHalfLength2[i]-yHalfLength1[i])*(yHalfLength2[i] 00473 -yHalfLength1[i])*4 00474 +(xHalfLength4[i]-xHalfLength2[i]) 00475 *(xHalfLength4[i]-xHalfLength2[i])*4); 00476 thetaAxis[BSCNbTheta*3+i]=atan(oop/(zHalfLength[BSCNbTheta*3+i]*2)); 00477 phiAxis [BSCNbTheta*3+i]=-atan((yHalfLength2[i]-yHalfLength1[i]) 00478 /(xHalfLength4[i]-xHalfLength2[i])); 00479 00480 thetaAxis[BSCNbTheta*4+i]= 00481 atan((xHalfLength4[BSCNbTheta*4+i]+xHalfLength3[BSCNbTheta*4+i] 00482 -xHalfLength2[BSCNbTheta*4+i]-xHalfLength1[BSCNbTheta*4+i])/2. 00483 /(zHalfLength[BSCNbTheta*4+i]*2)); 00484 phiAxis [BSCNbTheta*4+i]=0; 00485 00486 thetaAxis[BSCNbTheta*5+i]=atan((xHalfLength3[BSCNbTheta*5+i] 00487 -xHalfLength1[BSCNbTheta*5+i]) 00488 /(zHalfLength[BSCNbTheta*5+i]*2)); 00489 phiAxis [BSCNbTheta*5+i]=-90.*deg; 00490 00491 tanAlpha2[BSCNbTheta+i]=tanAlpha1[BSCNbTheta+i]=tanAlpha1[i]= 00492 -(xHalfLength2[i]-xHalfLength1[i])/yHalfLength1[i]/2.; 00493 tanAlpha1[BSCNbTheta*2+i]=(xHalfLength2[BSCNbTheta*2+i] 00494 -xHalfLength1[BSCNbTheta*2+i]) 00495 /yHalfLength1[BSCNbTheta*2+i]/2.; 00496 tanAlpha1[BSCNbTheta*3+i]=tanAlpha1[i]*2.; 00497 tanAlpha1[BSCNbTheta*4+i]=(xHalfLength2[BSCNbTheta*4+i] 00498 -xHalfLength1[BSCNbTheta*4+i]) 00499 /yHalfLength1[BSCNbTheta*4+i]/2.; 00500 tanAlpha1[BSCNbTheta*5+i]=(xHalfLength2[BSCNbTheta*5+i] 00501 -xHalfLength1[BSCNbTheta*5+i]) 00502 /yHalfLength1[BSCNbTheta*5+i]/2.; 00503 00504 tanAlpha2[i]=-(xHalfLength4[i]-xHalfLength3[i])/yHalfLength2[i]/2.; 00505 //tanAlpha2[BSCNbTheta+i]=(xHalfLength4[BSCNbTheta+i]-xHalfLength3[BSCNbTheta+i])/yHalfLength2[BSCNbTheta+i]/2.; 00506 tanAlpha2[BSCNbTheta*2+i]=(xHalfLength4[BSCNbTheta*2+i] 00507 -xHalfLength3[BSCNbTheta*2+i]) 00508 /yHalfLength2[BSCNbTheta*2+i]/2.; 00509 tanAlpha2[BSCNbTheta*3+i]=tanAlpha2[i]*2.; 00510 tanAlpha2[BSCNbTheta*4+i]=(xHalfLength4[BSCNbTheta*4+i] 00511 -xHalfLength3[BSCNbTheta*4+i]) 00512 /yHalfLength2[BSCNbTheta*4+i]/2.; 00513 tanAlpha2[BSCNbTheta*5+i]=(xHalfLength4[BSCNbTheta*5+i] 00514 -xHalfLength3[BSCNbTheta*5+i]) 00515 /yHalfLength2[BSCNbTheta*5+i]/2.; 00516 00517 zPosition[BSCNbTheta*5+i]=zPosition[BSCNbTheta*3+i]=zPosition[i]= 00518 zPosition[i]+totalThickness/2.*cos(thetaPosition[i]) 00519 -yHalfLength1[BSCNbTheta*2+i]*sin(thetaPosition[i]); 00520 zPosition[i]=totalThickness/2.;//for the newest method 00521 xPosition[BSCNbTheta*5+i]=xPosition[BSCNbTheta*3+i]=xPosition[i]= 00522 xPosition[i]+totalThickness/2.*sin(thetaPosition[i]) 00523 +totalThickness*(1./cos(thetaPosition[i+1]-thetaPosition[i])-1)/2. 00524 *cos(thetaPosition[i]); 00525 xPosition[i]=totalThickness*(1.-1./cos(angle2)/sin(angle1))/2.; 00526 //for the newest method 00527 yPosition[i]=yPosition[i] 00528 +totalThickness*(1.-1./cos(angle2)/sin(angle1))/2.; 00529 yPosition[i]=yHalfLength1[BSCNbTheta*2+i]-totalThickness/2.;//for the newest method 00530 yPosition[BSCNbTheta*3+i]=yPosition[i]*2.+xHalfLength1[BSCNbTheta*3+i]; 00531 yPosition[BSCNbTheta*5+i]=xHalfLength1[BSCNbTheta*5+i]; 00532 00533 xPosition[BSCNbTheta+i]=BSCPhiRmin 00534 +zHalfLength[BSCNbTheta+i]*sin(thetaPosition[i]) 00535 +(3.*yHalfLength1[BSCNbTheta+i]-yHalfLength2[BSCNbTheta+i])/2. 00536 *cos(thetaPosition[i]); 00537 yPosition[BSCNbTheta+i]=(xHalfLength1[BSCNbTheta+i] 00538 +xHalfLength3[BSCNbTheta+i] 00539 +xHalfLength2[BSCNbTheta+i] 00540 +xHalfLength4[BSCNbTheta+i])/4.; 00541 zPosition[BSCNbTheta+i]=BSCPosition1+rminprojected/tan(thetaPosition[i]) 00542 +(2.*yHalfLength1[BSCNbTheta+i]/tan(thetaPosition[i]) 00543 +zHalfLength[BSCNbTheta+i])*cos(thetaPosition[i]) 00544 +(yHalfLength1[BSCNbTheta+i]+yHalfLength2[BSCNbTheta+i])/2. 00545 *sin(thetaPosition[i]); 00546 00547 xPosition[BSCNbTheta*2+i]=xPosition[i] 00548 +((yHalfLength1[i]+yHalfLength2[i])/2.+yHalfLength1[BSCNbTheta*2+i]) 00549 *cos(thetaPosition[i]); 00550 zPosition[BSCNbTheta*2+i]=zPosition[i] 00551 -((yHalfLength1[i]+yHalfLength2[i])/2.+yHalfLength1[BSCNbTheta*2+i]) 00552 *sin(thetaPosition[i]); 00553 yPosition[BSCNbTheta*2+i]=(xHalfLength1[BSCNbTheta*2+i] 00554 +xHalfLength3[BSCNbTheta*2+i] 00555 +xHalfLength2[BSCNbTheta*2+i] 00556 +xHalfLength4[BSCNbTheta*2+i])/4.; 00557 00558 xPosition[BSCNbTheta*4+i]=xPosition[i] 00559 -((yHalfLength1[i]+yHalfLength2[i])/2.+yHalfLength1[BSCNbTheta*4+i]) 00560 *cos(thetaPosition[i]); 00561 zPosition[BSCNbTheta*4+i]=zPosition[i] 00562 -((yHalfLength1[i]+yHalfLength2[i])/2.+yHalfLength1[BSCNbTheta*4+i]) 00563 *sin(thetaPosition[i]); 00564 yPosition[BSCNbTheta*4+i]=(xHalfLength1[BSCNbTheta*4+i] 00565 +xHalfLength3[BSCNbTheta*4+i] 00566 +xHalfLength2[BSCNbTheta*4+i] 00567 +xHalfLength4[BSCNbTheta*4+i])/4.; 00568 00569 } 00570 00571 if(verboseLevel>1) 00572 for(i=0;i<BSCNbTheta*6;i++) 00573 { 00574 G4cout << "The sizes of the " << i+1 << " crystal are:" << G4endl 00575 << "zHalfLength =" << zHalfLength[i]/cm << "(cm)," << G4endl 00576 << "thetaAxis =" << thetaAxis[i]/deg << "(deg),"<< G4endl 00577 << "phiAxis =" << phiAxis[i]/deg << "(deg),"<< G4endl 00578 << "yHalfLength1=" << yHalfLength1[i]/cm << "(cm)," << G4endl 00579 << "xHalfLength1=" << xHalfLength1[i]/cm << "(cm)," << G4endl 00580 << "xHalfLength2=" << xHalfLength2[i]/cm << "(cm)," << G4endl 00581 << "tanAlpha1 =" << tanAlpha1[i] << G4endl 00582 << "yHalfLength2=" << yHalfLength2[i]/cm << "(cm)," << G4endl 00583 << "xHalfLength3=" << xHalfLength3[i]/cm << "(cm)," << G4endl 00584 << "xHalfLength4=" << xHalfLength4[i]/cm << "(cm)," << G4endl 00585 << "tanAlpha2 =" << tanAlpha2[i] << "." << G4endl 00586 << "The position of the " << i+1 << " crystal is:" << G4endl 00587 << "(" << xPosition[i]/cm << "," 00588 << yPosition[i]/cm << "," 00589 << zPosition[i]/cm << ")cm" << G4endl; 00590 } 00591 00592 }
void BesEmcGeometry::PrintEMCParameters | ( | ) |
void BesEmcGeometry::ReadEMCParameters | ( | ) |
Definition at line 24 of file BesEmcGeometry.cc.
References AlPlateDz, BSCAngleRotat, BSCCryLength, BSCCryLength1, BSCDz, BSCDz1, BSCNbPhi, BSCNbTheta, BSCPosition0, BSCPosition1, BSCRmax1, BSCRmin, BSCRmin1, BSCRmin2, BSCYFront, BSCYFront0, BSCYFront1, cableDr, EndRingDr, EndRingDz, EndRingRmin, fAlThickness, fMylarThickness, fTyvekThickness, BesEmcParameter::GetAlPlateDz(), BesEmcParameter::GetAlThickness(), BesEmcParameter::GetBSCAngleRotat(), BesEmcParameter::GetBSCDz(), BesEmcParameter::GetBSCDz1(), BesEmcParameter::GetBSCNbPhi(), BesEmcParameter::GetBSCNbTheta(), BesEmcParameter::GetBSCPosition0(), BesEmcParameter::GetBSCPosition1(), BesEmcParameter::GetBSCRmax1(), BesEmcParameter::GetBSCRmin(), BesEmcParameter::GetBSCRmin1(), BesEmcParameter::GetBSCRmin2(), BesEmcParameter::GetBSCYFront(), BesEmcParameter::GetBSCYFront0(), BesEmcParameter::GetBSCYFront1(), BesEmcParameter::GetCableDr(), BesEmcParameter::GetCrystalLength(), BesEmcParameter::GetCrystalLength1(), BesEmcParameter::GetEndRingDr(), BesEmcParameter::GetEndRingDz(), BesEmcParameter::GetEndRingRmin(), BesEmcParameter::GetHangingPlateDz(), BesEmcParameter::GetInstance(), BesEmcParameter::GetMylarThickness(), BesEmcParameter::GetOCGirderAngle(), BesEmcParameter::GetOrgGlassLengthX(), BesEmcParameter::GetOrgGlassLengthY(), BesEmcParameter::GetOrgGlassLengthZ(), BesEmcParameter::GetPABoxDz(), BesEmcParameter::GetPABoxThickness(), BesEmcParameter::GetPDLengthX(), BesEmcParameter::GetPDLengthY(), BesEmcParameter::GetPDLengthZ(), BesEmcParameter::GetRearBoxDz(), BesEmcParameter::GetRearBoxLength(), BesEmcParameter::GetRearCasingThickness(), BesEmcParameter::GetSPBarThickness(), BesEmcParameter::GetSPBarThickness1(), BesEmcParameter::GetSPBarwidth(), BesEmcParameter::GetTaperRingDz(), BesEmcParameter::GetTaperRingInnerLength(), BesEmcParameter::GetTaperRingOuterLength(), BesEmcParameter::GetTaperRingTheta(), BesEmcParameter::GetTaperRingThickness1(), BesEmcParameter::GetTaperRingThickness2(), BesEmcParameter::GetTaperRingThickness3(), BesEmcParameter::GetTyvekThickness(), BesEmcParameter::GetWaterPipeDr(), BesEmcParameter::GetWaterPipeThickness(), HangingPlateDz, genRecEmupikp::i, OCGirderAngle, orgGlassLengthX, orgGlassLengthY, orgGlassLengthZ, PABoxDz, PABoxThickness, PDLengthX, PDLengthY, PDLengthZ, phiAxis, rearBoxDz, rearBoxLength, rearCasingThickness, SPBarThickness, SPBarThickness1, SPBarwidth, tanAlpha1, tanAlpha2, TaperRingDz, TaperRingInnerLength, TaperRingOuterLength, TaperRingTheta, TaperRingThickness1, TaperRingThickness2, TaperRingThickness3, thetaAxis, thetaPosition, waterPipeDr, waterPipeThickness, xHalfLength1, xHalfLength2, xHalfLength3, xHalfLength4, xPosition, yHalfLength1, yHalfLength2, yPosition, zHalfLength, and zPosition.
Referenced by ComputeEMCParameters().
00025 { 00026 // Read EMC parameters from database 00027 BesEmcParameter& emcPara=BesEmcParameter::GetInstance(); 00028 00029 TaperRingDz = emcPara.GetTaperRingDz(); 00030 TaperRingThickness1 = emcPara.GetTaperRingThickness1(); 00031 TaperRingThickness2 = emcPara.GetTaperRingThickness2(); 00032 TaperRingThickness3 = emcPara.GetTaperRingThickness3(); 00033 TaperRingTheta = emcPara.GetTaperRingTheta()*deg; 00034 TaperRingInnerLength = emcPara.GetTaperRingInnerLength(); 00035 TaperRingOuterLength = emcPara.GetTaperRingOuterLength(); 00036 00037 BSCRmin = emcPara.GetBSCRmin(); 00038 BSCDz = emcPara.GetBSCDz()-TaperRingThickness3; 00039 00040 BSCRmin1 = emcPara.GetBSCRmin1(); 00041 BSCRmax1 = emcPara.GetBSCRmax1(); 00042 BSCRmin2 = emcPara.GetBSCRmin2(); 00043 //BSCRmax2 = emcPara.GetBSCRmax2(); 00044 BSCDz1 = emcPara.GetBSCDz1()-TaperRingThickness3; 00045 00046 BSCAngleRotat = emcPara.GetBSCAngleRotat()*deg; 00047 BSCNbPhi = emcPara.GetBSCNbPhi(); 00048 BSCNbTheta = emcPara.GetBSCNbTheta(); 00049 00050 BSCCryLength = emcPara.GetCrystalLength(); 00051 BSCCryLength1 = emcPara.GetCrystalLength1(); 00052 BSCYFront0 = emcPara.GetBSCYFront0(); 00053 BSCYFront = emcPara.GetBSCYFront(); 00054 BSCYFront1 = emcPara.GetBSCYFront1(); 00055 BSCPosition0 = emcPara.GetBSCPosition0(); 00056 BSCPosition1 = emcPara.GetBSCPosition1(); 00057 00058 fTyvekThickness = emcPara.GetTyvekThickness(); 00059 fAlThickness = emcPara.GetAlThickness(); 00060 fMylarThickness = emcPara.GetMylarThickness(); 00061 00062 rearBoxLength = emcPara.GetRearBoxLength(); 00063 rearBoxDz = emcPara.GetRearBoxDz(); 00064 00065 HangingPlateDz = emcPara.GetHangingPlateDz(); 00066 OCGirderAngle = emcPara.GetOCGirderAngle()*deg; 00067 00068 rearCasingThickness = emcPara.GetRearCasingThickness(); 00069 00070 orgGlassLengthX = emcPara.GetOrgGlassLengthX(); 00071 orgGlassLengthY = emcPara.GetOrgGlassLengthY(); 00072 orgGlassLengthZ = emcPara.GetOrgGlassLengthZ(); 00073 00074 PDLengthX = emcPara.GetPDLengthX(); 00075 PDLengthY = emcPara.GetPDLengthY(); 00076 PDLengthZ = emcPara.GetPDLengthZ(); 00077 00078 AlPlateDz = emcPara.GetAlPlateDz(); 00079 PABoxDz = emcPara.GetPABoxDz(); 00080 PABoxThickness = emcPara.GetPABoxThickness(); 00081 00082 cableDr = emcPara.GetCableDr(); 00083 waterPipeDr = emcPara.GetWaterPipeDr(); 00084 waterPipeThickness= emcPara.GetWaterPipeThickness(); 00085 00086 SPBarThickness = emcPara.GetSPBarThickness(); 00087 SPBarThickness1 = emcPara.GetSPBarThickness1(); 00088 SPBarwidth = emcPara.GetSPBarwidth(); 00089 00090 EndRingDz = emcPara.GetEndRingDz(); 00091 EndRingDr = emcPara.GetEndRingDr(); 00092 EndRingRmin = emcPara.GetEndRingRmin(); 00093 00094 for(G4int i=0;i<BSCNbTheta*6;i++) 00095 { 00096 zHalfLength[i] =0; 00097 thetaAxis[i] =0; 00098 phiAxis [i] =0; 00099 yHalfLength1[i] =0; 00100 xHalfLength1[i] =0; 00101 xHalfLength2[i] =0; 00102 tanAlpha1[i] =0; 00103 yHalfLength2[i] =0; 00104 xHalfLength3[i] =0; 00105 xHalfLength4[i] =0; 00106 tanAlpha2[i] =0; 00107 thetaPosition[i]=0; 00108 xPosition[i] =0; 00109 yPosition[i] =0; 00110 zPosition[i] =0; 00111 } 00112 }
void BesEmcGeometry::SetBSCAngleRotat | ( | G4double | val | ) | [inline] |
Definition at line 47 of file BesEmcGeometry.hh.
References BSCAngleRotat.
00047 {BSCAngleRotat=val;};
void BesEmcGeometry::SetBSCCrystalLength | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetBSCCrystalLength1 | ( | G4double | val | ) | [inline] |
Definition at line 42 of file BesEmcGeometry.hh.
References BSCCryLength1.
00042 {BSCCryLength1=val;};
void BesEmcGeometry::SetBSCDz | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetBSCNbPhi | ( | G4int | val | ) | [inline] |
void BesEmcGeometry::SetBSCNbTheta | ( | G4int | val | ) | [inline] |
void BesEmcGeometry::SetBSCPosition0 | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetBSCPosition1 | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetBSCRmin | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetBSCYFront | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetBSCYFront0 | ( | G4double | val | ) | [inline] |
void BesEmcGeometry::SetCasingThickness | ( | G4ThreeVector | ) |
Definition at line 594 of file BesEmcGeometry.cc.
References fAlThickness, fMylarThickness, and fTyvekThickness.
00595 { 00596 // change Gap thickness and recompute the calorimeter parameters 00597 fTyvekThickness = val('X'); 00598 fAlThickness = val('Y'); 00599 fMylarThickness = val('Z'); 00600 }
void BesEmcGeometry::SetVerboseLevel | ( | G4int | val | ) | [inline] |
friend class BesEmcConstruction [friend] |
Definition at line 25 of file BesEmcGeometry.hh.
friend class EmcGdmlWriter [friend] |
Definition at line 26 of file BesEmcGeometry.hh.
G4double BesEmcGeometry::AlPlateDz [private] |
G4double BesEmcGeometry::BSCAngleRotat [private] |
Definition at line 111 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCAngleRotat(), ModifyForCasing(), ReadEMCParameters(), and SetBSCAngleRotat().
G4double BesEmcGeometry::BSCCryLength [private] |
Definition at line 95 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCCryLength(), ModifyForCasing(), ReadEMCParameters(), and SetBSCCrystalLength().
G4double BesEmcGeometry::BSCCryLength1 [private] |
Definition at line 96 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCCryLength1(), ModifyForCasing(), ReadEMCParameters(), and SetBSCCrystalLength1().
G4double BesEmcGeometry::BSCDz [private] |
Definition at line 114 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCDz(), ReadEMCParameters(), and SetBSCDz().
G4double BesEmcGeometry::BSCDz1 [private] |
G4int BesEmcGeometry::BSCNbPhi [private] |
Definition at line 103 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCNbPhi(), ReadEMCParameters(), and SetBSCNbPhi().
G4int BesEmcGeometry::BSCNbTheta [private] |
Definition at line 104 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCNbTheta(), GetPhiAxis(), GetPhysiBSCCrystal(), GetTanAlpha1(), GetTanAlpha2(), GetThetaAxis(), GetThetaPosition(), GetXHalfLength1(), GetXHalfLength2(), GetXHalfLength3(), GetXHalfLength4(), GetXPosition(), GetYHalfLength1(), GetYHalfLength2(), GetYPosition(), GetZHalfLength(), GetZPosition(), ModifyForCasing(), ReadEMCParameters(), and SetBSCNbTheta().
G4double BesEmcGeometry::BSCPhiDphi [private] |
G4double BesEmcGeometry::BSCPhiDz [private] |
G4double BesEmcGeometry::BSCPhiRmax [private] |
G4double BesEmcGeometry::BSCPhiRmin [private] |
Definition at line 106 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ModifyForCasing().
G4double BesEmcGeometry::BSCPhiSphi [private] |
G4double BesEmcGeometry::BSCPosition0 [private] |
Definition at line 100 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCPositon0(), ReadEMCParameters(), and SetBSCPosition0().
G4double BesEmcGeometry::BSCPosition1 [private] |
Definition at line 101 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCPositon1(), ModifyForCasing(), ReadEMCParameters(), and SetBSCPosition1().
G4double BesEmcGeometry::BSCRmax [private] |
G4double BesEmcGeometry::BSCRmax1 [private] |
Definition at line 117 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::BSCRmax2 [private] |
G4double BesEmcGeometry::BSCRmin [private] |
Definition at line 112 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCRmin(), ModifyForCasing(), ReadEMCParameters(), and SetBSCRmin().
G4double BesEmcGeometry::BSCRmin1 [private] |
G4double BesEmcGeometry::BSCRmin2 [private] |
G4double BesEmcGeometry::BSCYFront [private] |
Definition at line 98 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCYFront(), ReadEMCParameters(), and SetBSCYFront().
G4double BesEmcGeometry::BSCYFront0 [private] |
Definition at line 97 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetBSCYFront0(), ReadEMCParameters(), and SetBSCYFront0().
G4double BesEmcGeometry::BSCYFront1 [private] |
Definition at line 99 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::cableDr [private] |
Definition at line 183 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::cableLength[22] [private] |
G4double BesEmcGeometry::cablePosX[22] [private] |
G4double BesEmcGeometry::cablePosY[22] [private] |
G4double BesEmcGeometry::cablePosZ[22] [private] |
G4double BesEmcGeometry::EndRingDr [private] |
G4double BesEmcGeometry::EndRingDz [private] |
G4double BesEmcGeometry::EndRingRmin [private] |
G4double BesEmcGeometry::fAlThickness [private] |
Definition at line 141 of file BesEmcGeometry.hh.
Referenced by GetCasingThickness(), ModifyForCasing(), ReadEMCParameters(), and SetCasingThickness().
G4double BesEmcGeometry::fMylarThickness [private] |
Definition at line 142 of file BesEmcGeometry.hh.
Referenced by GetCasingThickness(), ModifyForCasing(), ReadEMCParameters(), and SetCasingThickness().
G4double BesEmcGeometry::fTyvekThickness [private] |
Definition at line 140 of file BesEmcGeometry.hh.
Referenced by GetCasingThickness(), ModifyForCasing(), ReadEMCParameters(), and SetCasingThickness().
G4double BesEmcGeometry::HangingPlateDz [private] |
G4double BesEmcGeometry::OCGirderAngle [private] |
G4double BesEmcGeometry::OCGirderDz[22] [private] |
G4double BesEmcGeometry::OCGirderPosZ[22] [private] |
G4double BesEmcGeometry::OCGirderRmin1[22] [private] |
G4double BesEmcGeometry::OCGirderRmin2[22] [private] |
G4double BesEmcGeometry::orgGlassLengthX [private] |
G4double BesEmcGeometry::orgGlassLengthY [private] |
G4double BesEmcGeometry::orgGlassLengthZ [private] |
G4double BesEmcGeometry::PABoxDz [private] |
G4double BesEmcGeometry::PABoxThickness [private] |
G4double BesEmcGeometry::PDLengthX [private] |
G4double BesEmcGeometry::PDLengthY [private] |
G4double BesEmcGeometry::PDLengthZ [private] |
G4double BesEmcGeometry::phiAxis[150] [private] |
Definition at line 124 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetPhiAxis(), ModifyForCasing(), and ReadEMCParameters().
G4VPhysicalVolume* BesEmcGeometry::physiBSCCrystal[50] [private] |
G4double BesEmcGeometry::rearBoxDz [private] |
Definition at line 147 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::rearBoxLength [private] |
Definition at line 146 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::rearBoxPosX[150] [private] |
G4double BesEmcGeometry::rearBoxPosY[150] [private] |
G4double BesEmcGeometry::rearBoxPosZ[150] [private] |
G4double BesEmcGeometry::rearCasingThickness [private] |
G4double BesEmcGeometry::RFBarHoleDphi [private] |
Definition at line 200 of file BesEmcGeometry.hh.
G4double BesEmcGeometry::RFBarHoleDz [private] |
Definition at line 201 of file BesEmcGeometry.hh.
G4int BesEmcGeometry::RFBarHoleNb [private] |
Definition at line 199 of file BesEmcGeometry.hh.
G4double BesEmcGeometry::RFBarThickness [private] |
Definition at line 198 of file BesEmcGeometry.hh.
G4double BesEmcGeometry::SPBarDphi [private] |
G4double BesEmcGeometry::SPBarThickness [private] |
G4double BesEmcGeometry::SPBarThickness1 [private] |
G4double BesEmcGeometry::SPBarwidth [private] |
Definition at line 196 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::tanAlpha1[150] [private] |
Definition at line 128 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetTanAlpha1(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::tanAlpha2[150] [private] |
Definition at line 132 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetTanAlpha2(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::TaperRingDr [private] |
G4double BesEmcGeometry::TaperRingDz [private] |
Definition at line 216 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::TaperRingInnerLength [private] |
G4double BesEmcGeometry::TaperRingOuterLength [private] |
Definition at line 218 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::TaperRingOuterLength1 [private] |
G4double BesEmcGeometry::TaperRingRmin1 [private] |
G4double BesEmcGeometry::TaperRingRmin2 [private] |
G4double BesEmcGeometry::TaperRingTheta [private] |
Definition at line 212 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::TaperRingThickness1 [private] |
Definition at line 209 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::TaperRingThickness2 [private] |
Definition at line 210 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::TaperRingThickness3 [private] |
Definition at line 211 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), and ReadEMCParameters().
G4double BesEmcGeometry::thetaAxis[150] [private] |
Definition at line 123 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetThetaAxis(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::thetaPosition[150] [private] |
Definition at line 133 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetThetaPosition(), ModifyForCasing(), and ReadEMCParameters().
G4int BesEmcGeometry::verboseLevel [private] |
Definition at line 93 of file BesEmcGeometry.hh.
Referenced by BesEmcGeometry(), ComputeEMCParameters(), GetVerboseLevel(), ModifyForCasing(), and SetVerboseLevel().
G4double BesEmcGeometry::waterPipeDr [private] |
G4double BesEmcGeometry::waterPipeThickness [private] |
G4double BesEmcGeometry::xHalfLength1[150] [private] |
Definition at line 126 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetXHalfLength1(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::xHalfLength2[150] [private] |
Definition at line 127 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetXHalfLength2(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::xHalfLength3[150] [private] |
Definition at line 130 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetXHalfLength3(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::xHalfLength4[150] [private] |
Definition at line 131 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetXHalfLength4(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::xPosition[150] [private] |
Definition at line 134 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetXPosition(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::yHalfLength1[150] [private] |
Definition at line 125 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetYHalfLength1(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::yHalfLength2[150] [private] |
Definition at line 129 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetYHalfLength2(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::yPosition[150] [private] |
Definition at line 135 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetYPosition(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::zHalfLength[150] [private] |
Definition at line 122 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetZHalfLength(), ModifyForCasing(), and ReadEMCParameters().
G4double BesEmcGeometry::zPosition[150] [private] |
Definition at line 136 of file BesEmcGeometry.hh.
Referenced by ComputeEMCParameters(), GetZPosition(), ModifyForCasing(), and ReadEMCParameters().