R__dummyintdefault14_c

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393
//----------Author's Name:FX Gentit and B.Fabbro  DSM/IRFU/SPP CEA-Saclay
//----------Copyright:Those valid for CEA software
//----------Modified:06/04/2011

#include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
#include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"

//--------------------------------------
//  TEcnaParEcal.cc
//  Class creation: 06 October 2005
//  Documentation: see TEcnaParEcal.h
//--------------------------------------

ClassImp(TEcnaParEcal);
//____________________________________________________________________________

TEcnaParEcal::TEcnaParEcal() {
  // Constructor without argument. Call to Init()

  // std::cout << "[Info Management] CLASS: TEcnaParEcal.   CREATE OBJECT: this = " << this << std::endl;

  Init();
}

TEcnaParEcal::TEcnaParEcal(TEcnaObject* pObjectManager, const TString& SubDet) {
  // Constructor with argument. Call to Init() and set the subdetector flag

  //std::cout << "[Info Management] CLASS: TEcnaParEcal.   CREATE OBJECT: this = " << this << std::endl;

  Init();
  Long_t i_this = (Long_t)this;
  pObjectManager->RegisterPointer("TEcnaParEcal", i_this);

  SetEcalSubDetector(SubDet.Data());
}

TEcnaParEcal::TEcnaParEcal(const TString& SubDet) {
  // Constructor with argument. Call to Init() and set the subdetector flag

  //std::cout << "[Info Management] CLASS: TEcnaParEcal.   CREATE OBJECT: this = " << this << std::endl;

  Init();
  SetEcalSubDetector(SubDet.Data());
}

TEcnaParEcal::~TEcnaParEcal() {
  //destructor

  //std::cout << "[Info Management] CLASS: TEcnaParEcal.   DESTROY OBJECT: this = " << this << std::endl;
}

