/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkExtAlg/TrkExtAlg-00-00-64/TrkExtAlg/ExtBesEmcGeometry.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------//
00002 //      BESIII Object_Oreiented Simulation and Reconstruction Tool           //
00003 //---------------------------------------------------------------------------//
00004 //Descpirtion: Geometry of EMC detector 
00005 //Author: Fu Chengdong
00006 //Created: Oct 23, 2003
00007 //Comment:
00008 //---------------------------------------------------------------------------//
00009 //
00010 #ifndef ExtBesEmcGeometry_h
00011 #define ExtBesEmcGeometry_h 1
00012 
00013 #include "globals.hh"
00014 #include "G4ThreeVector.hh"
00015 
00016 class ExtBesEmcConstruction;
00017 class G4VPhysicalVolume;
00018 
00019 class ExtBesEmcGeometry
00020 {
00021 public:
00022   ExtBesEmcGeometry();
00023   ~ExtBesEmcGeometry();
00024   friend class ExtBesEmcConstruction;
00025 public:
00026   void ReadEMCParameters();// Read EMC parameters from database
00027   void ComputeEMCParameters();// Compute derived parameters of the calorimeter
00028   void ModifyForCasing();// Compute the sizes of the naked crystals 
00029                          // and the casing
00030   void PrintEMCParameters();// Print EMC parameters
00031 public:
00032   
00033   inline void SetVerboseLevel(G4int val){ verboseLevel=val;}
00034   
00035   inline void SetBSCRmin(G4double val){ BSCRmin=val;};
00036   inline void SetBSCDz(G4double val){ BSCDz=val;};
00037   inline void SetBSCNbPhi(G4int val){BSCNbPhi=val;};
00038   inline void SetBSCNbTheta(G4int val){BSCNbTheta=val;};
00039   inline void SetBSCCrystalLength(G4double val){BSCCryLength=val;};
00040   inline void SetBSCYFront0(G4double val){BSCYFront0=val;};
00041   inline void SetBSCYFront(G4double val){BSCYFront=val;};
00042   inline void SetBSCPosition0(G4double val){BSCPosition0=val;};
00043   inline void SetBSCPosition1(G4double val){BSCPosition1=val;};
00044   inline void SetBSCAngleRotat(G4double val){BSCAngleRotat=val;};
00045 
00046   void SetCasingThickness(G4ThreeVector);
00047 
00048 public:
00049   G4int GetVerboseLevel() {return verboseLevel;};
00050 
00051   G4double GetBSCRmin()             {return BSCRmin;};
00052   G4double GetBSCDz()              {return BSCDz;};
00053   G4int GetBSCNbPhi()              {return BSCNbPhi;};
00054   G4int GetBSCNbTheta()            {return BSCNbTheta;};
00055   G4double GetBSCCryLength()       {return BSCCryLength;};
00056   G4double GetBSCYFront()          {return BSCYFront;};
00057   G4double GetBSCYFront0()          {return BSCYFront0;};
00058   G4double GetBSCPositon0()          {return BSCPosition0;};
00059   G4double GetBSCPositon1()          {return BSCPosition1;};
00060   G4double GetBSCAngleRotat()          {return BSCAngleRotat;};
00061   
00062   G4ThreeVector GetCasingThickness()   {return G4ThreeVector(fTyvekThickness,fAlThickness,fMylarThickness);};
00063 
00064   G4double GetXPosition(G4int NbCrystal);
00065   G4double GetYPosition(G4int NbCrystal);
00066   G4double GetZPosition(G4int NbCrystal);
00067   G4double GetThetaPosition(G4int NbCrystal);
00068   G4double GetZHalfLength(G4int NbCrystal);
00069   G4double GetThetaAxis(G4int NbCrystal);
00070   G4double GetPhiAxis(G4int NbCrystal);
00071   G4double GetYHalfLength1(G4int NbCrystal);
00072   G4double GetXHalfLength1(G4int NbCrystal);
00073   G4double GetXHalfLength2(G4int NbCrystal);
00074   G4double GetTanAlpha1(G4int NbCrystal);
00075   G4double GetYHalfLength2(G4int NbCrystal);
00076   G4double GetXHalfLength3(G4int NbCrystal);
00077   G4double GetXHalfLength4(G4int NbCrystal);
00078   G4double GetTanAlpha2(G4int NbCrystal);
00079   G4VPhysicalVolume* GetPhysiBSCCrystal(G4int NbCrystal);
00080 
00081   G4double GetRearBoxLength(G4int NbCrystal);
00082   G4double GetRearBoxDz(G4int NbCrystal);
00083   G4double GetRearBoxPosX(G4int NbCrystal);
00084   G4double GetRearBoxPosY(G4int NbCrystal);
00085   G4double GetRearBoxPosZ(G4int NbCrystal);
00086   G4double GetRearBoxPosTheta(G4int NbCrystal);
00087 
00088 private:
00089   G4int              verboseLevel;
00090 
00091   G4double           BSCCryLength;
00092   G4double           BSCYFront0;
00093   G4double           BSCYFront;
00094   G4double           BSCYFront1;
00095   G4double           BSCPosition0;
00096   G4double           BSCPosition1;
00097   
00098   G4int              BSCNbPhi;
00099   G4int              BSCNbTheta;
00100 
00101   G4double           BSCPhiRmin;
00102   G4double           BSCPhiRmax;
00103   G4double           BSCPhiDz;
00104   G4double           BSCPhiSphi;
00105   G4double           BSCPhiDphi;
00106   G4double           BSCAngleRotat;
00107   G4double           BSCRmin;
00108   G4double           BSCRmax;
00109   G4double           BSCDz;
00110 
00111   G4double           BSCRmin1;
00112   G4double           BSCRmax1;
00113   G4double           BSCRmin2;
00114   G4double           BSCRmax2;
00115   G4double           BSCDz1;
00116   
00117   G4double           zHalfLength[150];
00118   G4double           thetaAxis[150];
00119   G4double           phiAxis[150];
00120   G4double           yHalfLength1[150];
00121   G4double           xHalfLength1[150];
00122   G4double           xHalfLength2[150];
00123   G4double           tanAlpha1[150];
00124   G4double           yHalfLength2[150];
00125   G4double           xHalfLength3[150];
00126   G4double           xHalfLength4[150];
00127   G4double           tanAlpha2[150];
00128   G4double           thetaPosition[150];
00129   G4double           xPosition[150];
00130   G4double           yPosition[150];
00131   G4double           zPosition[150];
00132 
00133   G4VPhysicalVolume* physiBSCCrystal[50];
00134 
00135   G4double           fTyvekThickness;
00136   G4double           fAlThickness;
00137   G4double           fMylarThickness;
00138 
00140   //other substance on the rear face of crystal
00141   G4double            rearBoxLength;
00142   G4double            rearBoxDz;
00143   G4double            rearBoxPosX[150];
00144   G4double            rearBoxPosY[150];
00145   G4double            rearBoxPosZ[150];
00146 
00147   //tyvek casing
00148   G4double            rearCasingThickness;
00149 
00150   //organic glass
00151   G4double            orgGlassLengthX;
00152   G4double            orgGlassLengthY;
00153   G4double            orgGlassLengthZ;
00154 
00155   //photodiode
00156   G4double            PDLengthX;
00157   G4double            PDLengthY;
00158   G4double            PDLengthZ;
00159 
00160   //Al plate
00161   G4double            AlPlateDz;
00162 
00163   //preamplifier box
00164   G4double            PABoxDz;
00165   G4double            PABoxThickness;
00166 
00167   //stainless steel plate for hanging the crystal
00168   G4double            HangingPlateDz;
00169 
00170   G4double            OCGirderRmin1[22];
00171   G4double            OCGirderRmin2[22];
00172   G4double            OCGirderDz[22];
00173   G4double            OCGirderAngle; 
00174   G4double            OCGirderPosZ[22];
00175 
00176   //cable
00177   G4double            cableLength[22];
00178   G4double            cableDr;
00179   G4double            cablePosX[22];
00180   G4double            cablePosY[22];
00181   G4double            cablePosZ[22];
00182 
00183   //water pipe
00184   G4double            waterPipeDr;
00185   G4double            waterPipeThickness;
00186 
00188   //barrel support frame
00189   G4double            SPBarThickness;
00190   G4double            SPBarThickness1;
00191   G4double            SPBarwidth;
00192   G4double            SPBarDphi;
00193   G4double            RFBarThickness;
00194   G4int               RFBarHoleNb;
00195   G4double            RFBarHoleDphi;
00196   G4double            RFBarHoleDz;
00197 
00198   //end ring
00199   G4double            EndRingDz;
00200   G4double            EndRingDr;
00201   G4double            EndRingRmin;
00202 
00203   //taper ring
00204   G4double            TaperRingThickness1;
00205   G4double            TaperRingThickness2;
00206   G4double            TaperRingThickness3;
00207   G4double            TaperRingTheta;
00208   G4double            TaperRingRmin1;
00209   G4double            TaperRingRmin2;
00210   G4double            TaperRingDr;
00211   G4double            TaperRingDz;
00212   G4double            TaperRingInnerLength;
00213   G4double            TaperRingOuterLength;
00214   G4double            TaperRingOuterLength1;
00215 
00216 };
00217 #endif
00218 
00219 

Generated on Tue Nov 29 23:14:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7