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 
11 #include "CLHEP/Vector/ThreeVector.h"
12 
13 #include <vector>
14 #include <string>
15 
17 
18 public:
19 
22 
23  struct HcalID {
25  HcalID(int det=0, int zs=0, int d=0, int et=0, int fi=0, int phiskip=0, int ly=-1) :
26  subdet(det), zside(zs), depth(d), etaR(et), phi(fi), phis(phiskip), lay(ly) {}
27  };
28 
29  HcalID unitID(int det, const CLHEP::Hep3Vector& pos, int depth, int lay=-1) const;
30  HcalID unitID(double eta, double phi, int depth=1, int lay=-1) const;
31  HcalID unitID(int det, double etaR, double phi, int depth,
32  int lay=-1) const;
33  HcalID unitID(int det, int zside, int depth, int etaR, int phi,
34  int lay=-1) const;
35 
36 private:
37 
39 };
40 
41 #endif
HcalID(int det=0, int zs=0, int d=0, int et=0, int fi=0, int phiskip=0, int ly=-1)
HcalDDDSimConstants * hcalConstants
et
define resolution functions of each parameter
HcalID unitID(int det, const CLHEP::Hep3Vector &pos, int depth, int lay=-1) const
HcalNumberingFromDDD(HcalDDDSimConstants *hcons)