void TEcnaParEcal::Init() {
  //Set values of Ecal parameters

  //--------------------------------- INIT parameters

  fTTBELL = '\007';

  fCnew = 0;
  fCdelete = 0;

  //....................... CMS/ECAL parameters

  //.............. Basic parameters for EB

  fMaxSampADCEB = (Int_t)10;  // Maximum number of samples ADC

  //  fMaxEvtsInBurstPedRunEB = (Int_t)150; // Maximum number of events per burst in Pedestal Runs

  fMaxSMEtaInEB = (Int_t)2;   // Maximum number of SuperModules in eta in the EB
  fMaxSMPhiInEB = (Int_t)18;  // Maximum number of SuperModules in phi in the EB

  fMaxSMInEBPlus = (Int_t)18;   // Maximum number of SuperModules in the EB+
  fMaxSMInEBMinus = (Int_t)18;  // Maximum number of SuperModules in the EB-

  fMaxTowEtaInSM = (Int_t)17;  // Maximum number of towers in eta in a SuperModule
  fMaxTowPhiInSM = (Int_t)4;   // Maximum number of towers in phi in a SuperModule

  fMaxCrysEtaInTow = (Int_t)5;  // Maximum number of crystals in eta in a tower
  fMaxCrysPhiInTow = (Int_t)5;  // Maximum number of crystals in phi in a tower

  //.............. Derived parameters for EB

  fMaxTowEtaInEB = fMaxSMEtaInEB * fMaxTowEtaInSM;  // Maximum number of towers in eta in EB
  fMaxTowPhiInEB = fMaxSMPhiInEB * fMaxTowPhiInSM;  // Maximum number of towers in phi in EB
  fMaxTowInEB = fMaxTowEtaInEB * fMaxTowPhiInEB;    // Maximum number of towers in EB

  fMaxSMInEB = fMaxSMInEBPlus + fMaxSMInEBMinus;                 // Maximum number of SuperModules in the Ecal
  fMaxTowInSM = (Int_t)(fMaxTowEtaInSM * fMaxTowPhiInSM);        // Maximum number of towers in a SuperModule
  fMaxCrysInTow = (Int_t)(fMaxCrysEtaInTow * fMaxCrysPhiInTow);  // Maximum number of crystals in a tower

  fMaxCrysEtaInSM = (Int_t)(fMaxTowEtaInSM * fMaxCrysEtaInTow);  // Maximum number of crystals in eta in a SuperModule
  fMaxCrysPhiInSM = (Int_t)(fMaxTowPhiInSM * fMaxCrysPhiInTow);  // Maximum number of crystals in phi in a SuperModule
  fMaxCrysInSM = (Int_t)(fMaxTowInSM * fMaxCrysInTow);           // Maximum number of crystals in a SuperModule

  //.............. Basic parameters for the EE

  fMaxSampADCEE = (Int_t)10;  // Maximum number of samples ADC

  //  fMaxEvtsInBurstPedRunEE = (Int_t)150;  // Maximum number of events per burst in Pedestal Runs

  fMaxDeeIXInEE = (Int_t)4;  // Maximum number of Dees in IX in EE
  fMaxDeeIYInEE = (Int_t)1;  // Maximum number of Dees in IY in EE

  fMaxDeeInEEPlus = (Int_t)2;   // Maximum number of Dees in EE+
  fMaxDeeInEEMinus = (Int_t)2;  // Maximum number of Dees in EE-

  fMaxSCIXInDee = (Int_t)10;        // Maximum number of super-crystals in IX in Dee
  fMaxSCIYInDee = (Int_t)20;        // Maximum number of super-crystals in IY in Dee
  fMaxSCForConsInDee = (Int_t)149;  // Maximum number of super-crystals for construction in Dee

  fMaxCrysIXInSC = (Int_t)5;  // Maximum number of crystals in IX in a super-crystal
  fMaxCrysIYInSC = (Int_t)5;  // Maximum number of crystals in IY in a super-crystal

  fEmptyChannelsForIncompleteSCInDee = (Int_t)63;  // Total number of empty channels for the incomplete SCs

  fMaxDSInEEPlus = (Int_t)9;   // Maximum number of Data Sectors in EE+
  fMaxDSInEEMinus = (Int_t)9;  // Maximum number of Data Sectors in EE-

  fNumberOfNotConnectedSCs = (Int_t)7;  // Number of not connected SC's (178, 182, 207, 33, 29, etc... see EE mapping)
  fNumberOfNotCompleteSCs = (Int_t)4;   // Number of not complete  SC's (161, 216, 224, 12, 67, etc... see EE mapping)

  //.............. Derived parameters for the EE
  fMaxDeeInEE = fMaxDeeInEEPlus + fMaxDeeInEEMinus;  // Maximum number of Dees in EE

  fMaxSCIXInEE = fMaxDeeIXInEE * fMaxSCIXInDee;          // Maximum number of SC's in IX in EE
  fMaxSCIYInEE = fMaxDeeIYInEE * fMaxSCIYInDee;          // Maximum number of SC's in IY in EE
  fMaxSCEcnaInEE = fMaxSCIXInEE * fMaxSCIYInEE;          // Maximum number of SC's in EE
  fMaxSCForConsInEE = fMaxDeeInEE * fMaxSCForConsInDee;  // Maximum number of SC's for construction in EE

  fMaxSCEcnaInDee = fMaxSCIXInDee * fMaxSCIYInDee;  // Maximum number of super-crystals in the Dee matrix

  fMaxCrysIXInDee = fMaxSCIXInDee * fMaxCrysIXInSC;  // Maximum number of crystals in IX in Dee
  fMaxCrysIYInDee = fMaxSCIYInDee * fMaxCrysIYInSC;  // Maximum number of crystals in IY in Dee

  fMaxCrysInSC = fMaxCrysIXInSC * fMaxCrysIYInSC;            // Max nb of crystals in a super-crystal
  fMaxCrysEcnaInDee = fMaxSCEcnaInDee * fMaxCrysInSC;        // Max nb of crystals in the Dee matrix
  fMaxCrysForConsInDee = fMaxSCForConsInDee * fMaxCrysInSC;  // Max nb of crystals for construction in Dee

  fEmptyChannelsInDeeMatrixIncompleteSCIncluded =
      fMaxCrysEcnaInDee - fMaxCrysForConsInDee + fEmptyChannelsForIncompleteSCInDee;  // (5000 - 3725 + 63 = 1338)

  fMaxDSInEE = fMaxDSInEEPlus + fMaxDSInEEMinus;  // Maximum number of Data Sectors in EE

  //.............................. Current subdetector (Stas) parameters set to zero

  fMaxSampADC = 0;

  //  fMaxEvtsInBurstPedRun = 0;

  fMaxStexHocoInStas = 0;
  fMaxStexVecoInStas = 0;

  fMaxStexInStasPlus = 0;
  fMaxStexInStasMinus = 0;
  fMaxStexInStas = 0;

  fMaxStinHocoInStas = 0;
  fMaxStinVecoInStas = 0;
  fMaxStinEcnaInStas = 0;

  fMaxStinHocoInStex = 0;
  fMaxStinVecoInStex = 0;
  fMaxStinEcnaInStex = 0;

  fMaxCrysHocoInStin = 0;
  fMaxCrysVecoInStin = 0;
  fMaxCrysInStin = 0;

  fMaxCrysHocoInStex = 0;
  fMaxCrysVecoInStex = 0;
  fMaxCrysEcnaInStex = 0;

  //  fMaxStinForConsInStas = 0;

  fMaxStinInStex = 0;
  fMaxCrysInStex = 0;

  //.............................. Set codes for the Subdetector Flag
  fgMaxCar = (Int_t)512;

  Int_t MaxCar = fgMaxCar;
  fCodeEB.Resize(MaxCar);
  fCodeEB = "EB";

  MaxCar = fgMaxCar;
  fCodeEE.Resize(MaxCar);
  fCodeEE = "EE";

  MaxCar = fgMaxCar;
  fFlagSubDet.Resize(MaxCar);
  fFlagSubDet = "No info";

}  // end of Init()

