CMS 3D CMS Logo

TEBNumbering Class Reference

#include <CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEBNumbering.h>

List of all members.

Public Member Functions

void BuildCrysTable ()
Double_t GetEta (const Int_t &, const Int_t &, const Int_t &)
Double_t GetEtaMax (const Int_t &, const Int_t &)
Double_t GetEtaMin (const Int_t &, const Int_t &)
Double_t GetIEtaMax (const Int_t &)
Double_t GetIEtaMax (const Int_t &, const Int_t &)
Double_t GetIEtaMin (const Int_t &)
Double_t GetIEtaMin (const Int_t &, const Int_t &)
Double_t GetJPhiMax (const Int_t &)
Double_t GetJPhiMax (const Int_t &, const Int_t &)
Double_t GetJPhiMin (const Int_t &)
Double_t GetJPhiMin (const Int_t &, const Int_t &)
TString GetJYDirection (const Int_t &)
Double_t GetPhi (const Int_t &, const Int_t &, const Int_t &)
Double_t GetPhiMax (const Int_t &)
Double_t GetPhiMax (const Int_t &, const Int_t &)
Double_t GetPhiMin (const Int_t &)
Double_t GetPhiMin (const Int_t &, const Int_t &)
Double_t GetSMCentralPhi (const Int_t &)
Int_t GetSMCrysFromSMEcha (const Int_t &)
Int_t GetSMCrysFromSMTowAndTowEcha (const Int_t &, const Int_t &)
TString GetSMHalfBarrel (const Int_t &)
Int_t GetSMTowFromSMCrys (const Int_t &)
Int_t GetSMTowFromSMEcha (const Int_t &)
Int_t GetTowEchaFromSMCrys (const Int_t &)
Int_t GetTowEchaFromSMEcha (const Int_t &)
TString GetTowerLvrbType (const Int_t &)
TString GetXDirection (const Int_t &)
TString GetYDirection (const Int_t &)
void PrintAllComments ()
void PrintComments ()
void PrintNoComment ()
void PrintWarnings ()
 TEBNumbering ()
 ~TEBNumbering ()

Protected Member Functions

void Init ()

Private Attributes

Int_t fCdelete
Int_t fCnew
TString fCodeChNumberingLvrbBot
TString fCodeChNumberingLvrbTop
Int_t fCodePrintAllComments
Int_t fCodePrintComments
Int_t fCodePrintNoComment
Int_t fCodePrintWarnings
TEBParametersfEcal
Int_t fFlagPrint
Int_t fMaxCrysEtaInSM
Int_t fMaxCrysEtaInTow
Int_t fMaxCrysInSM
Int_t fMaxCrysInTow
Int_t fMaxCrysPhiInSM
Int_t fMaxCrysPhiInTow
Int_t fMaxEvtsInBurstPedRun
Int_t fMaxSampADC
Int_t fMaxSMInBarMinus
Int_t fMaxSMInBarPlus
Int_t fMaxSMInBarrel
Int_t fMaxTowEtaInSM
Int_t fMaxTowInSM
Int_t fMaxTowPhiInSM
Int_t * fT1dSMCrys
Int_t * fT1dSMTow
Int_t * fT1dTowEcha
Int_t ** fT2dSMCrys
TString fTTBELL


Detailed Description

Definition at line 8 of file TEBNumbering.h.


Constructor & Destructor Documentation

TEBNumbering::TEBNumbering (  ) 

TEBNumbering::~TEBNumbering (  ) 

Definition at line 31 of file TEBNumbering.cc.

References fCdelete, fEcal, fT1dSMCrys, fT1dSMTow, fT1dTowEcha, and fT2dSMCrys.

00031                             {
00032 //destructor
00033 
00034   if (fEcal != 0){delete fEcal; fCdelete++;}
00035   if (fT2dSMCrys  != 0){delete [] fT2dSMCrys;  fCdelete++;}
00036   if (fT1dSMCrys  != 0){delete [] fT1dSMCrys;  fCdelete++;}
00037   if (fT1dSMTow   != 0){delete [] fT1dSMTow;   fCdelete++;}
00038   if (fT1dTowEcha != 0){delete [] fT1dTowEcha; fCdelete++;}
00039 }


Member Function Documentation

void TEBNumbering::BuildCrysTable (  ) 

Definition at line 100 of file TEBNumbering.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), fCdelete, fCnew, fCodePrintAllComments, fEcal, fFlagPrint, fT1dSMCrys, fT1dSMTow, fT1dTowEcha, fT2dSMCrys, k, TEBParameters::MaxCrysInSM(), TEBParameters::MaxCrysInTow(), and TEBParameters::MaxTowInSM().

Referenced by GetSMCrysFromSMTowAndTowEcha(), and Init().

