00001 #ifndef ROOT_TEcnaParEcal 00002 #define ROOT_TEcnaParEcal 00003 00005 // // 00006 // TEcnaParEcal Init ECAL Parameters // 00007 // // 00008 // // 00009 // // 00011 00012 #include <Riostream.h> 00013 #include "TNamed.h" 00014 00015 class TEcnaParEcal : public TNamed { 00016 00017 protected: 00018 00019 void Init(); 00020 00021 private: 00022 00023 Int_t fgMaxCar; // Max nb of caracters for char* or TString 00024 TString fTTBELL; 00025 00026 Int_t fCnew; // flags for dynamical allocation 00027 Int_t fCdelete; 00028 00029 //....... Current subdetector flag and codes 00030 00031 TString fFlagSubDet; 00032 TString fCodeEB; 00033 TString fCodeEE; 00034 00035 //....... ECAL parameters 00036 00037 //.......................... EB 00038 00039 Int_t fMaxSampADCEB; // Maximum number of samples ADC 00040 00041 Int_t fMaxEvtsInBurstPedRunEB; // Maximum number of events per burst in Pedestal Runs 00042 00043 Int_t fMaxSMEtaInEB; // Maximum number of SMs in eta in EB 00044 Int_t fMaxSMPhiInEB; // Maximum number of SMs in phi in EB 00045 00046 Int_t fMaxSMInEBPlus; // Maximum number of SMs in EB+ 00047 Int_t fMaxSMInEBMinus; // Maximum number of SMs in EB- 00048 Int_t fMaxSMInEB; // Maximum number of SMs in EB 00049 00050 Int_t fMaxTowEtaInEB; // Maximum number of towers in eta in EB 00051 Int_t fMaxTowPhiInEB; // Maximum number of towers in phi in EB 00052 00053 Int_t fMaxTowEtaInSM; // Maximum number of towers in eta in SM 00054 Int_t fMaxTowPhiInSM; // Maximum number of towers in phi in SM 00055 Int_t fMaxTowInSM; // Maximum number of towers in SM 00056 // ( = fMaxTowEtaInSM*fMaxTowPhiInSM ) 00057 00058 Int_t fMaxCrysEtaInTow; // Maximum number of crystals in eta in a tower 00059 Int_t fMaxCrysPhiInTow; // Maximum number of crystals in phi in a tower 00060 Int_t fMaxCrysInTow; // Maximum number of crystals in a tower 00061 // ( = fMaxCrysEtaInTow*fMaxCrysPhiInTow ) 00062 00063 Int_t fMaxCrysEtaInSM; // Maximum number of crystals in eta in SM 00064 // ( = fMaxTowEtaInSM*fMaxCrysEtaInTow ) 00065 00066 Int_t fMaxCrysPhiInSM; // Maximum number of crystals in phi in SM 00067 // ( = fMaxTowPhiInSM*fMaxCrysPhiInTow ) 00068 00069 Int_t fMaxCrysInSM; // Maximum number of crystals in SM 00070 // ( = fMaxTowInSM*fMaxCrysInTow ) 00071 00072 //.......................... EE 00073 00074 Int_t fMaxSampADCEE; // Maximum number of samples ADC 00075 00076 Int_t fMaxEvtsInBurstPedRunEE; // Maximum number of events per burst in Pedestal Runs 00077 00078 Int_t fMaxDeeIXInEE; // Maximum number of Dees in IX in EE 00079 Int_t fMaxDeeIYInEE; // Maximum number of Dees in IY in EE 00080 00081 Int_t fMaxDeeInEEPlus; // Maximum number of Dees in EE+ 00082 Int_t fMaxDeeInEEMinus; // Maximum number of Dees in EE- 00083 Int_t fMaxDeeInEE; // Maximum number of Dees in EE 00084 00085 Int_t fMaxSCIXInEE; // Maximum number of SC's in IX in EE 00086 Int_t fMaxSCIYInEE; // Maximum number of SC's in IY in EE 00087 00088 Int_t fMaxSCIXInDee; // Maximum number of super-crystals in IX in Dee 00089 Int_t fMaxSCIYInDee; // Maximum number of super-crystals in IY in Dee 00090 Int_t fMaxSCEcnaInDee; // Maximum ECNA number of super-crystals in the Dee matrix 00091 // ( = fMaxSCIXInDee*fMaxSCIYInDee ) 00092 Int_t fMaxSCForConsInDee; // Maximum number of super-crystals for construction in Dee 00093 00094 Int_t fMaxCrysIXInSC; // Maximum number of crystals in IX in a super-crystal 00095 Int_t fMaxCrysIYInSC; // Maximum number of crystals in IY in a super-crystal 00096 Int_t fMaxCrysInSC; // Maximum number of crystals in a super-crystal 00097 // ( = fMaxCrysIXInSC*fMaxCrysIYInSC ) 00098 00099 Int_t fMaxCrysIXInDee; // Maximum number of crystals in IX in Dee 00100 // ( = fMaxSCIXInDee*fMaxCrysIXInSC ) 00101 00102 Int_t fMaxCrysIYInDee; // Maximum number of crystals in IY in Dee 00103 // ( = fMaxSCIYInDee*fMaxCrysIYInSC ) 00104 00105 Int_t fMaxCrysEcnaInDee; // Maximum number of crystals in Dee matrix 00106 // ( = fMaxSCEcnaInDee*fMaxCrysInSC ) 00107 Int_t fMaxCrysForConsInDee; // Maximum number of crystals for construction in Dee 00108 // ( = fMaxSCForConsInDee*fMaxCrysInSC ) 00109 00110 Int_t fMaxDSInEEPlus; // Maximum number of Data Sectors in EE+ 00111 Int_t fMaxDSInEEMinus; // Maximum number of Data Sectors in EE- 00112 Int_t fMaxDSInEE; // Maximum number of Data Sectors in EE 00113 00114 Int_t fNumberOfNotConnectedSCs; // for SCs 182, 178, 207, etc... 00115 Int_t fNumberOfNotCompleteSCs; // for SCs 161, 216, 224, etc... 00116 00117 //.......................... Stas (current Subdetector) 00118 00119 Int_t fMaxSampADC; // Maximum number of samples ADC 00120 00121 Int_t fMaxEvtsInBurstPedRun; // Maximum number of events per burst in Pedestal Runs 00122 00123 Int_t fMaxStexHocoInStas; // Maximum number of Stex's in Hoco in the Stas 00124 Int_t fMaxStexVecoInStas; // Maximum number of Stex's in Veco in the Stas 00125 00126 Int_t fMaxStexInStasPlus; // Maximum number of Stex's in the Stas+ 00127 Int_t fMaxStexInStasMinus; // Maximum number of Stex's in the Stas- 00128 Int_t fMaxStexInStas; // Maximum number of Stex's in the Stas 00129 00130 Int_t fMaxStinHocoInStas; // Maximum number of Stex's in Hoco in the Stas 00131 Int_t fMaxStinVecoInStas; // Maximum number of Stex's in Veco in the Stas 00132 00133 Int_t fMaxStinHocoInStex; // Maximum number of Stin's in Hoco in a Stex 00134 Int_t fMaxStinVecoInStex; // Maximum number of Stin's in Veco in a Stex 00135 Int_t fMaxStinEcnaInStex; // Maximum number of Stin's in a Stex ("Ecna" Stex matrix for Dee) 00136 // ( = fMaxStinHocoInStex*fMaxStinVecoInStex ) 00137 00138 Int_t fMaxCrysHocoInStin; // Maximum number of crystals in Hoco in a Stin 00139 Int_t fMaxCrysVecoInStin; // Maximum number of crystals in Veco in a Stin 00140 Int_t fMaxCrysInStin; // Maximum number of crystals in a Stin 00141 // ( = fMaxCrysHocoInStin*fMaxCrysVecoInStin ) 00142 00143 Int_t fMaxCrysHocoInStex; // Maximum number of crystals in Hoco in a Stex 00144 // ( = fMaxStinHocoInStex*fMaxCrysHocoInStin ) 00145 00146 Int_t fMaxCrysVecoInStex; // Maximum number of crystals in Veco in a Stex 00147 // ( = fMaxStinVecoInStex*fMaxCrysVecoInStin ) 00148 00149 Int_t fMaxCrysEcnaInStex; // Maximum number of crystals in a ECNA matrix Stex 00150 // ( = fMaxStinEcnaInStex*fMaxCrysInStin ) 00151 00152 Int_t fMaxStinInStex; // EB: Maximum number of towers in SM (= fMaxStinEcnaInStex = fMaxTowInSM) 00153 // EE: Maximum number of SC for Construction in Dee (= fMaxSCForConsInDee) 00154 00155 Int_t fMaxCrysInStex; // EB: Maximum number of crystals in SM (= fMaxCrysEcnaInStex = fMaxCrysInSM) 00156 // EE: Maximum number of crystals for Construction in Dee (= fMaxCrysForConsInDee) 00157 00158 // Int_t fMaxStinForConsInStas; // Maximum number of towers in EB 00159 // or Maximum number of SC for construction in EE 00160 00161 //------------------------------- methods 00162 00163 public: 00164 00165 TEcnaParEcal(); 00166 TEcnaParEcal(const TString); 00167 ~TEcnaParEcal(); 00168 00169 void SetEcalSubDetector(const TString); 00170 TString GetEcalSubDetector(); 00171 00172 //............................. EB 00173 Int_t MaxSampADCEB(); 00174 Int_t MaxEvtsInBurstPedRunEB(); 00175 00176 Int_t MaxSMEtaInEB(); 00177 Int_t MaxSMPhiInEB(); 00178 00179 Int_t MaxSMInEBPlus(); 00180 Int_t MaxSMInEBMinus(); 00181 Int_t MaxSMInEB(); 00182 00183 Int_t MaxTowEtaInEB(); 00184 Int_t MaxTowPhiInEB(); 00185 00186 Int_t MaxTowEtaInSM(); 00187 Int_t MaxTowPhiInSM(); 00188 Int_t MaxTowInSM(); 00189 00190 Int_t MaxCrysEtaInTow(); 00191 Int_t MaxCrysPhiInTow(); 00192 Int_t MaxCrysInTow(); 00193 00194 Int_t MaxCrysEtaInSM(); 00195 Int_t MaxCrysPhiInSM(); 00196 Int_t MaxCrysInSM(); 00197 00198 //............................. EE 00199 Int_t MaxSampADCEE(); 00200 Int_t MaxEvtsInBurstPedRunEE(); 00201 00202 Int_t MaxDeeIXInEE(); 00203 Int_t MaxDeeIYInEE(); 00204 00205 Int_t MaxDeeInEEPlus(); 00206 Int_t MaxDeeInEEMinus(); 00207 Int_t MaxDeeInEE(); 00208 00209 Int_t MaxSCIXInEE(); 00210 Int_t MaxSCIYInEE(); 00211 00212 Int_t MaxSCIXInDee(); 00213 Int_t MaxSCIYInDee(); 00214 Int_t MaxSCEcnaInDee(); 00215 Int_t MaxSCForConsInDee(); 00216 00217 Int_t MaxCrysIXInSC(); 00218 Int_t MaxCrysIYInSC(); 00219 Int_t MaxCrysInSC(); 00220 00221 Int_t MaxCrysIXInDee(); 00222 Int_t MaxCrysIYInDee(); 00223 Int_t MaxCrysEcnaInDee(); 00224 Int_t MaxCrysForConsInDee(); 00225 00226 Int_t MaxDSInEE(); 00227 00228 Int_t NumberOfNotConnectedSCs(); 00229 Int_t NumberOfNotCompleteSCs(); 00230 00231 //............................. Current subdetector (Stin-Stex-Stas) 00232 Int_t MaxSampADC(); 00233 Int_t MaxEvtsInBurstPedRun(); 00234 00235 Int_t MaxStexHocoInStas(); 00236 Int_t MaxStexVecoInStas(); 00237 00238 Int_t MaxStexInStasPlus(); 00239 Int_t MaxStexInStasMinus(); 00240 Int_t MaxStexInStas(); 00241 00242 Int_t MaxStinHocoInStas(); 00243 Int_t MaxStinVecoInStas(); 00244 // Int_t MaxStinForConsInStas(); 00245 00246 Int_t MaxStinHocoInStex(); 00247 Int_t MaxStinVecoInStex(); 00248 Int_t MaxStinEcnaInStex(); 00249 Int_t MaxStinInStex(); 00250 00251 Int_t MaxCrysHocoInStex(); 00252 Int_t MaxCrysVecoInStex(); 00253 Int_t MaxCrysEcnaInStex(); 00254 Int_t MaxCrysInStex(); 00255 00256 Int_t MaxCrysHocoInStin(); 00257 Int_t MaxCrysVecoInStin(); 00258 Int_t MaxCrysInStin(); 00259 00260 ClassDef(TEcnaParEcal,1) //Init of ECAL parameters 00261 }; 00262 #endif