CMS 3D CMS Logo

CaloCellManager.h
Go to the documentation of this file.
1 #ifndef Validation_EventGenerator_CaloCellManager
2 #define Validation_EventGenerator_CaloCellManager
3 
4 /* class CaloCellManager
5  *
6  * Simple eta-phi cell structure manager, mimic calorimetric tower structure
7  *
8  *
9  */
10 
12 
13 #include <vector>
14 
16 
17  public:
18 
19  typedef std::vector<CaloCellId*> CaloCellCollection;
20 
21  CaloCellManager(unsigned int theVerbosity);
22  virtual ~CaloCellManager();
23 
24  unsigned int getCellIndexFromAngle(double eta, double phi);
25  CaloCellId* getCellFromIndex(unsigned int id);
26  std::vector<double> getEtaRanges();
27 
28  // approximated CMS eta-phi calorimetri tower grid
29 
30  static const unsigned int nBarrelEta = 16;
31  static const unsigned int nEndcapEta = 12;
32  static const unsigned int nForwardEta = 12;
33 
34  static const unsigned int nBarrelPhi = 72;
35  static const unsigned int nEndcapPhi = 36;
36  static const unsigned int nForwardPhi = 36;
37 
38  static const unsigned int nBarrelCell = 2*nBarrelEta*nBarrelPhi;
39  static const unsigned int nEndcapCell = 2*nEndcapEta*nEndcapPhi;
40  static const unsigned int nForwardCell = 2*nForwardEta*nForwardPhi;
41 
42  static const unsigned int nCaloCell = nBarrelCell+nEndcapCell+nForwardCell;
43 
44  private:
45 
46  void init();
47  void builder();
48 
49  unsigned int verbosity;
50 
51  std::vector<double> etaLim;
52  std::vector<double> phiLimBar;
53  std::vector<double> phiLimEnd;
54  std::vector<double> phiLimFor;
55 
56  CaloCellCollection theCellCollection;
57 
58 };
59 
60 #endif
static const unsigned int nForwardPhi
CaloCellManager(unsigned int theVerbosity)
static const unsigned int nForwardEta
static const unsigned int nBarrelCell
std::vector< double > etaLim
static const unsigned int nEndcapEta
std::vector< CaloCellId * > CaloCellCollection
unsigned int verbosity
std::vector< double > phiLimBar
std::vector< double > getEtaRanges()
CaloCellId * getCellFromIndex(unsigned int id)
static const unsigned int nCaloCell
std::vector< double > phiLimFor
static const unsigned int nEndcapCell
static const unsigned int nBarrelEta
CaloCellCollection theCellCollection
static const unsigned int nForwardCell
virtual ~CaloCellManager()
std::vector< double > phiLimEnd
unsigned int getCellIndexFromAngle(double eta, double phi)
static const unsigned int nBarrelPhi
static const unsigned int nEndcapPhi