00101 {
00102 // Build the correspondance table: SMCrys <-> (SMTow, TowEcha)
00103 //
00104 //  From CMS Internal Note  "CMS ECAL Barrel channel numbering"
00105 //
00106 //       Name      Number                     Reference set   Range        Comment
00107 //
00108 //       SMTow  : Tower number               in SuperModule  [1,68]      (phi,eta) progression
00109 //       SMCrys : Crystal number             in SuperModule  [1,1700]    (phi,eta) progression
00110 //       SMEcha : Electronic channel number  in SuperModule  [0,1699]    S shape data reading order 
00111 //   
00112 //       TowEcha: Electronic channel number  in Tower        [0,24]      S shape data reading order  
00113 //
00114 //
00115 //   fill the 2D array:  fT2dSMCrys[n_SMTow][n_TowEcha]
00116 //
00117 //   and the 1d arrays:  fT1dSMTow[i_SMCrys] and fT1dTowEcha[i_SMCrys]
00118 //
00119 //-----------------------------------------------------------------------------------------------------
00120 
00121   if ( fT2dSMCrys == 0 )
00122     {
00123       Int_t MaxSMTow   = fEcal->MaxTowInSM();
00124       Int_t MaxTowEcha = fEcal->MaxCrysInTow();
00125       Int_t MaxSMCrys  = fEcal->MaxCrysInSM();
00126       
00127       //................... Allocation CrysNumbersTable
00128       
00129       fT2dSMCrys = new Int_t*[MaxSMTow];                         fCnew++;  
00130       fT1dSMCrys = new  Int_t[MaxSMTow*MaxTowEcha];              fCnew++;   
00131       for(Int_t i_SMTow = 0 ; i_SMTow < MaxSMTow ; i_SMTow++){
00132         fT2dSMCrys[i_SMTow] = &fT1dSMCrys[0] + i_SMTow*MaxTowEcha;}
00133       
00134       fT1dSMTow   = new Int_t[MaxSMCrys];                        fCnew++;
00135       fT1dTowEcha = new Int_t[MaxSMCrys];                        fCnew++;
00136 
00137       if(fFlagPrint == fCodePrintAllComments)
00138         {
00139           cout << "*TEBNumbering::BuilCrysdTable()> Allocation of CrysNumbersTable done."
00140                << " Max nb of towers = "    << MaxSMTow
00141                << ", max nb of crystals = " << MaxTowEcha << endl;
00142         }
00143       
00144       Int_t m2  = (Int_t)2;
00145       Int_t m26 = (Int_t)26;
00146 
00147       //      Int_t jch_type[2][26];
00148       Int_t** jch_type    = new Int_t*[m2];                      fCnew++;  
00149       Int_t*  jch_type_d1 = new Int_t[m2*m26];                   fCnew++;
00150       for(Int_t i_m2 = 0 ; i_m2 < m2 ; i_m2++){
00151         jch_type[i_m2] = &jch_type_d1[0] + i_m2*m26;}
00152 
00153       for(Int_t k=25;k>=21;k--){jch_type[0][k] = 25-k;}  //  k = 25,24,23,22,21 -> jch_type[0][k] = 0,1,2,3,4
00154       for(Int_t k=16;k<=20;k++){jch_type[0][k] = k-16;}  //  k = 16,17,18,19,20 -> jch_type[0][k] = 0,1,2,3,4
00155       for(Int_t k=15;k>=11;k--){jch_type[0][k] = 15-k;}  //  k = 15,14,12,13,11 -> jch_type[0][k] = 0,1,2,3,4
00156       for(Int_t k=6; k<=10;k++){jch_type[0][k] = k-6;}   //  k =  6, 7, 8, 9,10 -> jch_type[0][k] = 0,1,2,3,4
00157       for(Int_t k=5; k>=1; k--){jch_type[0][k] = 5-k;}   //  k =  5, 4, 3, 2, 1 -> jch_type[0][k] = 0,1,2,3,4
00158       
00159       for(Int_t k=1; k<=5; k++){jch_type[1][k] = k-1;}   //  k =  1, 2, 3, 4, 5 -> jch_type[1][k] = 0,1,2,3,4
00160       for(Int_t k=10;k>=6; k--){jch_type[1][k] = 10-k;}  //  k = 10, 9, 8, 7, 6 -> jch_type[1][k] = 0,1,2,3,4
00161       for(Int_t k=11;k<=15;k++){jch_type[1][k] = k-11;}  //  k = 11,12,13,14,15 -> jch_type[1][k] = 0,1,2,3,4
00162       for(Int_t k=20;k>=16;k--){jch_type[1][k] = 20-k;}  //  k = 20,19,18,17,16 -> jch_type[1][k] = 0,1,2,3,4
00163       for(Int_t k=21;k<=25;k++){jch_type[1][k] = k-21;}  //  k = 21,22,23,24,25 -> jch_type[1][k] = 0,1,2,3,4
00164 
00165       //      Int_t ich_type[2][26]; 
00166       Int_t** ich_type    = new Int_t*[m2];                      fCnew++;  
00167       Int_t*  ich_type_d1 = new Int_t[m2*m26];                   fCnew++;
00168       for(Int_t i_m2 = 0 ; i_m2 < m2 ; i_m2++){
00169         ich_type[i_m2] = &ich_type_d1[0] + i_m2*m26;}
00170      
00171       for(Int_t k=25;k>=21;k--){ich_type[0][k] = 0;}     //  k = 25,24,23,22,21 -> ich_type[0][k] = 0
00172       for(Int_t k=16;k<=20;k++){ich_type[0][k] = 1;}     //  k = 16,17,18,19,20 -> ich_type[0][k] = 1
00173       for(Int_t k=15;k>=11;k--){ich_type[0][k] = 2;}     //  k = 15,14,12,13,11 -> ich_type[0][k] = 2
00174       for(Int_t k=6; k<=10;k++){ich_type[0][k] = 3;}     //  k =  6, 7, 8, 9,10 -> ich_type[0][k] = 3
00175       for(Int_t k=5; k>=1; k--){ich_type[0][k] = 4;}     //  k =  5, 4, 3, 2, 1 -> ich_type[0][k] = 4
00176       
00177       for(Int_t k=1; k<=5; k++){ich_type[1][k] = 0;}     //  k =  1, 2, 3, 4, 5 -> ich_type[1][k] = 0
00178       for(Int_t k=10;k>=6; k--){ich_type[1][k] = 1;}     //  k = 10, 9, 8, 7, 6 -> ich_type[1][k] = 1
00179       for(Int_t k=11;k<=15;k++){ich_type[1][k] = 2;}     //  k = 11,12,13,14,15 -> ich_type[1][k] = 2
00180       for(Int_t k=20;k>=16;k--){ich_type[1][k] = 3;}     //  k = 20,19,18,17,16 -> ich_type[1][k] = 3
00181       for(Int_t k=21;k<=25;k++){ich_type[1][k] = 4;}     //  k = 21,22,23,24,25 -> ich_type[1][k] = 4
00182       
00183       //     Int_t type[17]={0,0,0,1,1, 0,0,1,1, 0,0,1,1, 0,0,1,1};
00184       Int_t m17 =17;
00185       Int_t* type = new Int_t[m17];                             fCnew++; 
00186 
00187       //  0 -> LVRB at the bottom, 1 -> LVRB at the top
00188       type[0] = 0;                   // M1
00189       type[1] = 0;
00190       type[2] = 0;
00191       type[3] = 1;
00192       type[4] = 1;
00193 
00194       type[5] = 0;                   // M2
00195       type[6] = 0;
00196       type[7] = 1;
00197       type[8] = 1;
00198 
00199       type[9]  = 0;                  // M3
00200       type[10] = 0;
00201       type[11] = 1;
00202       type[12] = 1;
00203 
00204       type[13] = 0;                  // M4
00205       type[14] = 0;
00206       type[15] = 1;
00207       type[16] = 1;
00208 
00209       for(Int_t tow=0; tow<MaxSMTow; tow++)                    //  tow  = 0 to 67   (MaxSMTow = 68)
00210         {
00211           for(Int_t ic=1; ic<=MaxTowEcha; ic++)                //  ic   = 1 to 25   (MaxTowEcha = 25) 
00212             {
00213               Int_t jtow = tow % 4;                            //  jtow = 0,1,2,3 
00214               Int_t itow = tow / 4;                            //  itow = 0 to 16
00215 
00216               Int_t icrys = itow*5 + ich_type[type[itow]][ic]; //  type[0->16] = 0,1 ,
00217                                                                //  ich_type[0->1][1->25] = 0,1,2,3,4
00218                                                                //  icrys = 0 to 84  (=> eta)
00219 
00220               Int_t jcrys = jtow*5 + jch_type[type[itow]][ic]; //  type[0->16] = 0,1 ,
00221                                                                //  jch_type[0->1][1->25] = 0,1,2,3,4
00222                                                                //  jcrys = 0 to 19  (=> phi)
00223 
00224               Int_t i_SMCrys = icrys*20+jcrys+1;               //  i_SMCrys = 1 to 1700
00225 
00226               fT2dSMCrys[tow][ic-1]   = i_SMCrys;
00227               fT1dSMTow[i_SMCrys-1]   = tow+1;
00228               fT1dTowEcha[i_SMCrys-1] = ic-1;
00229             }
00230         }
00231       // cout << "#TEBNumbering::TBuildCrysTable()> Crys Table Building done" << endl;
00232 
00233       delete [] jch_type;                       fCdelete++;
00234       delete [] jch_type_d1;                    fCdelete++;
00235       delete [] ich_type;                       fCdelete++;
00236       delete [] ich_type_d1;                    fCdelete++;
00237       delete [] type;                           fCdelete++;
00238     }
00239   else
00240     {
00241       // cout << "#TEBNumbering::TBuildCrysTable()> No Building of Crys Table since it is already done " << endl;
00242     }
00243 }
00244 

