CMS 3D CMS Logo

HcalLayerDepthMap.h
Go to the documentation of this file.
1 #ifndef Geometry_HcalTowerAlgo_HcalLayerDepthMap_h
2 #define Geometry_HcalTowerAlgo_HcalLayerDepthMap_h
3 
12 #include<iostream>
13 #include<iomanip>
14 #include<map>
15 #include<string>
16 #include<vector>
17 
19 
20 public:
21 
24  void initialize(const int subdet, const int ietaMax, const int dep16C,
25  const int dep29C, const double wtl0C,
26  std::vector<int> const& iphi, std::vector<int> const& ieta,
27  std::vector<int> const& layer,std::vector<int> const& depth);
28  int getSubdet() const {return subdet_;}
29  int getDepth(const int subdet, const int ieta, const int iphi,
30  const int zside, const int layer) const;
31  int getDepth16(const int subdet, const int iphi, const int zside) const;
32  int getDepthMin(const int subdet, const int iphi, const int zside) const;
33  int getDepthMax(const int subdet, const int iphi, const int zside) const;
34  int getDepthMax(const int subdet, const int ieta, const int iphi,
35  const int zside) const;
36  std::pair<int,int> getDepths(const int eta) const;
37  int getLayerFront(const int subdet, const int ieta, const int iphi,
38  const int zside, const int depth) const;
39  int getLayerBack(const int subdet, const int ieta, const int iphi,
40  const int zside, const int depth) const;
41  void getLayerDepth(const int subdet, const int ieta, const int iphi,
42  const int zside, std::map<int,int>& layers) const;
43  void getLayerDepth(const int ieta, std::map<int,int>& layers) const;
44  double getLayer0Wt(const int subdet, const int iphi, const int zside) const;
45  int getMaxDepthLastHE(const int subdet, const int iphi,
46  const int zside) const;
47  const std::vector<int> & getPhis() const {return iphi_;}
48  bool isValid(const int det, const int phi, const int zside) const;
49  int validDet(std::vector<int>& phis) const;
50  std::pair<int,int> validEta() const {return std::pair<int,int>(ietaMin_,ietaMax_);}
51 
52 private:
53  static const int maxLayers_ = 18;
54  int subdet_; // Subdet (HB=1, HE=2)
55  int ietaMin_; // Minimum eta value
56  int ietaMax_; // Maximum eta value
57  int depthMin_; // Minimum depth
58  int depthMax_; // Maximum depth
59  int dep16C_; // Max/Min layer # for HB/HE (ieta=16)
60  int dep29C_; // Max Depth of the last HE
61  double wtl0C_; // Layer 0 weight
62  std::vector<int> iphi_; // phi*zside values
63  std::map<std::pair<int,int>,int> layer2Depth_; // Layer to depth map
64  std::map<std::pair<int,int>,int> depth2LayerF_; // Depth to front layer map
65  std::map<std::pair<int,int>,int> depth2LayerB_; // Depth to back layer map
66  std::map<int,std::pair<int,int>> depthsEta_; // Depth range for each eta
67 };
68 
69 #endif
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
Definition: LayerTriplets.cc:4
void getLayerDepth(const int subdet, const int ieta, const int iphi, const int zside, std::map< int, int > &layers) const
void initialize(const int subdet, const int ietaMax, const int dep16C, const int dep29C, const double wtl0C, std::vector< int > const &iphi, std::vector< int > const &ieta, std::vector< int > const &layer, std::vector< int > const &depth)
bool isValid(const int det, const int phi, const int zside) const
int getSubdet() const
int getLayerBack(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
int getLayerFront(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
std::pair< int, int > getDepths(const int eta) const
std::map< int, std::pair< int, int > > depthsEta_
int validDet(std::vector< int > &phis) const
std::map< std::pair< int, int >, int > depth2LayerF_
const std::vector< int > & getPhis() const
std::pair< int, int > validEta() const
int getMaxDepthLastHE(const int subdet, const int iphi, const int zside) const
int getDepth(const int subdet, const int ieta, const int iphi, const int zside, const int layer) const
int getDepthMin(const int subdet, const int iphi, const int zside) const
double getLayer0Wt(const int subdet, const int iphi, const int zside) const
int getDepth16(const int subdet, const int iphi, const int zside) const
std::map< std::pair< int, int >, int > layer2Depth_
std::vector< int > iphi_
std::map< std::pair< int, int >, int > depth2LayerB_
static const int maxLayers_
int getDepthMax(const int subdet, const int iphi, const int zside) const