CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h

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