Double_t TEBNumbering::GetEta ( const Int_t &  super_module,
const Int_t &  SMtower,
const Int_t &  i_TowEcha 
)

Definition at line 418 of file TEBNumbering.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), eta, fCodeChNumberingLvrbBot, fCodeChNumberingLvrbTop, fEcal, fTTBELL, GetSMHalfBarrel(), GetTowerLvrbType(), TEBParameters::MaxCrysEtaInTow(), TEBParameters::MaxSMInBarrel(), and TEBParameters::MaxTowEtaInSM().

Referenced by TCnaViewEB::ViewSuperModuleTowerNumberingPad().

00419 {
00420 //Gives Eta for a given (super_module, SMtower, i_TowEcha)
00421   
00422   Double_t eta = (Double_t)0.;
00423 
00424   Int_t max_crys_eta_in_tower = fEcal->MaxCrysEtaInTow();
00425   Int_t max_tow_eta_in_sm     = fEcal->MaxTowEtaInSM();
00426   Int_t max_sm_in_barrel      = fEcal->MaxSMInBarrel();
00427 
00428   if ( super_module >= 1 && super_module <= max_sm_in_barrel )
00429     {
00430       for (Int_t i_tow_eta = 0; i_tow_eta < max_tow_eta_in_sm; i_tow_eta++)
00431         {
00432           Int_t i_crys_eta_min =    (Int_t)(1 + i_tow_eta*(max_crys_eta_in_tower-1));
00433           Int_t i_crys_eta_max =    (Int_t)((i_tow_eta+1)*(max_crys_eta_in_tower-1));
00434           Int_t i_crys_eta     =    (Int_t)(i_tow_eta*max_crys_eta_in_tower);
00435           Double_t d_echa_eta  = (Double_t)(i_TowEcha/max_crys_eta_in_tower);
00436 
00437             if ( SMtower >= i_crys_eta_min && SMtower <= i_crys_eta_max )
00438               {
00439                 if (GetTowerLvrbType(SMtower) == fCodeChNumberingLvrbTop)
00440                 {eta = (Double_t)(i_crys_eta) + d_echa_eta;}
00441                 if (GetTowerLvrbType(SMtower) == fCodeChNumberingLvrbBot)
00442                 {eta = (Double_t)(i_crys_eta+max_crys_eta_in_tower-1)-d_echa_eta;} 
00443               }
00444         }      
00445       if ( GetSMHalfBarrel(super_module) == "barrel-" ){eta = - eta;}      
00446     }
00447   else
00448     {
00449       cout << "TEBNumbering::GetEta(...)> " << super_module << ": invalid super-module number."
00450            << fTTBELL << endl; 
00451     }
00452 
00453   return eta;
00454 }
00455 //-------------------------------------------------------------------------------------

Double_t TEBNumbering::GetEtaMax ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 484 of file TEBNumbering.cc.

References fEcal, GetSMHalfBarrel(), TEBParameters::MaxCrysEtaInTow(), and TEBParameters::MaxTowEtaInSM().

Referenced by GetIEtaMax().

00484 {
00485 //Gives EtaMax for a given Tower
00486 
00487   Int_t max_tow_eta_in_sm     = fEcal->MaxTowEtaInSM();
00488   Int_t max_crys_eta_in_tower = fEcal->MaxCrysEtaInTow();
00489 
00490   Double_t eta_max = (max_crys_eta_in_tower-1);
00491 
00492   for (Int_t i_tow_eta = 0; i_tow_eta < max_tow_eta_in_sm; i_tow_eta++)
00493     {
00494       Int_t i_crys_eta_min =    (Int_t)(1 + i_tow_eta*(max_crys_eta_in_tower-1));
00495       Int_t i_crys_eta_max =    (Int_t)((i_tow_eta+1)*(max_crys_eta_in_tower-1));
00496       Int_t i_crys_eta     =    (Int_t)(i_tow_eta*max_crys_eta_in_tower);
00497 
00498       if ( SMtower >= i_crys_eta_min && SMtower <= i_crys_eta_max )
00499         {
00500           if (GetSMHalfBarrel(super_module) == "barrel+")
00501             {eta_max = (Double_t)(i_crys_eta + max_crys_eta_in_tower);}
00502           if (GetSMHalfBarrel(super_module) == "barrel-")
00503             {eta_max = -(Double_t)i_crys_eta;}
00504         }
00505     }
00506 
00507   return eta_max;
00508 }
00509 

Double_t TEBNumbering::GetEtaMin ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 457 of file TEBNumbering.cc.

References fEcal, GetSMHalfBarrel(), TEBParameters::MaxCrysEtaInTow(), and TEBParameters::MaxTowEtaInSM().

Referenced by GetIEtaMin().

00457 {
00458 //Gives EtaMin for a given Tower
00459 
00460   Int_t max_tow_eta_in_sm     = fEcal->MaxTowEtaInSM();
00461   Int_t max_crys_eta_in_tower = fEcal->MaxCrysEtaInTow();
00462 
00463   Double_t eta_min = (Double_t)0.;
00464 
00465   for (Int_t i_tow_eta = 0; i_tow_eta < max_tow_eta_in_sm; i_tow_eta++)
00466     {
00467       Int_t i_crys_eta_min =    (Int_t)(1 + i_tow_eta*(max_crys_eta_in_tower-1));
00468       Int_t i_crys_eta_max =    (Int_t)((i_tow_eta+1)*(max_crys_eta_in_tower-1));
00469       Int_t i_crys_eta     =    (Int_t)(i_tow_eta*max_crys_eta_in_tower);
00470 
00471       if ( SMtower >= i_crys_eta_min && SMtower <= i_crys_eta_max )
00472         {
00473           if (GetSMHalfBarrel(super_module) == "barrel+")
00474             {eta_min = (Double_t)i_crys_eta;}
00475           if (GetSMHalfBarrel(super_module) == "barrel-")
00476             {eta_min = -(Double_t)(i_crys_eta + max_crys_eta_in_tower);}
00477         }
00478     }
00479 
00480   return eta_min;
00481 }
00482 //------------------------------------------------------------------------------------

Double_t TEBNumbering::GetIEtaMax ( const Int_t &  super_module  ) 

Definition at line 556 of file TEBNumbering.cc.

References GetIEtaMax(), and GetSMHalfBarrel().

