BesEmcGeometry Class Reference

#include <BesEmcGeometry.hh>

List of all members.

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


Detailed Description

Definition at line 20 of file BesEmcGeometry.hh.


Constructor & Destructor Documentation

BesEmcGeometry::BesEmcGeometry (  ) 

Definition at line 16 of file BesEmcGeometry.cc.

References verboseLevel.

00017 {
00018   verboseLevel = 0;
00019 }

BesEmcGeometry::~BesEmcGeometry (  ) 

Definition at line 21 of file BesEmcGeometry.cc.

00022 {;}


Member Function Documentation

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]

Definition at line 55 of file BesEmcGeometry.hh.

References BSCDz.

00055 {return BSCDz;};

G4int BesEmcGeometry::GetBSCNbPhi (  )  [inline]

Definition at line 56 of file BesEmcGeometry.hh.

References BSCNbPhi.

00056 {return BSCNbPhi;};

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]

Definition at line 60 of file BesEmcGeometry.hh.

References BSCYFront.

00060 {return BSCYFront;};

G4double BesEmcGeometry::GetBSCYFront0 (  )  [inline]

Definition at line 61 of file BesEmcGeometry.hh.

References BSCYFront0.

00061 {return BSCYFront0;};

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 (  ) 

Definition at line 114 of file BesEmcGeometry.cc.

00115 {
00116   // Print EMC parameters
00117   ;
00118 }

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]

Definition at line 41 of file BesEmcGeometry.hh.

References BSCCryLength.

00041 {BSCCryLength=val;};

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]

Definition at line 38 of file BesEmcGeometry.hh.

References BSCDz.

00038 { BSCDz=val;};

void BesEmcGeometry::SetBSCNbPhi ( G4int  val  )  [inline]

Definition at line 39 of file BesEmcGeometry.hh.

References BSCNbPhi.

00039 {BSCNbPhi=val;};

void BesEmcGeometry::SetBSCNbTheta ( G4int  val  )  [inline]

Definition at line 40 of file BesEmcGeometry.hh.

References BSCNbTheta.

00040 {BSCNbTheta=val;};

void BesEmcGeometry::SetBSCPosition0 ( G4double  val  )  [inline]

Definition at line 45 of file BesEmcGeometry.hh.

References BSCPosition0.

00045 {BSCPosition0=val;};

void BesEmcGeometry::SetBSCPosition1 ( G4double  val  )  [inline]

Definition at line 46 of file BesEmcGeometry.hh.

References BSCPosition1.

00046 {BSCPosition1=val;};

void BesEmcGeometry::SetBSCRmin ( G4double  val  )  [inline]

Definition at line 37 of file BesEmcGeometry.hh.

References BSCRmin.

00037 { BSCRmin=val;};

void BesEmcGeometry::SetBSCYFront ( G4double  val  )  [inline]

Definition at line 44 of file BesEmcGeometry.hh.

References BSCYFront.

00044 {BSCYFront=val;};

void BesEmcGeometry::SetBSCYFront0 ( G4double  val  )  [inline]

Definition at line 43 of file BesEmcGeometry.hh.

References BSCYFront0.

00043 {BSCYFront0=val;};

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]

Definition at line 35 of file BesEmcGeometry.hh.

References verboseLevel.

00035 { verboseLevel=val;}


Friends And Related Function Documentation

friend class BesEmcConstruction [friend]

Definition at line 25 of file BesEmcGeometry.hh.

friend class EmcGdmlWriter [friend]

Definition at line 26 of file BesEmcGeometry.hh.


Member Data Documentation

G4double BesEmcGeometry::AlPlateDz [private]

Definition at line 166 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 120 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 110 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::BSCPhiDz [private]

Definition at line 108 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::BSCPhiRmax [private]

Definition at line 107 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::BSCPhiRmin [private]

Definition at line 106 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters(), and ModifyForCasing().

G4double BesEmcGeometry::BSCPhiSphi [private]

Definition at line 109 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

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]

Definition at line 113 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::BSCRmax1 [private]

Definition at line 117 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters(), and ReadEMCParameters().

G4double BesEmcGeometry::BSCRmax2 [private]

Definition at line 119 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::BSCRmin [private]

Definition at line 112 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters(), GetBSCRmin(), ModifyForCasing(), ReadEMCParameters(), and SetBSCRmin().

G4double BesEmcGeometry::BSCRmin1 [private]

Definition at line 116 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::BSCRmin2 [private]

Definition at line 118 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 182 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::cablePosX[22] [private]

Definition at line 184 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::cablePosY[22] [private]

Definition at line 185 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::cablePosZ[22] [private]

Definition at line 186 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::EndRingDr [private]

Definition at line 205 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::EndRingDz [private]

Definition at line 204 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::EndRingRmin [private]

Definition at line 206 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 173 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::OCGirderAngle [private]

Definition at line 178 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::OCGirderDz[22] [private]

Definition at line 177 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::OCGirderPosZ[22] [private]

Definition at line 179 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::OCGirderRmin1[22] [private]

Definition at line 175 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::OCGirderRmin2[22] [private]

Definition at line 176 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::orgGlassLengthX [private]

Definition at line 156 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::orgGlassLengthY [private]

Definition at line 157 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::orgGlassLengthZ [private]

Definition at line 158 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::PABoxDz [private]

Definition at line 169 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::PABoxThickness [private]

Definition at line 170 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::PDLengthX [private]

Definition at line 161 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::PDLengthY [private]

Definition at line 162 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::PDLengthZ [private]

Definition at line 163 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 138 of file BesEmcGeometry.hh.

Referenced by GetPhysiBSCCrystal().

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]

Definition at line 148 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::rearBoxPosY[150] [private]

Definition at line 149 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::rearBoxPosZ[150] [private]

Definition at line 150 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::rearCasingThickness [private]

Definition at line 153 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 197 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::SPBarThickness [private]

Definition at line 194 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::SPBarThickness1 [private]

Definition at line 195 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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]

Definition at line 215 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::TaperRingDz [private]

Definition at line 216 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters(), and ReadEMCParameters().

G4double BesEmcGeometry::TaperRingInnerLength [private]

Definition at line 217 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::TaperRingOuterLength [private]

Definition at line 218 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters(), and ReadEMCParameters().

G4double BesEmcGeometry::TaperRingOuterLength1 [private]

Definition at line 219 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::TaperRingRmin1 [private]

Definition at line 213 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

G4double BesEmcGeometry::TaperRingRmin2 [private]

Definition at line 214 of file BesEmcGeometry.hh.

Referenced by ComputeEMCParameters().

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]

Definition at line 189 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

G4double BesEmcGeometry::waterPipeThickness [private]

Definition at line 190 of file BesEmcGeometry.hh.

Referenced by ReadEMCParameters().

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().


Generated on Tue Nov 29 23:17:30 2016 for BOSS_7.0.2 by  doxygen 1.4.7