CMS 3D CMS Logo

EtaDepResElement.h
Go to the documentation of this file.
1 //
2 //
3 // CMSSW File : interface/EtaDepResElement.h
4 // Original Author : Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
5 // Purpose : Hold on to an element of eta-dependent resolution.
6 // A class which holds to the information of resolution
7 // and the eta range in which the resolution is valid.
8 //
9 
24 #ifndef HITFIT_ETA_DEP_RES_ELEMENT
25 #define HITFIT_ETA_DEP_RES_ELEMENT
26 
27 #include <iostream>
28 
31 
32 namespace hitfit {
33 
62  private:
66  double _EtaMin;
67 
71  double _EtaMax;
72 
80  void SetEta(double eta1, double eta2);
81 
86 
87  public:
100  EtaDepResElement(double eta1, double eta2, const Vector_Resolution& res);
101 
115  EtaDepResElement(double eta1, double eta2, std::string res);
116 
134  EtaDepResElement(double eta1,
135  double eta2,
136  const Resolution& p_res,
137  const Resolution& eta_res,
138  const Resolution& phi_res,
139  bool use_et);
140 
145 
146  friend bool operator<(const EtaDepResElement& a, const EtaDepResElement& b);
147 
151  const double EtaMin() const;
152 
156  const double EtaMax() const;
157 
168  bool IsOverlap(const EtaDepResElement& e) const;
169 
180  bool IsNotOverlap(const EtaDepResElement& e) const;
181 
191  bool IsInInterval(const double& eta) const;
192 
198  bool IsOnEdge(const double& eta) const;
199 
212  bool IsOnEdge(const EtaDepResElement& e) const;
213 
220  const Vector_Resolution GetResolution() const;
221 
229  friend std::ostream& operator<<(std::ostream& s, const EtaDepResElement& e);
230 
234  static const int InverseEtaPrecision = 1000000; // Precision of 1/1000000
235  };
236 
237 } // namespace hitfit
238 #endif // not #ifndef HITFIT_ETA_DEP_RES_ELEMENT
Calculate and represent resolution for a vector of momentum , pseudorapidity , and azimuthal angle ...
bool IsOnEdge(const double &eta) const
Check if an value is at the edge/boundary of this instance&#39;s valid range.
const double EtaMin() const
Return the lower limit of valid range.
Calculate and represent resolution for a physical quantity.
Definition: Resolution.h:98
const Vector_Resolution GetResolution() const
Access the resolution.
bool IsInInterval(const double &eta) const
Check if an value is within this instance&#39;s range.
Represent a resolution and an range in which the resolution is valid.
Definition: Electron.h:6
static const int InverseEtaPrecision
Constant, the inverse of precision expected.
bool IsOverlap(const EtaDepResElement &e) const
Check if this instance has overlapping range with another instance of EtaDepResElement.
Vector_Resolution _Vector_Resolution
const double EtaMax() const
Return the lower limit of valid range.
bool IsNotOverlap(const EtaDepResElement &e) const
Check if this instance does not have overlapping range with another instance.
EtaDepResElement(double eta1, double eta2, const Vector_Resolution &res)
Construct an instance of EtaDepResElement from the lower limit, upper limit, and the resolution...
double b
Definition: hdecay.h:120
Define a concrete interface for getting parameter settings from an ASCII text file.
void SetEta(double eta1, double eta2)
friend bool operator<(const EtaDepResElement &a, const EtaDepResElement &b)
Comparison operator, compare two EtaDepResElement instances based on their respective valid ranges...
double a
Definition: hdecay.h:121
friend std::ostream & operator<<(std::ostream &s, const EtaDepResElement &e)
Output stream operator.
Calculate and represent resolution for a vector of , pseudorapidity , and azimuthal angle ...