00556 {
00557 //Gives IEtaMax for a given (super_module)
00558 
00559   Double_t i_eta_max = (Int_t)0.; 
00560 
00561   Int_t SMtowerPlus  = (Int_t)68;   
00562   Int_t SMtowerMinus = (Int_t)1;   
00563    
00564   if( GetSMHalfBarrel(super_module) == "barrel+")
00565     {i_eta_max = (Double_t)GetIEtaMax(super_module, SMtowerPlus );}
00566   if( GetSMHalfBarrel(super_module) == "barrel-")
00567     {i_eta_max = (Double_t)GetIEtaMax(super_module, SMtowerMinus);}
00568 
00569   return i_eta_max;
00570 }
00571 

Double_t TEBNumbering::GetIEtaMax ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 525 of file TEBNumbering.cc.

References GetEtaMax(), and GetSMHalfBarrel().

Referenced by GetIEtaMax(), TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00525 {
00526 //Gives IEtaMax for a given (super_module, SMtower)
00527 
00528   Double_t i_eta_max = (Int_t)0.; 
00529    
00530   if(GetSMHalfBarrel(super_module) == "barrel+")
00531     {i_eta_max = (Double_t)GetEtaMax(super_module, SMtower)+(Double_t)0.5;}
00532   if(GetSMHalfBarrel(super_module) == "barrel-")
00533     {i_eta_max = (Double_t)GetEtaMax(super_module, SMtower)-(Double_t)0.5;}
00534 
00535   return i_eta_max;
00536 }
00537 

Double_t TEBNumbering::GetIEtaMin ( const Int_t &  super_module  ) 

Definition at line 539 of file TEBNumbering.cc.

References GetIEtaMin(), and GetSMHalfBarrel().

00539 {
00540 //Gives IEtaMin for a given (super_module)
00541 
00542   Double_t i_eta_min = (Int_t)0.;
00543 
00544   Int_t SMtowerPlus  = (Int_t)1;   
00545   Int_t SMtowerMinus = (Int_t)68;   
00546 
00547   if( GetSMHalfBarrel(super_module) == "barrel+")
00548     {i_eta_min = (Double_t)GetIEtaMin(super_module, SMtowerPlus );}
00549   if( GetSMHalfBarrel(super_module) == "barrel-")
00550     {i_eta_min = (Double_t)GetIEtaMin(super_module, SMtowerMinus);}
00551 
00552   return i_eta_min;
00553 }
00554 

Double_t TEBNumbering::GetIEtaMin ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 511 of file TEBNumbering.cc.

References GetEtaMin(), and GetSMHalfBarrel().

Referenced by GetIEtaMin(), TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00511 {
00512 //Gives IEtaMin for a given (super_module, SMtower)
00513 
00514   Double_t i_eta_min = (Int_t)0.; 
00515    
00516   if(GetSMHalfBarrel(super_module) == "barrel+")
00517     {i_eta_min = (Double_t)GetEtaMin(super_module, SMtower)+(Double_t)0.5;}
00518   if(GetSMHalfBarrel(super_module) == "barrel-")
00519     {i_eta_min = (Double_t)GetEtaMin(super_module, SMtower)-(Double_t)0.5;}
00520 
00521   return i_eta_min;
00522 }
00523 

Double_t TEBNumbering::GetJPhiMax ( const Int_t &  super_module  ) 

Definition at line 813 of file TEBNumbering.cc.

00822                                                     {j_phi_max = GetJPhiMax(super_module, SMtowerPlus );}
00823   // if( GetSMHalfBarrel(super_module) == "barrel-"){j_phi_max = GetJPhiMax(super_module, SMtowerMinus);}
00824 
00825   return j_phi_max;
00826 }
00827 
00828 //==============================================================================

Double_t TEBNumbering::GetJPhiMax ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 772 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00778                        {j_phi_max = (Double_t) 5. + (Double_t)0.5;}
00779   if ( rest_temp == 2 ){j_phi_max = (Double_t)10. + (Double_t)0.5;}
00780   if ( rest_temp == 3 ){j_phi_max = (Double_t)15. + (Double_t)0.5;}
00781   if ( rest_temp == 0 ){j_phi_max = (Double_t)20. + (Double_t)0.5;}
00782 
00783   // Double_t j_phi_max = (Double_t)360.;    // DEFAULT
00784 
00785   // if(GetSMHalfBarrel(super_module) == "barrel+")
00786   //   {j_phi_max = GetPhiMax(super_module, SMtower)-(Double_t)9.5;}
00787   // if(GetSMHalfBarrel(super_module) == "barrel-")
00788   //  {j_phi_max = ((Double_t)360.-GetPhiMax(super_module, SMtower))+(Double_t)10.5;}
00789 
00790   return j_phi_max;
00791 }
00792 
00793 //-----------------------------------------------------------------------------------------

Double_t TEBNumbering::GetJPhiMin ( const Int_t &  super_module  ) 

Definition at line 796 of file TEBNumbering.cc.

00805                                                     {j_phi_min = GetJPhiMin(super_module, SMtowerPlus );}
00806   // if( GetSMHalfBarrel(super_module) == "barrel-"){j_phi_min = GetJPhiMin(super_module, SMtowerMinus);}
00807 
00808   return j_phi_min;
00809 }
00810 //-----------------------------------------------------------------------------------------
00811 Double_t TEBNumbering::GetJPhiMax(const Int_t& super_module)

Double_t TEBNumbering::GetJPhiMin ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 749 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00755                        {j_phi_min = (Double_t) 1. - (Double_t)0.5;}
00756   if ( rest_temp == 2 ){j_phi_min = (Double_t) 6. - (Double_t)0.5;}
00757   if ( rest_temp == 3 ){j_phi_min = (Double_t)11. - (Double_t)0.5;}
00758   if ( rest_temp == 0 ){j_phi_min = (Double_t)16. - (Double_t)0.5;}
00759 
00760  // Double_t j_phi_min = (Double_t)1.;       // DEFAULT
00761 
00762   // if(GetSMHalfBarrel(super_module) == "barrel+")
00763   //  {j_phi_min = GetPhiMin(super_module, SMtower)-(Double_t)9.5;}
00764   // if(GetSMHalfBarrel(super_module) == "barrel-")
00765   //  {j_phi_min = ((Double_t)360.-GetPhiMin(super_module, SMtower))+(Double_t)10.5;}
00766 
00767   return j_phi_min;
00768 }
00769 //-----------------------------------------------------------------------------------------
00770 Double_t TEBNumbering::GetJPhiMax(const Int_t& super_module, const Int_t& SMtower)

TString TEBNumbering::GetJYDirection ( const Int_t &  SMNumber  ) 

Definition at line 858 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00860                                               {jydirection = "x";}
00861   if( GetSMHalfBarrel(SMNumber) == "barrel-" ){jydirection = "-x";}
00862 
00863   return jydirection;
00864 }
00865 
00866 //=========================================================================

Double_t TEBNumbering::GetPhi ( const Int_t &  super_module,
const Int_t &  SMtower,
const Int_t &  i_TowEcha 
)

Definition at line 601 of file TEBNumbering.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), fCodeChNumberingLvrbBot, fCodeChNumberingLvrbTop, fEcal, fTTBELL, GetSMCentralPhi(), GetTowerLvrbType(), TEBParameters::MaxCrysPhiInTow(), TEBParameters::MaxSMInBarrel(), and phi.

