CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
33 namespace hitfit {
34 
63 
64 private:
65 
69  double _EtaMin;
70 
74  double _EtaMax;
75 
83  void SetEta(double eta1,double eta2);
84 
89 
90 public:
91 
104  EtaDepResElement(double eta1, double eta2,
105  const Vector_Resolution& res);
106 
120  EtaDepResElement(double eta1, double eta2,
121  std::string res);
122 
140  EtaDepResElement(double eta1, double eta2,
141  const Resolution& p_res,
142  const Resolution& eta_res,
143  const Resolution& phi_res,
144  bool use_et);
145 
150 
151  friend bool operator < (const EtaDepResElement& a,
152  const EtaDepResElement& b) ;
153 
157  const double EtaMin() const;
158 
162  const double EtaMax() const;
163 
174  bool IsOverlap(const EtaDepResElement& e) const ;
175 
186  bool IsNotOverlap(const EtaDepResElement& e) const ;
187 
197  bool IsInInterval(const double& eta) const ;
198 
199 
205  bool IsOnEdge(const double& eta) const;
206 
219  bool IsOnEdge(const EtaDepResElement& e) const;
220 
227  const Vector_Resolution GetResolution() const;
228 
236  friend std::ostream& operator<<(std::ostream& s,
237  const EtaDepResElement& e);
238 
242  static const int InverseEtaPrecision = 1000000; // Precision of 1/1000000
243 
244 };
245 
246 } // namespace hitfit
247 #endif // not #ifndef HITFIT_ETA_DEP_RES_ELEMENT
bool IsOnEdge(const double &eta) const
Check if an value is at the edge/boundary of this instance&#39;s valid range.
Calculate and represent resolution for a vector of momentum , pseudorapidity , and azimuthal angle ...
const Vector_Resolution GetResolution() const
Access the resolution.
Calculate and represent resolution for a physical quantity.
Definition: Resolution.h:102
Represent a resolution and an range in which the resolution is valid.
T eta() const
static const int InverseEtaPrecision
Constant, the inverse of precision expected.
Vector_Resolution _Vector_Resolution
EtaDepResElement(double eta1, double eta2, const Vector_Resolution &res)
Construct an instance of EtaDepResElement from the lower limit, upper limit, and the resolution...
bool IsOverlap(const EtaDepResElement &e) const
Check if this instance has overlapping range with another instance of EtaDepResElement.
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...
bool IsNotOverlap(const EtaDepResElement &e) const
Check if this instance does not have overlapping range with another instance.
double a
Definition: hdecay.h:121
friend std::ostream & operator<<(std::ostream &s, const EtaDepResElement &e)
Output stream operator.
bool IsInInterval(const double &eta) const
Check if an value is within this instance&#39;s range.
const double EtaMin() const
Return the lower limit of valid range.
Calculate and represent resolution for a vector of , pseudorapidity , and azimuthal angle ...
const double EtaMax() const
Return the lower limit of valid range.