CMS 3D CMS Logo

HcalNumberingFromDDD.h
Go to the documentation of this file.
1 // File: HcalNumberingFromDDD.h
3 // Description: Usage of DDD to get to numbering scheme for hadron calorimeter
5 #ifndef HcalNumberingFromDDD_h
6 #define HcalNumberingFromDDD_h
7 
10 
12 
13 #include <vector>
14 #include <string>
15 
17 public:
20 
21  struct HcalID {
23  HcalID(int det = 0, int zs = 0, int d = 0, int et = 0, int fi = 0, int phiskip = 0, int ly = -1)
24  : subdet(det), zside(zs), depth(d), etaR(et), phi(fi), phis(phiskip), lay(ly) {}
25  };
26 
27  HcalID unitID(int det, const math::XYZVectorD& pos, int depth, int lay = -1) const;
28  HcalID unitID(double eta, double phi, int depth = 1, int lay = -1) const;
29  HcalID unitID(int det, double etaR, double phi, int depth, int lay = -1) const;
30  HcalID unitID(int det, int zside, int depth, int etaR, int phi, int lay = -1) const;
31 
32 private:
34 };
35 
36 #endif
HcalID(int det=0, int zs=0, int d=0, int et=0, int fi=0, int phiskip=0, int ly=-1)
int zside(DetId const &)
HcalNumberingFromDDD(const HcalDDDSimConstants *hcons)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
d
Definition: ztail.py:151
const HcalDDDSimConstants * hcalConstants
HcalID unitID(int det, const math::XYZVectorD &pos, int depth, int lay=-1) const