Referenced by TCnaViewEB::ViewSuperModuleTowerNumberingPad().

00602 {
00603 //Gives Phi for a given (super_module, SMtower, i_TowEcha)
00604 
00605   Double_t phi = (Double_t)0.;
00606 
00607   Double_t phi_start = GetSMCentralPhi(super_module);
00608 
00609   Int_t max_crys_phi_in_tower = fEcal->MaxCrysPhiInTow();
00610   Int_t max_sm_in_barrel      = fEcal->MaxSMInBarrel();
00611 
00612   Int_t rest_temp =(Int_t)(SMtower%(max_crys_phi_in_tower-1));
00613 
00614   if ( super_module >= 1 && super_module <= max_sm_in_barrel )
00615     {
00616       if (GetTowerLvrbType(SMtower) == fCodeChNumberingLvrbTop)
00617         {
00618           if( rest_temp == 1 ){phi = phi_start -(Double_t)10. + (Double_t)15.;}
00619           if( rest_temp == 2 ){phi = phi_start -(Double_t)10. + (Double_t)10.;}
00620           if( rest_temp == 3 ){phi = phi_start -(Double_t)10. + (Double_t)5.;}
00621           if( rest_temp == 0 ){phi = phi_start -(Double_t)10. + (Double_t)0.;}
00622           
00623           if( i_TowEcha ==  4 || i_TowEcha ==  5 || i_TowEcha == 14 || i_TowEcha == 15 || i_TowEcha == 24 )
00624             {phi = phi+0;}
00625  
00626           if( i_TowEcha ==  3 || i_TowEcha ==  6 || i_TowEcha == 13 || i_TowEcha == 16 || i_TowEcha == 23 )
00627             {phi = phi+1;} 
00628 
00629           if( i_TowEcha ==  2 || i_TowEcha ==  7 || i_TowEcha == 12 || i_TowEcha == 17 || i_TowEcha == 22 )
00630             {phi = phi+2;}
00631  
00632           if( i_TowEcha ==  1 || i_TowEcha ==  8 || i_TowEcha == 11 || i_TowEcha == 18 || i_TowEcha == 21 )
00633             {phi = phi+3;}
00634  
00635           if( i_TowEcha ==  0 || i_TowEcha ==  9 || i_TowEcha == 10 || i_TowEcha == 19 || i_TowEcha == 20 )
00636             {phi = phi+4;} 
00637         }
00638       if (GetTowerLvrbType(SMtower) == fCodeChNumberingLvrbBot)
00639         {
00640           if( rest_temp == 1 ) {phi = phi_start -(Double_t)10. + (Double_t)15.;}
00641           if( rest_temp == 2 ) {phi = phi_start -(Double_t)10. + (Double_t)10.;}
00642           if( rest_temp == 3 ) {phi = phi_start -(Double_t)10. + (Double_t)5.;}
00643           if( rest_temp == 0 ) {phi = phi_start -(Double_t)10. + (Double_t)0.;}
00644           
00645           if( i_TowEcha == 20 || i_TowEcha == 19 || i_TowEcha == 10 || i_TowEcha ==  9 || i_TowEcha ==  0 )
00646             {phi = phi+0;}
00647  
00648           if( i_TowEcha == 21 || i_TowEcha == 18 || i_TowEcha == 11 || i_TowEcha ==  8 || i_TowEcha ==  1 )
00649             {phi = phi+1;}
00650  
00651           if( i_TowEcha == 22 || i_TowEcha == 17 || i_TowEcha == 12 || i_TowEcha ==  7 || i_TowEcha ==  2 )
00652             {phi = phi+2;}
00653 
00654           if( i_TowEcha == 23 || i_TowEcha == 16 || i_TowEcha == 13 || i_TowEcha ==  6 || i_TowEcha ==  3 )
00655             {phi = phi+3;}
00656 
00657           if( i_TowEcha == 24 || i_TowEcha == 15 || i_TowEcha == 14 || i_TowEcha ==  5 || i_TowEcha ==  4 )
00658             {phi = phi+4;} 
00659         }
00660     }
00661   else
00662     {
00663       cout << "TEBNumbering::GetPhi(...)> " << super_module << ": invalid super-module number."
00664            << fTTBELL << endl; 
00665     }
00666 
00667   return phi;
00668 }
00669 //-----------------------------------------------------------------------------------------
00670 Double_t TEBNumbering::GetPhiMin(const Int_t& super_module, const Int_t& SMtower)

Double_t TEBNumbering::GetPhiMax ( const Int_t &  super_module  ) 

Definition at line 740 of file TEBNumbering.cc.

00748 {

Double_t TEBNumbering::GetPhiMax ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 701 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00711     {
00712       if ( rest_temp == 1 ) {phi_max = phi_start + (Double_t)10.;}
00713       if ( rest_temp == 2 ) {phi_max = phi_start + (Double_t)5.;}
00714       if ( rest_temp == 3 ) {phi_max = phi_start - (Double_t)0.;}
00715       if ( rest_temp == 0 ) {phi_max = phi_start - (Double_t)5.;}
00716     }
00717 
00718   if(GetSMHalfBarrel(super_module) == "barrel-")
00719     {
00720       if ( rest_temp == 0 ) {phi_max = phi_start + (Double_t)10.;}
00721       if ( rest_temp == 3 ) {phi_max = phi_start + (Double_t)5.;}
00722       if ( rest_temp == 2 ) {phi_max = phi_start - (Double_t)0.;}
00723       if ( rest_temp == 1 ) {phi_max = phi_start - (Double_t)5.;}
00724     }
00725 
00726   return phi_max;
00727 }
00728 //-----------------------------------------------------------------------------------------
00729 Double_t TEBNumbering::GetPhiMin(const Int_t& super_module)

Double_t TEBNumbering::GetPhiMin ( const Int_t &  super_module  ) 

Definition at line 731 of file TEBNumbering.cc.

00739 {

Double_t TEBNumbering::GetPhiMin ( const Int_t &  super_module,
const Int_t &  SMtower 
)

Definition at line 672 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), TCnaViewEB::ViewSuperModuleTowerNumberingPad(), and TCnaViewEB::ViewTowerGrid().

00682     {
00683       if ( rest_temp == 1 ) {phi_min = phi_start + (Double_t)5.;}
00684       if ( rest_temp == 2 ) {phi_min = phi_start + (Double_t)0.;}
00685       if ( rest_temp == 3 ) {phi_min = phi_start - (Double_t)5.;}
00686       if ( rest_temp == 0 ) {phi_min = phi_start - (Double_t)10.;}
00687     }
00688   if(GetSMHalfBarrel(super_module) == "barrel-")
00689     {
00690       if ( rest_temp == 0 ) {phi_min = phi_start + (Double_t)5.;}
00691       if ( rest_temp == 3 ) {phi_min = phi_start + (Double_t)0.;}
00692       if ( rest_temp == 2 ) {phi_min = phi_start - (Double_t)5.;}
00693       if ( rest_temp == 1 ) {phi_min = phi_start - (Double_t)10.;}
00694     }
00695 
00696   return phi_min;
00697 }
00698 //-----------------------------------------------------------------------------------------
00699 Double_t TEBNumbering::GetPhiMax(const Int_t& super_module, const Int_t& SMtower)