void TEcnaParEcal::SetEcalSubDetector(const TString& SubDet) {
  //Set the current subdetector flag and the current subdetector "Stin-Stex-Stas" parameters according to fFlagSubDet

  if (SubDet != fCodeEB && SubDet != fCodeEE) {
    std::cout << "!TEcnaParEcal::SetEcalSubDetector(...)> " << SubDet
              << " : unknown subdetector code (requested: EB or EE)" << fTTBELL << std::endl;
  } else {
    Int_t MaxCar = fgMaxCar;
    fFlagSubDet.Resize(MaxCar);
    fFlagSubDet = SubDet.Data();  // Set the SubDetector flag

    if (fFlagSubDet != fCodeEB && fFlagSubDet != fCodeEE) {
      std::cout << "!TEcnaParEcal::SetEcalSubDetector(...)> fFlagSubDet = " << fFlagSubDet
                << " : CODE PROBLEM, subdetector flag not initialized." << fTTBELL << std::endl;
    }

    if (fFlagSubDet == fCodeEB) {
      fMaxSampADC = fMaxSampADCEB;
      //fMaxEvtsInBurstPedRun = fMaxEvtsInBurstPedRunEB;

      fMaxStexHocoInStas = fMaxSMEtaInEB;
      fMaxStexVecoInStas = fMaxSMPhiInEB;

      fMaxStexInStasPlus = fMaxSMInEBPlus;
      fMaxStexInStasMinus = fMaxSMInEBMinus;
      fMaxStexInStas = fMaxSMInEB;

      fMaxStinHocoInStas = fMaxTowEtaInEB;
      fMaxStinVecoInStas = fMaxTowPhiInEB;
      fMaxStinEcnaInStas = fMaxTowEtaInEB * fMaxTowPhiInEB;

      fMaxStinHocoInStex = fMaxTowEtaInSM;
      fMaxStinVecoInStex = fMaxTowPhiInSM;
      fMaxStinEcnaInStex = fMaxTowInSM;

      fMaxCrysHocoInStin = fMaxCrysEtaInTow;
      fMaxCrysVecoInStin = fMaxCrysPhiInTow;
      fMaxCrysInStin = fMaxCrysInTow;

      fMaxCrysHocoInStex = fMaxCrysEtaInSM;
      fMaxCrysVecoInStex = fMaxCrysPhiInSM;
      fMaxCrysEcnaInStex = fMaxCrysInSM;

      fMaxStinInStex = fMaxTowInSM;
      fMaxCrysInStex = fMaxCrysInSM;
    }

    if (fFlagSubDet == fCodeEE) {
      fMaxSampADC = fMaxSampADCEE;
      //fMaxEvtsInBurstPedRun = fMaxEvtsInBurstPedRunEE;

      fMaxStexHocoInStas = fMaxDeeIXInEE;
      fMaxStexVecoInStas = fMaxDeeIYInEE;

      fMaxStexInStasPlus = fMaxDeeInEEPlus;
      fMaxStexInStasMinus = fMaxDeeInEEMinus;
      fMaxStexInStas = fMaxDeeInEE;

      fMaxStinHocoInStas = fMaxSCIXInEE;
      fMaxStinVecoInStas = fMaxSCIYInEE;
      fMaxStinEcnaInStas = fMaxSCIXInEE * fMaxSCIYInEE;

      fMaxStinHocoInStex = fMaxSCIXInDee;
      fMaxStinVecoInStex = fMaxSCIYInDee;
      fMaxStinEcnaInStex = fMaxSCEcnaInDee;

      fMaxCrysHocoInStin = fMaxCrysIXInSC;
      fMaxCrysVecoInStin = fMaxCrysIYInSC;
      fMaxCrysInStin = fMaxCrysInSC;

      fMaxCrysHocoInStex = fMaxCrysIXInDee;
      fMaxCrysVecoInStex = fMaxCrysIYInDee;
      fMaxCrysEcnaInStex = fMaxCrysEcnaInDee;

      fMaxStinInStex = fMaxSCForConsInDee;
      fMaxCrysInStex = fMaxCrysForConsInDee;
    }
  }
}  // end of SetEcalSubDetector(const TString& SubDet)
//======================================================================================
//
//                 METHODS TO GET THE PARAMETERS
//
//======================================================================================
//................................................................. SUBDETECTOR FLAG
TString TEcnaParEcal::GetEcalSubDetector() { return fFlagSubDet; }
//................................................................. BARREL
//------------------------------------------- Max samp ADC
Int_t TEcnaParEcal::MaxSampADCEB() { return fMaxSampADCEB; }  // maximum  number of samples ADC for EB
//------------------------------------------- Max number of events in Ped runs (for each gain)
//Int_t TEcnaParEcal::MaxEvtsInBurstPedRunEB(){return fMaxEvtsInBurstPedRunEB;}
//------------------------------------------- Max SM in barrel
Int_t TEcnaParEcal::MaxSMEtaInEB() { return fMaxSMEtaInEB; }  // maximum number of SMs in eta in EB
Int_t TEcnaParEcal::MaxSMPhiInEB() { return fMaxSMPhiInEB; }  // maximum number of SMs in phi in EB

