CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CoordinateAxis.h
Go to the documentation of this file.
1 #ifndef CoordinateAxis_h
2 #define CoordinateAxis_h
3 
4 /*
5  * file: CoordinateAxis.h
6  * Author: Viktor Khristenko
7  *
8  * Description:
9  * A wrapper between the detector/electronics coordinates to be plotted
10  * and bins. Currently some coordinates do have proper mapping
11  * value -> bin, some do not.
12  *
13  */
14 
16 
17 namespace hcaldqm
18 {
19  namespace axis
20  {
21  using namespace hcaldqm::constants;
23  {
24  fSubDet = 0,
25  fiphi = 1,
26  fieta = 2,
27  fdepth = 3,
28 
29  fFEDVME = 4,
30  fFEDuTCA = 5,
31  fFEDComb = 6,
32  fCrateVME = 7,
35  fSlotVME = 10,
36  fSlotuTCA = 11,
37  fSlotComb = 12,
38  fFiberVME = 13,
39  fFiberuTCA = 14,
40  fFiberComb = 15,
41  fFiberCh = 16,
42 
43  fTPSubDet = 17,
44  fTPieta = 18,
45 
46  fSubDetPM = 19,
48 
49  fSpigot = 21,
50 
52  };
53 
55  "Sub Detector", "iphi", "ieta", "depth",
56 
57  "FED", "FED", "FED", "Crate", "Crate", "Crate",
58  "Slot", "Slot", "Slot", "Fiber", "Fiber", "Fiber",
59  "Fiber Channel",
60 
61  "TP Sub Detector", "TP ieta",
62  "Sub Detector (+/-)", "TP Sub Detector (+/-)",
63 
64  "Spigot"
65  };
66  double const cmin[nCoordinateType] = {
67  HB, IPHI_MIN-0.5, 0, DEPTH_MIN-0.5,
68 
69  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, FIBERCH_MIN,
70 
71  0, 0, 0, 0,
72 
73  -.5
74  };
75  double const cmax[nCoordinateType] = {
76  HF+1, IPHI_MAX+0.5, 84, DEPTH_MAX+0.5,
77 
80  SLOT_VME_NUM, SLOT_uTCA_NUM, SLOT_uTCA_NUM, // #uTCA SLOTs=#VME
81  2*FIBER_VME_NUM, FIBER_uTCA_NUM, FIBER_uTCA_NUM, // 2*VME for tb
82  FIBERCH_MAX+1,
83 
84  2, 64, 8, 4,
85 
86  SPIGOT_MAX+0.5
87  };
88  int const cnbins[nCoordinateType] = {
95 
96  2, 64, 8, 4,
97 
99  };
100 
101  class CoordinateAxis : public Axis
102  {
103  public:
104  friend class hcaldqm::Container;
105  friend class hcaldqm::Container1D;
106  friend class hcaldqm::Container2D;
112 
113  public:
114  CoordinateAxis();
117  int n, double min, double max, std::string title,
118  bool log=false);
119  virtual ~CoordinateAxis() {}
120 
121  virtual int get(HcalDetId const&);
122  virtual int get(HcalElectronicsId const&);
123  virtual int get(HcalTrigTowerDetId const&);
124  virtual int get(int);
125 
126  virtual int getBin(HcalDetId const&);
127  virtual int getBin(HcalElectronicsId const&);
128  virtual int getBin(HcalTrigTowerDetId const&);
129  virtual int getBin(int);
130 
131  protected:
132  virtual void _setup();
133 
134  protected:
136  };
137  }
138 }
139 
140 #endif
141 
142 
143 
144 
type
Definition: HCALResponse.h:21
int const IPHI_NUM
Definition: Constants.h:100
int const FIBERCH_NUM
Definition: Constants.h:76
int const SUBDET_NUM
Definition: Constants.h:87
double const cmin[nCoordinateType]
int const CRATE_uTCA_NUM
Definition: Constants.h:46
int const IPHI_MIN
Definition: Constants.h:98
int const FIBERCH_MAX
Definition: Constants.h:75
int const SLOT_VME_NUM
Definition: Constants.h:60
int const FIBERCH_MIN
Definition: Constants.h:74
int const HF
Definition: Constants.h:86
int const SPIGOT_MAX
Definition: Constants.h:63
int const DEPTH_MIN
Definition: Constants.h:125
std::string const ctitle[nCoordinateType]
int const cnbins[nCoordinateType]
T min(T a, T b)
Definition: MathUtil.h:58
double const cmax[nCoordinateType]
int getBin(double x, std::vector< double > boundaries)
Definition: Utilities.h:512
int const FIBER_VME_NUM
Definition: Constants.h:69
int const FIBER_uTCA_NUM
Definition: Constants.h:72
int const SPIGOT_NUM
Definition: Constants.h:64
int const FED_uTCA_NUM
Definition: Constants.h:33
int const DEPTH_NUM
Definition: Constants.h:128
int const FED_VME_NUM
Definition: Constants.h:29
int const CRATE_VME_NUM
Definition: Constants.h:41
int const SLOT_uTCA_NUM
Definition: Constants.h:52
Readout chain identification for Hcal.
static const int IPHI_MAX
Definition: HcalTopology.cc:13
int const HB
Definition: Constants.h:83
int const DEPTH_MAX
Definition: Constants.h:127