Double_t TEBNumbering::GetSMCentralPhi ( const Int_t &  super_module  ) 

Definition at line 578 of file TEBNumbering.cc.

References GetSMHalfBarrel().

Referenced by GetPhi().

00578 {
00579 //Gives the central phi value of the SuperModule
00580 
00581   Double_t central_phi = (Double_t)20.;    //  DEFAULT = SM1
00582   
00583   if (GetSMHalfBarrel(super_module) == "barrel+")
00584     {
00585       if( (super_module >= 1) && (super_module <= 18) ){central_phi = (Double_t)20.*super_module;}
00586       // if( super_module == 18 )                         {central_phi = (Double_t)0.;} 
00587     }
00588 
00589   if (GetSMHalfBarrel(super_module) == "barrel-")
00590     {
00591       if((super_module >= 19)&&(super_module <= 26))
00592         {central_phi = (Double_t)160+(Double_t)20.*(19-super_module);}
00593       if((super_module >= 27)&&(super_module <= 36))
00594         {central_phi = (Double_t)340+(Double_t)20.*(28-super_module);}
00595     }
00596 
00597   return central_phi;
00598 }
00599 

Int_t TEBNumbering::GetSMCrysFromSMEcha ( const Int_t &  i_SMEcha  ) 

Definition at line 291 of file TEBNumbering.cc.

References GetSMCrysFromSMTowAndTowEcha(), GetSMTowFromSMEcha(), and GetTowEchaFromSMEcha().

00291 {
00292 //get crystal number in SM from electronic channel number in SM
00293 
00294   Int_t SMcrys = 0;
00295   
00296   Int_t i_SMTow    = GetTowEchaFromSMEcha(i_SMEcha);
00297   Int_t i_TowEcha  = GetSMTowFromSMEcha(i_SMEcha); 
00298 
00299   SMcrys = GetSMCrysFromSMTowAndTowEcha(i_SMTow, i_TowEcha);
00300 
00301   return SMcrys;
00302 }
00303 

Int_t TEBNumbering::GetSMCrysFromSMTowAndTowEcha ( const Int_t &  i_SMTow,
const Int_t &  i_TowEcha 
)

Definition at line 252 of file TEBNumbering.cc.

References BuildCrysTable(), GenMuonPlsPt100GeV_cfg::cout, lat::endl(), fCodePrintAllComments, fFlagPrint, fMaxCrysInTow, fMaxTowInSM, fT2dSMCrys, and fTTBELL.

Referenced by GetSMCrysFromSMEcha(), TCnaViewEB::GetXCrysInSM(), TCnaViewEB::GetYCrysInSM(), TCnaViewEB::HistimePlot(), TCnaViewEB::HistoPlot(), TCnaViewEB::PutPaveCrystal(), TCnaViewEB::PutPaveCrystalSample(), TCnaViewEB::TowerCrystalNumbering(), and TCnaRunEB::WriteAsciiCnaChannelTable().

00253 {
00254 //get crystal number in SM from tower number in SM
00255 // and from Electronic Channel number in tower
00256 
00257   Int_t SMcrys = 0;
00258 
00259   if( fT2dSMCrys == 0 )
00260     {
00261       BuildCrysTable();
00262       if(fFlagPrint == fCodePrintAllComments)
00263         {cout << "*TEBNumbering::GetSMCrysFromSMTowAndTowEcha> SMtower: " << i_SMTow
00264               << ", Channel: " << i_TowEcha << endl;}
00265     }
00266   
00267   if (i_SMTow >= 1 && i_SMTow <= fEcal->fMaxTowInSM)
00268     {
00269       if (i_TowEcha >=0 && i_TowEcha < fEcal->fMaxCrysInTow)
00270         {
00271           SMcrys = fT2dSMCrys[i_SMTow-1][i_TowEcha];
00272         }
00273       else
00274         {
00275           SMcrys = -2;   // Electronic Cnannel in Tower out of range 
00276           cout << "!TEBNumbering::GetSMCrysFromSMTowAndTowEcha(...)> Electronic Channel in Tower out of range."
00277                << " i_TowEcha = " << i_TowEcha << fTTBELL << endl;
00278         }
00279     }
00280   else
00281     {
00282       SMcrys = -3;   // Tower number in SM out of range
00283       cout << "!TEBNumbering::GetSMCrysFromSMTowAndTowEcha(...)> Tower number in SM out of range."
00284            << " i_SMTow = " << i_SMTow << fTTBELL << endl;
00285     }
00286 
00287   return SMcrys;
00288 }
00289 

TString TEBNumbering::GetSMHalfBarrel ( const Int_t &  SMNumber  ) 

Definition at line 401 of file TEBNumbering.cc.

References fEcal, TEBParameters::MaxSMInBarPlus(), and TEBParameters::MaxSMInBarrel().

Referenced by TCnaViewEB::EtaPhiSuperModuleCorccMeanOverSamples(), GetEta(), GetEtaMax(), GetEtaMin(), GetIEtaMax(), GetIEtaMin(), GetSMCentralPhi(), TCnaViewEB::GetXCrysInSM(), TCnaViewEB::GetXSampInTow(), TCnaViewEB::GetYCrysInSM(), TCnaViewEB::GetYSampInTow(), TCnaViewEB::PutPaveLVRB(), TCnaViewEB::SuperModuleTowerNumbering(), TCnaViewEB::TowerCrystalNumbering(), TCnaViewEB::ViewHistime(), TCnaViewEB::ViewHisto(), TCnaViewEB::ViewMatrix(), TCnaViewEB::ViewSuperModule(), TCnaViewEB::ViewSuperModuleGrid(), TCnaViewEB::ViewSuperModuleTowerNumberingPad(), and TCnaViewEB::ViewTower().

00401 {
00402 //gives the half-barrel of the super-module ("barrel+" or "barrel-")
00403 
00404   TString type = "barrel+";   // => default value
00405 
00406   if ( SMNumber >=  1                       && SMNumber <= fEcal->MaxSMInBarPlus() ){type = "barrel+";}
00407   if ( SMNumber >   fEcal->MaxSMInBarPlus() && SMNumber <= fEcal->MaxSMInBarrel()  ){type = "barrel-";}
00408 
00409   return type;
00410 }
00411 

Int_t TEBNumbering::GetSMTowFromSMCrys ( const Int_t &  i_SMCrys  ) 

Definition at line 330 of file TEBNumbering.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), fMaxCrysInSM, fT1dSMTow, and fTTBELL.

Referenced by EcalCorrelatedNoisePedestalRunAnalyzer::analyze().

00330 {
00331 // get Tower number in SM from Crystal number in SuperModule
00332 
00333   Int_t i_SMTow = 0;
00334   
00335   if( i_SMCrys >= 1 && i_SMCrys <= fEcal->fMaxCrysInSM )
00336     {
00337       i_SMTow = fT1dSMTow[i_SMCrys-1];
00338     }
00339   else
00340     {
00341       i_SMTow = -1;
00342       cout << "!TEBNumbering::GetSMTowFromSMCrys(...)> Crystal number in SM out of range."
00343            << " i_SMCrys = " << i_SMCrys << fTTBELL << endl;
00344     }
00345   return i_SMTow;
00346 }
00347 