Int_t TEcnaParEcal::MaxSMInEBPlus() { return fMaxSMInEBPlus; }    // maximum number of SMs in the EB+
Int_t TEcnaParEcal::MaxSMInEBMinus() { return fMaxSMInEBMinus; }  // maximum number of SMs in the EB-
Int_t TEcnaParEcal::MaxSMInEB() { return fMaxSMInEB; }            // maximum number of SMs in EB
//------------------------------------------- Max tow in EB
Int_t TEcnaParEcal::MaxTowEtaInEB() { return fMaxTowEtaInEB; }  // maximum number of towers in eta in EB
Int_t TEcnaParEcal::MaxTowPhiInEB() { return fMaxTowPhiInEB; }  // maximum number of towers in phi in EB
Int_t TEcnaParEcal::MaxTowInEB() { return fMaxTowInEB; }        // maximum number of towers in EB
//------------------------------------------- Max tow in SM
Int_t TEcnaParEcal::MaxTowEtaInSM() { return fMaxTowEtaInSM; }  // maximum number of towers in eta in SM
Int_t TEcnaParEcal::MaxTowPhiInSM() { return fMaxTowPhiInSM; }  // maximum number of towers in phi in SM
Int_t TEcnaParEcal::MaxTowInSM() { return fMaxTowInSM; }        // maximum number of towers in SM
//------------------------------------------- Max Crys in tower
Int_t TEcnaParEcal::MaxCrysEtaInTow() { return fMaxCrysEtaInTow; }  // maximum  number of crystals in eta a tower
Int_t TEcnaParEcal::MaxCrysPhiInTow() { return fMaxCrysPhiInTow; }  // maximum  number of crystals in phi in a tower
Int_t TEcnaParEcal::MaxCrysInTow() { return fMaxCrysInTow; }        // maximum  number of crystals in a tower
//------------------------------------------- Max crys in SM
Int_t TEcnaParEcal::MaxCrysEtaInSM() { return fMaxCrysEtaInSM; }  // maximum  number of crystals in eta in SM
Int_t TEcnaParEcal::MaxCrysPhiInSM() { return fMaxCrysPhiInSM; }  // maximum  number of crystals in phi in SM
Int_t TEcnaParEcal::MaxCrysInSM() { return fMaxCrysInSM; }        // maximum  number of crystals in SM

