CMS 3D CMS Logo

TrigTowerQuantity.h
Go to the documentation of this file.
1 #ifndef TrigTowerQuantity_h
2 #define TrigTowerQuantity_h
3 
10 
11 namespace hcaldqm
12 {
13  namespace quantity
14  {
16  {
17  fTTiphi = 0,
18  fTTieta = 1,
19  fTTdepth = 2,
20  fTTSubdet = 3,
24  };
25 
32  uint32_t getBin_TTiphi(HcalTrigTowerDetId const&);
33  uint32_t getBin_TTieta(HcalTrigTowerDetId const&);
34  uint32_t getBin_TTdepth(HcalTrigTowerDetId const&);
35  uint32_t getBin_TTSubdet(HcalTrigTowerDetId const&);
36  uint32_t getBin_TTSubdetPM(HcalTrigTowerDetId const&);
37  uint32_t getBin_TTieta2x3(HcalTrigTowerDetId const&);
44  std::vector<std::string> getLabels_TTiphi();
45  std::vector<std::string> getLabels_TTieta();
46  std::vector<std::string> getLabels_TTdepth();
47  std::vector<std::string> getLabels_TTSubdet();
48  std::vector<std::string> getLabels_TTSubdetPM();
49  std::vector<std::string> getLabels_TTieta2x3();
50 
52  typedef uint32_t (*getBinType_tid)(HcalTrigTowerDetId const&);
54  typedef std::vector<std::string> (*getLabels_tid)();
56  {
59  };
63  };
67  };
71  };
73  "TTiphi", "TTieta", "TTdepth", "TTSubdet", "TTSubdetPM", "TTieta"
74  };
75  double const min_tid[nTrigTowerQuantityType] = {
76  0.5, 0, -0.5, 0, 0, 0
77  };
78  double const max_tid[nTrigTowerQuantityType] = {
79  72.5, 82, 0.5, 2, 4, 8
80  };
82  72, 82, 1, 2, 4, 8
83  };
84 
85  class TrigTowerQuantity : public Quantity
86  {
87  public:
90  Quantity(name_tid[type], isLog), _type(type)
91  {}
92  virtual ~TrigTowerQuantity() {}
94  {return new TrigTowerQuantity(_type, _isLog);}
95 
96  virtual int getValue(HcalTrigTowerDetId const& tid)
97  {return getValue_functions_tid[_type](tid);}
98  virtual uint32_t getBin(HcalTrigTowerDetId const& tid)
99  {return getBin_functions_tid[_type](tid);}
100 
102  virtual int nbins() {return nbins_tid[_type];}
103  virtual double min() {return min_tid[_type];}
104  virtual double max() {return max_tid[_type];}
105  virtual bool isCoordinate() {return true;}
106  virtual std::vector<std::string> getLabels()
107  {return getLabels_functions_tid[_type]();}
108 
109  protected:
111  };
112  }
113 }
114 
115 #endif
type
Definition: HCALResponse.h:21
uint32_t getBin_TTieta2x3(HcalTrigTowerDetId const &)
int getValue_TTdepth(HcalTrigTowerDetId const &)
int(* getValueType_tid)(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTdepth(int)
HcalTrigTowerDetId(* getTid_tid)(int)
double const max_tid[nTrigTowerQuantityType]
uint32_t getBin_TTiphi(HcalTrigTowerDetId const &)
std::vector< std::string > getLabels_TTieta()
uint32_t getBin_TTdepth(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTSubdetPM(int)
std::vector< std::string > getLabels_TTdepth()
HcalTrigTowerDetId getTid_TTiphi(int)
HcalTrigTowerDetId getTid_TTieta(int)
std::vector< std::string > getLabels_TTiphi()
int getValue_TTSubdet(HcalTrigTowerDetId const &)
uint32_t getBin_TTieta(HcalTrigTowerDetId const &)
virtual TrigTowerQuantity * makeCopy()
HcalTrigTowerDetId getTid_TTSubdet(int)
TrigTowerQuantity(TrigTowerQuantityType type, bool isLog=false)
std::vector< std::string > getLabels_TTSubdet()
int getValue_TTSubdetPM(HcalTrigTowerDetId const &)
getBinType_tid const getBin_functions_tid[nTrigTowerQuantityType]
virtual std::vector< std::string > getLabels()
uint32_t getBin_TTSubdet(HcalTrigTowerDetId const &)
int getValue_TTiphi(HcalTrigTowerDetId const &)
getLabels_tid const getLabels_functions_tid[nTrigTowerQuantityType]
virtual uint32_t getBin(HcalTrigTowerDetId const &tid)
std::string const name_tid[nTrigTowerQuantityType]
virtual int getValue(HcalTrigTowerDetId const &tid)
std::vector< std::string > getLabels_TTSubdetPM()
int getValue_TTieta2x3(HcalTrigTowerDetId const &)
virtual bool isLog()
Definition: Quantity.h:48
int const nbins_tid[nTrigTowerQuantityType]
getTid_tid const getTid_functions_tid[nTrigTowerQuantityType]
uint32_t(* getBinType_tid)(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTieta2x3(int)
double const min_tid[nTrigTowerQuantityType]
int getValue_TTieta(HcalTrigTowerDetId const &)
getValueType_tid const getValue_functions_tid[nTrigTowerQuantityType]
uint32_t getBin_TTSubdetPM(HcalTrigTowerDetId const &)
std::vector< std::string > getLabels_TTieta2x3()
std::vector< std::string >(* getLabels_tid)()