Int_t TEBNumbering::GetSMTowFromSMEcha ( const Int_t &  i_SMEcha  ) 

Definition at line 366 of file TEBNumbering.cc.

References fEcal, and TEBParameters::MaxCrysInTow().

Referenced by TCnaRunEB::fT2dWriteAscii(), GetSMCrysFromSMEcha(), TCnaRunEB::MakeHistosOfSampleDistributions(), and TCnaRunEB::WriteAsciiCnaChannelTable().

00366 {
00367 //get tower number from electronic channel number in SM
00368 
00369   Int_t SMTowerNumber = i_SMEcha/fEcal->MaxCrysInTow()+1;
00370 
00371   return SMTowerNumber;
00372 }
00373 

Int_t TEBNumbering::GetTowEchaFromSMCrys ( const Int_t &  i_SMCrys  ) 

Definition at line 311 of file TEBNumbering.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), fMaxCrysInSM, fT1dTowEcha, and fTTBELL.

Referenced by EcalCorrelatedNoisePedestalRunAnalyzer::analyze().

00311 {
00312 // get Electronic Channel number in Tower from Crystal number in SuperModule
00313 
00314   Int_t i_TowEcha = -1;
00315 
00316   if( i_SMCrys >= 1 && i_SMCrys <= fEcal->fMaxCrysInSM )
00317     {
00318       i_TowEcha = fT1dTowEcha[i_SMCrys-1];
00319     }
00320   else
00321     {
00322       i_TowEcha = -2;
00323       cout << "!TEBNumbering::GetTowEchaFromSMCrys(...)> Crystal number in SM out of range."
00324            << " i_SMCrys = " << i_SMCrys << fTTBELL << endl;
00325     }
00326   return i_TowEcha;
00327 }
00328 

Int_t TEBNumbering::GetTowEchaFromSMEcha ( const Int_t &  i_SMEcha  ) 

Definition at line 356 of file TEBNumbering.cc.

References fEcal, and TEBParameters::MaxCrysInTow().

Referenced by TCnaRunEB::fT2dWriteAscii(), GetSMCrysFromSMEcha(), TCnaRunEB::MakeHistosOfSampleDistributions(), and TCnaRunEB::WriteAsciiCnaChannelTable().

00356 {
00357 //get electronic channel number in tower from electronic channel number in SM
00358 
00359   Int_t SMTowerNumber = i_SMEcha/fEcal->MaxCrysInTow()+1;
00360   Int_t TowerEcha     = i_SMEcha - fEcal->MaxCrysInTow()*(SMTowerNumber-1);
00361 
00362   return TowerEcha;
00363 }
00364 

TString TEBNumbering::GetTowerLvrbType ( const Int_t &  SMtower  ) 

Definition at line 381 of file TEBNumbering.cc.

References fCodeChNumberingLvrbBot, and fCodeChNumberingLvrbTop.

Referenced by GetEta(), GetPhi(), TCnaViewEB::GetXSampInTow(), TCnaViewEB::GetYSampInTow(), TCnaViewEB::PutPaveLVRB(), TCnaViewEB::TowerCrystalNumbering(), and TCnaViewEB::ViewSuperModuleTowerNumberingPad().

00381 {
00382 //gives the LVRB type of the crystal numbering of tower
00383 
00384   TString type = fCodeChNumberingLvrbTop;   // => default value
00385 
00386   if (SMtower >=  1 && SMtower <= 12){type = fCodeChNumberingLvrbBot;}
00387   if (SMtower >= 21 && SMtower <= 28){type = fCodeChNumberingLvrbBot;}
00388   if (SMtower >= 37 && SMtower <= 44){type = fCodeChNumberingLvrbBot;}
00389   if (SMtower >= 53 && SMtower <= 60){type = fCodeChNumberingLvrbBot;}
00390 
00391   return type;
00392 }
00393 

TString TEBNumbering::GetXDirection ( const Int_t &  SMNumber  ) 

Definition at line 837 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00839                                               {xdirection = "x";}
00840   if( GetSMHalfBarrel(SMNumber) == "barrel-" ){xdirection = "x";}
00841 
00842   return xdirection;
00843 }
00844 //---------------------------------------------------------
00845 TString TEBNumbering::GetYDirection(const Int_t& SMNumber)

TString TEBNumbering::GetYDirection ( const Int_t &  SMNumber  ) 

Definition at line 847 of file TEBNumbering.cc.

Referenced by TCnaViewEB::ViewSuperModuleGrid(), and TCnaViewEB::ViewTowerGrid().

00849                                               {ydirection = "-x";}
00850   if( GetSMHalfBarrel(SMNumber) == "barrel-" ){ydirection = "-x";}
00851 
00852   return ydirection;
00853 }
00854 
00855 //---------------------------------------------------------

void TEBNumbering::Init ( void   )  [protected]

Definition at line 41 of file TEBNumbering.cc.

References BuildCrysTable(), fCdelete, fCnew, fCodeChNumberingLvrbBot, fCodeChNumberingLvrbTop, fCodePrintAllComments, fCodePrintComments, fCodePrintNoComment, fCodePrintWarnings, fEcal, fFlagPrint, fMaxCrysEtaInSM, TEBParameters::fMaxCrysEtaInSM, TEBParameters::fMaxCrysEtaInTow, fMaxCrysEtaInTow, TEBParameters::fMaxCrysInSM, fMaxCrysInSM, fMaxCrysInTow, TEBParameters::fMaxCrysInTow, TEBParameters::fMaxCrysPhiInSM, fMaxCrysPhiInSM, TEBParameters::fMaxCrysPhiInTow, fMaxCrysPhiInTow, TEBParameters::fMaxEvtsInBurstPedRun, fMaxEvtsInBurstPedRun, TEBParameters::fMaxSampADC, fMaxSampADC, fMaxSMInBarMinus, TEBParameters::fMaxSMInBarMinus, fMaxSMInBarPlus, TEBParameters::fMaxSMInBarPlus, fMaxSMInBarrel, TEBParameters::fMaxSMInBarrel, fMaxTowEtaInSM, TEBParameters::fMaxTowEtaInSM, TEBParameters::fMaxTowInSM, fMaxTowInSM, TEBParameters::fMaxTowPhiInSM, fMaxTowPhiInSM, fT1dSMCrys, fT1dSMTow, fT1dTowEcha, fT2dSMCrys, fTTBELL, and TCnaParameters::GetCodePrint().