//................................................................. ENDCAP
//------------------------------------------- Max samp ADC
Int_t TEcnaParEcal::MaxSampADCEE() { return fMaxSampADCEE; }  // maximum number of samples ADC for EE
//------------------------------------------- Max number of events in Ped runs (for each gain)
//Int_t TEcnaParEcal::MaxEvtsInBurstPedRunEE(){return fMaxEvtsInBurstPedRunEE;}
//------------------------------------------- Max Dee in Endcap
Int_t TEcnaParEcal::MaxDeeIXInEE() { return fMaxDeeIXInEE; }  // maximum number of dees in IX in EE
Int_t TEcnaParEcal::MaxDeeIYInEE() { return fMaxDeeIYInEE; }  // maximum number of dees in IY in EE

Int_t TEcnaParEcal::MaxDeeInEEPlus() { return fMaxDeeInEEPlus; }    // maximum number of dees in EE+
Int_t TEcnaParEcal::MaxDeeInEEMinus() { return fMaxDeeInEEMinus; }  // maximum number of dees in EE-
Int_t TEcnaParEcal::MaxDeeInEE() { return fMaxDeeInEE; }            // maximum number of dees in EE
//------------------------------------------- Max SC in EE
Int_t TEcnaParEcal::MaxSCIXInEE() { return fMaxSCIXInEE; }  // max nb of SC's in IX in EE
Int_t TEcnaParEcal::MaxSCIYInEE() { return fMaxSCIYInEE; }  // max nb of SC's in IY in EE
Int_t TEcnaParEcal::MaxSCEcnaInEE() {
  return fMaxSCEcnaInEE;
}  // max nb of SC's in the EE matrix (default for MaxSCInEE())
Int_t TEcnaParEcal::MaxSCInEE() { return fMaxSCEcnaInEE; }            // max nb of SC's in the EE matrix
Int_t TEcnaParEcal::MaxSCForConsInEE() { return fMaxSCForConsInEE; }  // max nb of SC's for construction EE
//------------------------------------------- Max SC in Dee
Int_t TEcnaParEcal::MaxSCIXInDee() { return fMaxSCIXInDee; }  // max nb of SCs in IX in Dee
Int_t TEcnaParEcal::MaxSCIYInDee() { return fMaxSCIYInDee; }  // max nb of SCs in IY in Dee
Int_t TEcnaParEcal::MaxSCEcnaInDee() {
  return fMaxSCEcnaInDee;
}  // max nb of SCs in Dee matrix (default for MaxSCInDee())
Int_t TEcnaParEcal::MaxSCInDee() { return fMaxSCEcnaInDee; }            // max nb of SCs in the Dee matrix
Int_t TEcnaParEcal::MaxSCForConsInDee() { return fMaxSCForConsInDee; }  // max nb of crystals for construction in Dee
//------------------------------------------- Max Crys in SC
Int_t TEcnaParEcal::MaxCrysIXInSC() { return fMaxCrysIXInSC; }  // maximum number of crystals in IX in a SC
Int_t TEcnaParEcal::MaxCrysIYInSC() { return fMaxCrysIYInSC; }  // maximum number of crystals in IY in a SC
Int_t TEcnaParEcal::MaxCrysInSC() { return fMaxCrysInSC; }      // maximum number of crystals in a SC
//------------------------------------------- Max crys in Dee
Int_t TEcnaParEcal::MaxCrysIXInDee() { return fMaxCrysIXInDee; }  // max nb of crystals in IX in Dee
Int_t TEcnaParEcal::MaxCrysIYInDee() { return fMaxCrysIYInDee; }  // max nb of crystals in IY in Dee
Int_t TEcnaParEcal::MaxCrysEcnaInDee() {
  return fMaxCrysEcnaInDee;
}  // max nb of crystals in Dee matrix(default for MaxCrysInDee())
Int_t TEcnaParEcal::MaxCrysInDee() { return fMaxCrysEcnaInDee; }  // max nb of crystals in Dee matrix
Int_t TEcnaParEcal::MaxCrysForConsInDee() {
  return fMaxCrysForConsInDee;
}  // max nb of crystals for construction in Dee
Int_t TEcnaParEcal::EmptyChannelsInDeeMatrixIncompleteSCIncluded() {
  return fEmptyChannelsInDeeMatrixIncompleteSCIncluded;
}
//------------------------------------------- Max DS in EE
Int_t TEcnaParEcal::MaxDSInEE() { return fMaxDSInEE; }
//------------------------------------------- Not connected and not complete SCs
Int_t TEcnaParEcal::NumberOfNotConnectedSCs() { return fNumberOfNotConnectedSCs; }
Int_t TEcnaParEcal::NumberOfNotCompleteSCs() { return fNumberOfNotCompleteSCs; }

