CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 public:
22  void initialize(const int subdet,
23  const int ietaMax,
24  const int dep16C,
25  const int dep29C,
26  const double wtl0C,
27  std::vector<int> const& iphi,
28  std::vector<int> const& ieta,
29  std::vector<int> const& layer,
30  std::vector<int> const& depth);
31  int getSubdet() const { return subdet_; }
32  int getDepth(const int subdet, const int ieta, const int iphi, const int zside, const int layer) const;
33  int getDepth16(const int subdet, const int iphi, const int zside) const;
34  int getDepthMin(const int subdet, const int iphi, const int zside) const;
35  int getDepthMax(const int subdet, const int iphi, const int zside) const;
36  int getDepthMax(const int subdet, const int ieta, const int iphi, const int zside) const;
37  std::pair<int, int> getDepths(const int eta) const;
38  int getLayerFront(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const;
39  int getLayerBack(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const;
40  void getLayerDepth(
41  const int subdet, const int ieta, const int iphi, const int zside, std::map<int, int>& layers) const;
42  void getLayerDepth(const int ieta, std::map<int, int>& layers) const;
43  double getLayer0Wt(const int subdet, const int iphi, const int zside) const;
44  int getMaxDepthLastHE(const int subdet, const int iphi, const int zside) const;
45  const std::vector<int>& getPhis() const { return iphi_; }
46  bool isValid(const int det, const int phi, const int zside) const;
47  int validDet(std::vector<int>& phis) const;
48  std::pair<int, int> validEta() const { return std::pair<int, int>(ietaMin_, ietaMax_); }
49 
50 private:
51  static const int maxLayers_ = 18;
52  int subdet_; // Subdet (HB=1, HE=2)
53  int ietaMin_; // Minimum eta value
54  int ietaMax_; // Maximum eta value
55  int depthMin_; // Minimum depth
56  int depthMax_; // Maximum depth
57  int dep16C_; // Max/Min layer # for HB/HE (ieta=16)
58  int dep29C_; // Max Depth of the last HE
59  double wtl0C_; // Layer 0 weight
60  std::vector<int> iphi_; // phi*zside values
61  std::map<std::pair<int, int>, int> layer2Depth_; // Layer to depth map
62  std::map<std::pair<int, int>, int> depth2LayerF_; // Depth to front layer map
63  std::map<std::pair<int, int>, int> depth2LayerB_; // Depth to back layer map
64  std::map<int, std::pair<int, int>> depthsEta_; // Depth range for each eta
65 };
66 
67 #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
std::map< std::pair< int, int >, int > depth2LayerB_
int zside(DetId const &)
std::map< std::pair< int, int >, int > layer2Depth_
int getLayerBack(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
constexpr std::array< uint8_t, layerIndexSize > layer
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
int validDet(std::vector< int > &phis) const
const std::vector< int > & getPhis() const
std::map< int, std::pair< int, int > > depthsEta_
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
std::map< std::pair< int, int >, int > depth2LayerF_
int getDepthMin(const int subdet, const int iphi, const int zside) const
double getLayer0Wt(const int subdet, const int iphi, const int zside) const
std::pair< int, int > validEta() const
int getDepth16(const int subdet, const int iphi, const int zside) const
std::vector< int > iphi_
static const int maxLayers_
int getDepthMax(const int subdet, const int iphi, const int zside) const