00041                         {
00042 //Set default values and build crystal numbering table
00043 
00044   //.............................. Initialisations
00045 
00046   fTTBELL = '\007';
00047 
00048   fT2dSMCrys  = 0;
00049   fT1dSMCrys  = 0;
00050   fT1dSMTow   = 0;
00051   fT1dTowEcha = 0;
00052 
00053   fCodeChNumberingLvrbBot = "bottom";
00054   fCodeChNumberingLvrbTop = "top";
00055 
00056   fEcal = new TEBParameters();   fCnew++;
00057 
00058   fMaxSMInBarPlus  = fEcal->fMaxSMInBarPlus;
00059   fMaxSMInBarMinus = fEcal->fMaxSMInBarMinus;
00060   fMaxSMInBarrel   = fEcal->fMaxSMInBarrel;
00061 
00062   fMaxTowEtaInSM = fEcal->fMaxTowEtaInSM;
00063   fMaxTowPhiInSM = fEcal->fMaxTowPhiInSM;
00064   fMaxTowInSM    = fEcal->fMaxTowInSM;
00065 
00066   fMaxCrysEtaInTow = fEcal->fMaxCrysEtaInTow;
00067   fMaxCrysPhiInTow = fEcal->fMaxCrysPhiInTow;
00068   fMaxCrysInTow    = fEcal->fMaxCrysInTow;
00069 
00070   fMaxCrysEtaInSM = fEcal->fMaxCrysEtaInSM;
00071   fMaxCrysPhiInSM = fEcal->fMaxCrysPhiInSM;
00072   fMaxCrysInSM    = fEcal->fMaxCrysInSM;
00073 
00074   fMaxSampADC = fEcal->fMaxSampADC;
00075 
00076   fMaxEvtsInBurstPedRun = fEcal->fMaxEvtsInBurstPedRun;
00077 
00078   //...................................................................
00079   TCnaParameters* MyParameters = new TCnaParameters();   fCnew++;
00080 
00081   fCodePrintNoComment   = MyParameters->GetCodePrint("NoComment");
00082   fCodePrintWarnings    = MyParameters->GetCodePrint("Warnings ");
00083   fCodePrintComments    = MyParameters->GetCodePrint("Comments");
00084   fCodePrintAllComments = MyParameters->GetCodePrint("AllComments");
00085 
00086   delete MyParameters;                                   fCdelete++;
00087 
00088   fFlagPrint = fCodePrintWarnings;
00089 
00090   //.............................. Call to BuildCrysTable()
00091   BuildCrysTable();
00092 }

void TEBNumbering::PrintAllComments (  ) 

Definition at line 890 of file TEBNumbering.cc.

00897 {

void TEBNumbering::PrintComments (  ) 

Definition at line 874 of file TEBNumbering.cc.

00881 {

void TEBNumbering::PrintNoComment (  ) 

Definition at line 898 of file TEBNumbering.cc.

void TEBNumbering::PrintWarnings (  ) 

Definition at line 882 of file TEBNumbering.cc.

00889 {


Member Data Documentation

Int_t TEBNumbering::fCdelete [private]

Definition at line 13 of file TEBNumbering.h.

Referenced by BuildCrysTable(), Init(), and ~TEBNumbering().

Int_t TEBNumbering::fCnew [private]

Definition at line 12 of file TEBNumbering.h.

Referenced by BuildCrysTable(), and Init().

TString TEBNumbering::fCodeChNumberingLvrbBot [private]

Definition at line 55 of file TEBNumbering.h.

Referenced by GetEta(), GetPhi(), GetTowerLvrbType(), and Init().

TString TEBNumbering::fCodeChNumberingLvrbTop [private]

Definition at line 56 of file TEBNumbering.h.

Referenced by GetEta(), GetPhi(), GetTowerLvrbType(), and Init().

Int_t TEBNumbering::fCodePrintAllComments [private]

Definition at line 59 of file TEBNumbering.h.

Referenced by BuildCrysTable(), GetSMCrysFromSMTowAndTowEcha(), and Init().

Int_t TEBNumbering::fCodePrintComments [private]

Definition at line 59 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fCodePrintNoComment [private]

Definition at line 59 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fCodePrintWarnings [private]

Definition at line 59 of file TEBNumbering.h.

Referenced by Init().

TEBParameters* TEBNumbering::fEcal [private]

Definition at line 17 of file TEBNumbering.h.

Referenced by BuildCrysTable(), GetEta(), GetEtaMax(), GetEtaMin(), GetPhi(), GetSMHalfBarrel(), GetSMTowFromSMEcha(), GetTowEchaFromSMEcha(), Init(), and ~TEBNumbering().

Int_t TEBNumbering::fFlagPrint [private]

Definition at line 58 of file TEBNumbering.h.

Referenced by BuildCrysTable(), GetSMCrysFromSMTowAndTowEcha(), and Init().

Int_t TEBNumbering::fMaxCrysEtaInSM [private]

Definition at line 35 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxCrysEtaInTow [private]

Definition at line 30 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxCrysInSM [private]

Definition at line 41 of file TEBNumbering.h.

Referenced by GetSMTowFromSMCrys(), GetTowEchaFromSMCrys(), and Init().

Int_t TEBNumbering::fMaxCrysInTow [private]

Definition at line 32 of file TEBNumbering.h.

Referenced by GetSMCrysFromSMTowAndTowEcha(), and Init().

Int_t TEBNumbering::fMaxCrysPhiInSM [private]

Definition at line 38 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxCrysPhiInTow [private]

Definition at line 31 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxEvtsInBurstPedRun [private]

Definition at line 46 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxSampADC [private]

Definition at line 44 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxSMInBarMinus [private]

Definition at line 22 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxSMInBarPlus [private]

Definition at line 21 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxSMInBarrel [private]

Definition at line 23 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxTowEtaInSM [private]

Definition at line 25 of file TEBNumbering.h.

Referenced by Init().

Int_t TEBNumbering::fMaxTowInSM [private]

Definition at line 27 of file TEBNumbering.h.

Referenced by GetSMCrysFromSMTowAndTowEcha(), and Init().

Int_t TEBNumbering::fMaxTowPhiInSM [private]

Definition at line 26 of file TEBNumbering.h.

Referenced by Init().

Int_t* TEBNumbering::fT1dSMCrys [private]

Definition at line 51 of file TEBNumbering.h.

Referenced by BuildCrysTable(), Init(), and ~TEBNumbering().

Int_t* TEBNumbering::fT1dSMTow [private]

Definition at line 52 of file TEBNumbering.h.

Referenced by BuildCrysTable(), GetSMTowFromSMCrys(), Init(), and ~TEBNumbering().

Int_t* TEBNumbering::fT1dTowEcha [private]

Definition at line 53 of file TEBNumbering.h.

Referenced by BuildCrysTable(), GetTowEchaFromSMCrys(), Init(), and ~TEBNumbering().

Int_t** TEBNumbering::fT2dSMCrys [private]

Definition at line 50 of file TEBNumbering.h.

Referenced by BuildCrysTable(), GetSMCrysFromSMTowAndTowEcha(), Init(), and ~TEBNumbering().

TString TEBNumbering::fTTBELL [private]

Definition at line 15 of file TEBNumbering.h.

Referenced by GetEta(), GetPhi(), GetSMCrysFromSMTowAndTowEcha(), GetSMTowFromSMCrys(), GetTowEchaFromSMCrys(), and Init().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:33:17 2009 for CMSSW by  doxygen 1.5.4