//................................................................. Stas (current Subdetector)
//------------------------------------------- Max samp ADC
Int_t TEcnaParEcal::MaxSampADC() { return fMaxSampADC; }  // max number of samples ADC
//------------------------------------------- Max number of events in Ped runs (for each gain)
//Int_t TEcnaParEcal::MaxEvtsInBurstPedRun(){return fMaxEvtsInBurstPedRun;}
//------------------------------------------- Max Stex in Stas
Int_t TEcnaParEcal::MaxStexHocoInStas() { return fMaxStexHocoInStas; }  // max number of Stexs in Hoco in Stas+
Int_t TEcnaParEcal::MaxStexVecoInStas() { return fMaxStexVecoInStas; }  // max number of Stexs in Veco in Stas+

Int_t TEcnaParEcal::MaxStexInStasPlus() { return fMaxStexInStasPlus; }    // max number of Stexs in Stas+
Int_t TEcnaParEcal::MaxStexInStasMinus() { return fMaxStexInStasMinus; }  // max number of Stexs in Stas-
Int_t TEcnaParEcal::MaxStexInStas() { return fMaxStexInStas; }            // max number of Stexs in Stas
//------------------------------------------- Max Stin in Stas
Int_t TEcnaParEcal::MaxStinHocoInStas() { return fMaxStinHocoInStas; }  // maximum number of Stin's in Hoco in Stas
Int_t TEcnaParEcal::MaxStinVecoInStas() { return fMaxStinVecoInStas; }  // maximum number of Stin's in Veco in Stas
Int_t TEcnaParEcal::MaxStinEcnaInStas() { return fMaxStinEcnaInStas; }  // maximum number of Stin's (ECNA) in Stas
//------------------------------------------- Max Stin in Stex
Int_t TEcnaParEcal::MaxStinHocoInStex() { return fMaxStinHocoInStex; }  // max number of Stins in Hoco in a Stex
Int_t TEcnaParEcal::MaxStinVecoInStex() { return fMaxStinVecoInStex; }  // max number of Stins in Veco in a Stex
Int_t TEcnaParEcal::MaxStinEcnaInStex() { return fMaxStinEcnaInStex; }  // max number of Stins in "ECNA matrix" Stex
Int_t TEcnaParEcal::MaxStinInStex() { return fMaxStinInStex; }          // max number of Stins in Stex

//------------------------------------------- Max Crys in Stin
Int_t TEcnaParEcal::MaxCrysHocoInStin() { return fMaxCrysHocoInStin; }  // max number of crystals in Hoco in a Stin
Int_t TEcnaParEcal::MaxCrysVecoInStin() { return fMaxCrysVecoInStin; }  // max number of crystals in Veco in a Stin
Int_t TEcnaParEcal::MaxCrysInStin() { return fMaxCrysInStin; }          // max number of crystals in a Stin
//------------------------------------------- Max crys in Stex
Int_t TEcnaParEcal::MaxCrysHocoInStex() { return fMaxCrysHocoInStex; }  // max number of crystals in Hoco in a Stex
Int_t TEcnaParEcal::MaxCrysVecoInStex() { return fMaxCrysVecoInStex; }  // max number of crystals in Veco in a Stex
Int_t TEcnaParEcal::MaxCrysEcnaInStex() { return fMaxCrysEcnaInStex; }  // max number of crystals in "ECNA matrix" Stex
Int_t TEcnaParEcal::MaxCrysInStex() { return fMaxCrysInStex; }          // max number of crystals in Stex