CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 public:
17  typedef std::vector<CaloCellId*> CaloCellCollection;
18 
19  CaloCellManager(unsigned int theVerbosity);
20  virtual ~CaloCellManager();
21 
22  unsigned int getCellIndexFromAngle(double eta, double phi);
23  CaloCellId* getCellFromIndex(unsigned int id);
24  std::vector<double> getEtaRanges();
25 
26  // approximated CMS eta-phi calorimetri tower grid
27 
28  static const unsigned int nBarrelEta = 16;
29  static const unsigned int nEndcapEta = 12;
30  static const unsigned int nForwardEta = 12;
31 
32  static const unsigned int nBarrelPhi = 72;
33  static const unsigned int nEndcapPhi = 36;
34  static const unsigned int nForwardPhi = 36;
35 
36  static const unsigned int nBarrelCell = 2 * nBarrelEta * nBarrelPhi;
37  static const unsigned int nEndcapCell = 2 * nEndcapEta * nEndcapPhi;
38  static const unsigned int nForwardCell = 2 * nForwardEta * nForwardPhi;
39 
40  static const unsigned int nCaloCell = nBarrelCell + nEndcapCell + nForwardCell;
41 
42 private:
43  void init();
44  void builder();
45 
46  unsigned int verbosity;
47 
48  std::vector<double> etaLim;
49  std::vector<double> phiLimBar;
50  std::vector<double> phiLimEnd;
51  std::vector<double> phiLimFor;
52 
54 };
55 
56 #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