File indexing completed on 2024-04-06 12:25:02
0001 #ifndef RecoEgamma_EgammaTools_LongDeps_h
0002 #define RecoEgamma_EgammaTools_LongDeps_h
0003 #include <vector>
0004 #include <set>
0005
0006
0007
0008
0009
0010
0011
0012 namespace hgcal {
0013
0014 class LongDeps {
0015 public:
0016 LongDeps(float radius,
0017 const std::vector<float>& energyPerLayer,
0018 float energyEE,
0019 float energyFH,
0020 float energyBH,
0021 const std::set<int>& layers);
0022 ~LongDeps() {}
0023
0024 inline float radius() const { return radius_; };
0025 inline float energyEE() const { return energyEE_; }
0026 inline float energyFH() const { return energyFH_; }
0027 inline float energyBH() const { return energyBH_; }
0028 inline const std::vector<float>& energyPerLayer() const { return energyPerLayer_; }
0029 inline const std::set<int>& layers() const { return layers_; }
0030 inline unsigned nLayers() const { return layers_.size(); }
0031 inline int firstLayer() const { return (nLayers() > 0 ? *layers_.begin() : -1); }
0032 inline int lastLayer() const { return (nLayers() > 0 ? *layers_.rbegin() : -1); }
0033 inline int layerEfrac10() const { return lay_Efrac10_; }
0034 inline int layerEfrac90() const { return lay_Efrac90_; }
0035 inline float e4oEtot() const { return e4oEtot_; }
0036
0037 private:
0038 std::vector<float> energyPerLayer_;
0039 float radius_;
0040 float energyEE_;
0041 float energyFH_;
0042 float energyBH_;
0043 std::set<int> layers_;
0044 int lay_Efrac10_;
0045 int lay_Efrac90_;
0046 float e4oEtot_;
0047 };
0048
0049 }
0050
0051 #endif