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() {}
121  {return new CoordinateAxis(_type, _ctype, _log);}
122 
123  virtual int get(HcalDetId const&);
124  virtual int get(HcalElectronicsId const&);
125  virtual int get(HcalTrigTowerDetId const&);
126  virtual int get(int);
127 
128  virtual int getBin(HcalDetId const&);
129  virtual int getBin(HcalElectronicsId const&);
130  virtual int getBin(HcalTrigTowerDetId const&);
131  virtual int getBin(int);
132 
133  protected:
134  virtual void _setup();
135 
136  protected:
138  };
139  }
140 }
141 
142 #endif
143 
144 
145 
146 
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
virtual CoordinateAxis * makeCopy()
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 DEPTH_MAX
Definition: Constants.h:127