CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Calibration/Tools/interface/EcalIndexingTools.h

Go to the documentation of this file.
00001 #ifndef EcalIndexingTools_h
00002 #define EcalIndexingTools_h
00003 
00004 #include <iostream>
00005 /* ******************************************
00006  * Alessandro Palma 19/03/2008
00007  ********************************************/
00008 
00009 // $Id: EcalIndexingTools.h,v 1.1 2008/04/28 16:59:17 palmale Exp $
00010 
00011 class EcalIndexingTools
00012 {
00013   
00014  private:
00015   
00016   EcalIndexingTools():totNumberOfBins_(-1), nBinsEt_(-1),  nBinsEta_(-1), maxEta_(-1.), maxEt_(-1.), minEta_(-1.), minEt_(-1.){}; 
00017   
00018   static EcalIndexingTools *instance_;
00019   
00020   int totNumberOfBins_, nBinsEt_, nBinsEta_;
00021   
00022   double maxEta_, maxEt_, minEta_, minEt_;
00023 
00024  public:
00025   
00026   ~EcalIndexingTools() {};
00027 
00028   static EcalIndexingTools* getInstance () {
00029     if (instance_ == 0 ){
00030       instance_ = new EcalIndexingTools();
00031 
00032       std::cout<< "[EcalIndexingTools* getInstance ()] new EcalIndexingTools created "<< std::endl;
00033      
00034     }
00035     return instance_;
00036   }
00037   
00038   
00039   int getNumberOfChannels(){return totNumberOfBins_;};
00040   
00041   double getEtaMax(){return maxEta_;};
00042   
00043   int getProgressiveIndex( double , double );
00044   
00045   void setBinRange( int, double, double, int, double, double);
00046   
00047 
00048   
00049 };
00050 
00051 
00052 #endif