00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ExtBesEmcParameter_h
00013 #define ExtBesEmcParameter_h 1
00014
00015 #include "globals.hh"
00016
00017 class ExtBesEmcParameter
00018 {
00019 public:
00020
00021 ExtBesEmcParameter();
00022 ~ExtBesEmcParameter();
00023
00024
00025 static ExtBesEmcParameter& GetInstance();
00026 static bool Exist();
00027 static void Kill();
00028
00029 private:
00030
00031 static ExtBesEmcParameter* fpInstance;
00032
00033 public:
00034
00035 void ReadData();
00036
00037 G4long GetArraySize(){ return array_size; }
00038 G4double GetTau(){ return m_tau; }
00039 G4double GetHighRange(){ return m_highRange; }
00040 G4double GetMidRange(){ return m_midRange; }
00041 G4double GetLowRange(){ return m_lowRange; }
00042 G4double GetSampleTime(){ return m_sampleTime; }
00043 G4double GetPeakTime() { return m_peakTime; }
00044 G4double GetTimeOffset() { return m_timeOffset; }
00045 G4int GetADCbit(){ return m_bitNb; }
00046 G4double GetPhotonsPerMeV(){ return m_photonsPerMeV; }
00047 G4double GetNonuniformity(){ return m_nonuniformity; }
00048
00049 G4double GetWorldRmin1(){ return WorldRmin1; }
00050 G4double GetWorldRmax1(){ return WorldRmax1; }
00051 G4double GetWorldRmin2(){ return WorldRmin2; }
00052 G4double GetWorldRmax2(){ return WorldRmax2; }
00053 G4double GetWorldDz(){ return WorldDz; }
00054 G4double GetWorldZPosition(){ return WorldZPosition; }
00055 G4double GetCrystalLength(){ return CrystalLength; }
00056
00057 G4int GetCryInOneLayer(G4int nb){ return cryNumInOneLayer[nb]; }
00058 G4int GetPentaInOneSector(G4int nb){ return pentaInOneSector[nb]; }
00059
00060 G4double GetTyvekThickness(){ return fTyvekThickness; }
00061 G4double GetAlThickness(){ return fAlThickness; }
00062 G4double GetMylarThickness(){ return fMylarThickness; }
00063
00064 G4double GetBSCRmin(){ return BSCRmin; }
00065 G4double GetBSCDz(){ return BSCDz; }
00066 G4double GetBSCRmin1(){ return BSCRmin1; }
00067 G4double GetBSCRmax1(){ return BSCRmax1; }
00068 G4double GetBSCRmin2(){ return BSCRmin2; }
00069 G4double GetBSCRmax2(){ return BSCRmax2; }
00070 G4double GetBSCDz1(){ return BSCDz1; }
00071
00072 G4double GetBSCAngleRotat(){ return BSCAngleRotat; }
00073 G4int GetBSCNbPhi(){ return BSCNbPhi; }
00074 G4int GetBSCNbTheta(){ return BSCNbTheta; }
00075
00076 G4double GetBSCYFront0(){ return BSCYFront0; }
00077 G4double GetBSCYFront(){ return BSCYFront; }
00078 G4double GetBSCYFront1(){ return BSCYFront1; }
00079 G4double GetBSCPosition0(){ return BSCPosition0; }
00080 G4double GetBSCPosition1(){ return BSCPosition1; }
00081
00082 G4double GetTaperRingDz(){ return TaperRingDz; }
00083 G4double GetTaperRingThickness1(){ return TaperRingThickness1; }
00084 G4double GetTaperRingThickness2(){ return TaperRingThickness2; }
00085 G4double GetTaperRingThickness3(){ return TaperRingThickness3; }
00086 G4double GetTaperRingTheta(){ return TaperRingTheta; }
00087 G4double GetTaperRingInnerLength(){ return TaperRingInnerLength; }
00088 G4double GetTaperRingOuterLength(){ return TaperRingOuterLength; }
00089
00090 G4double GetRearBoxLength(){ return rearBoxLength; }
00091 G4double GetRearBoxDz(){ return rearBoxDz; }
00092 G4double GetHangingPlateDz(){ return HangingPlateDz; }
00093 G4double GetOCGirderAngle(){ return OCGirderAngle; }
00094
00095 G4double GetRearCasingThickness(){ return rearCasingThickness; }
00096
00097 G4double GetOrgGlassLengthX(){ return orgGlassLengthX; }
00098 G4double GetOrgGlassLengthY(){ return orgGlassLengthY; }
00099 G4double GetOrgGlassLengthZ(){ return orgGlassLengthZ; }
00100
00101 G4double GetPDLengthX(){ return PDLengthX; }
00102 G4double GetPDLengthY(){ return PDLengthY; }
00103 G4double GetPDLengthZ(){ return PDLengthZ; }
00104
00105 G4double GetAlPlateDz(){ return AlPlateDz; }
00106 G4double GetPABoxDz(){ return PABoxDz; }
00107 G4double GetPABoxThickness(){ return PABoxThickness; }
00108
00109 G4double GetCableDr(){ return cableDr; }
00110 G4double GetWaterPipeDr(){ return waterPipeDr; }
00111 G4double GetWaterPipeThickness(){ return waterPipeThickness; }
00112
00113 G4double GetSPBarThickness(){ return SPBarThickness; }
00114 G4double GetSPBarThickness1(){ return SPBarThickness1; }
00115 G4double GetSPBarwidth(){ return SPBarwidth; }
00116
00117 G4double GetEndRingDz(){ return EndRingDz; }
00118 G4double GetEndRingDr(){ return EndRingDr; }
00119 G4double GetEndRingRmin(){ return EndRingRmin; }
00120
00121 private:
00122
00123
00124 G4long array_size;
00125 G4double m_tau;
00126 G4double m_highRange;
00127 G4double m_midRange;
00128 G4double m_lowRange;
00129 G4double m_sampleTime;
00130 G4double m_peakTime;
00131 G4double m_timeOffset;
00132 G4int m_bitNb;
00133 G4double m_photonsPerMeV;
00134 G4double m_nonuniformity;
00135
00136
00137 G4double WorldRmin1;
00138 G4double WorldRmax1;
00139 G4double WorldRmin2;
00140 G4double WorldRmax2;
00141 G4double WorldDz;
00142 G4double WorldZPosition;
00143 G4double CrystalLength;
00144
00145 G4int cryNumInOneLayer[6];
00146 G4int pentaInOneSector[5];
00147
00148
00149 G4double fTyvekThickness;
00150 G4double fAlThickness;
00151 G4double fMylarThickness;
00152
00153
00154 G4double BSCRmin;
00155 G4double BSCDz;
00156 G4double BSCRmin1;
00157 G4double BSCRmax1;
00158 G4double BSCRmin2;
00159 G4double BSCRmax2;
00160 G4double BSCDz1;
00161
00162 G4double BSCAngleRotat;
00163 G4int BSCNbPhi;
00164 G4int BSCNbTheta;
00165
00166 G4double BSCYFront0;
00167 G4double BSCYFront;
00168 G4double BSCYFront1;
00169 G4double BSCPosition0;
00170 G4double BSCPosition1;
00171
00172
00173 G4double TaperRingDz;
00174 G4double TaperRingThickness1;
00175 G4double TaperRingThickness2;
00176 G4double TaperRingThickness3;
00177 G4double TaperRingTheta;
00178 G4double TaperRingInnerLength;
00179 G4double TaperRingOuterLength;
00180
00181 G4double rearBoxLength;
00182 G4double rearBoxDz;
00183 G4double HangingPlateDz;
00184 G4double OCGirderAngle;
00185
00186 G4double rearCasingThickness;
00187
00188 G4double orgGlassLengthX;
00189 G4double orgGlassLengthY;
00190 G4double orgGlassLengthZ;
00191
00192 G4double PDLengthX;
00193 G4double PDLengthY;
00194 G4double PDLengthZ;
00195
00196 G4double AlPlateDz;
00197 G4double PABoxDz;
00198 G4double PABoxThickness;
00199
00200 G4double cableDr;
00201 G4double waterPipeDr;
00202 G4double waterPipeThickness;
00203
00204 G4double SPBarThickness;
00205 G4double SPBarThickness1;
00206 G4double SPBarwidth;
00207
00208 G4double EndRingDz;
00209 G4double EndRingDr;
00210 G4double EndRingRmin;
00211 };
00212
00213 #endif