Represent a resolution and an range in which the resolution is valid. More...
#include <EtaDepResElement.h>
Public Member Functions | |
EtaDepResElement (double eta1, double eta2, const Vector_Resolution &res) | |
Construct an instance of EtaDepResElement from the lower limit, upper limit, and the resolution. The constructor will determine automatically which one among the two input s is the lower (upper) limit. | |
EtaDepResElement (double eta1, double eta2, std::string res) | |
Construct an instance of EtaDepResElement from the lower limit, upper limit, and a string which encoded the resolution. The constructor will determine automatically which one among the two input s is the lower (upper) limit. | |
EtaDepResElement (double eta1, double eta2, const Resolution &p_res, const Resolution &eta_res, const Resolution &phi_res, bool use_et) | |
Construct an instance of EtaDepResElement from the lower limit, upper limit, and the resolution. The constructor will determine automatically which one among the two input s is the lower (upper) limit. | |
const double | EtaMax () const |
Return the lower limit of valid range. | |
const double | EtaMin () const |
Return the lower limit of valid range. | |
const Vector_Resolution | GetResolution () const |
Access the resolution. | |
bool | IsInInterval (const double &eta) const |
Check if an value is within this instance's range. | |
bool | IsNotOverlap (const EtaDepResElement &e) const |
Check if this instance does not have overlapping range with another instance. | |
bool | IsOnEdge (const EtaDepResElement &e) const |
Check if another instance of EtaDepResElement lies at the edge/boundary of this instance's range. this instance's valid range. A tolerance factor of 1/1000000 is used. | |
bool | IsOnEdge (const double &eta) const |
Check if an value is at the edge/boundary of this instance's valid range. | |
bool | IsOverlap (const EtaDepResElement &e) const |
Check if this instance has overlapping range with another instance of EtaDepResElement. | |
~EtaDepResElement () | |
Static Public Attributes | |
static const int | InverseEtaPrecision = 1000000 |
Constant, the inverse of precision expected. | |
Private Member Functions | |
void | SetEta (double eta1, double eta2) |
Private Attributes | |
double | _EtaMax |
double | _EtaMin |
Vector_Resolution | _Vector_Resolution |
Friends | |
bool | operator< (const EtaDepResElement &a, const EtaDepResElement &b) |
Comparison operator, compare two EtaDepResElement instances based on their respective valid ranges. | |
std::ostream & | operator<< (std::ostream &s, const EtaDepResElement &e) |
Output stream operator. |
Represent a resolution and an range in which the resolution is valid.
See the documentation for Vector_Resolution and Resolution classes for more details.
Definition at line 63 of file EtaDepResElement.h.
hitfit::EtaDepResElement::EtaDepResElement | ( | double | eta1, |
double | eta2, | ||
const Vector_Resolution & | res | ||
) |
Construct an instance of EtaDepResElement from the lower limit, upper limit, and the resolution. The constructor will determine automatically which one among the two input s is the lower (upper) limit.
eta1 | Value of in one end/edge/boundary of the valid range. |
eta2 | Value of in the other end/edge/boundary of the valid range. |
res | The resolution. |
Definition at line 33 of file EtaDepResElement.cc.
References SetEta().
: _Vector_Resolution(res) { SetEta(eta1,eta2); }
hitfit::EtaDepResElement::EtaDepResElement | ( | double | eta1, |
double | eta2, | ||
std::string | res | ||
) |
Construct an instance of EtaDepResElement from the lower limit, upper limit, and a string which encoded the resolution. The constructor will determine automatically which one among the two input s is the lower (upper) limit.
eta1 | Value of in one end/edge/boundary of the valid range. |
eta2 | Value of in the other end/edge/boundary of the valid range. |
res | The resolution encoded in string. |
Definition at line 43 of file EtaDepResElement.cc.
References SetEta().
: _Vector_Resolution(res) { SetEta(eta1,eta2); }
hitfit::EtaDepResElement::EtaDepResElement | ( | double | eta1, |
double | eta2, | ||
const Resolution & | p_res, | ||
const Resolution & | eta_res, | ||
const Resolution & | phi_res, | ||
bool | use_et | ||
) |
Construct an instance of EtaDepResElement from the lower limit, upper limit, and the resolution. The constructor will determine automatically which one among the two input s is the lower (upper) limit.
eta1 | Value of in one end of the valid range. |
eta2 | Walue of in the other end of the valid range. |
p_res | The energy/momentum resolution. |
eta_res | The resolution. |
phi_res | The resolution. |
use_et | If true, then the energy/momentum resolution is for transverse component instead for radial component. |
Definition at line 53 of file EtaDepResElement.cc.
References SetEta().
: _Vector_Resolution(p_res,eta_res,phi_res,use_et) { SetEta(eta1,eta2); }
hitfit::EtaDepResElement::~EtaDepResElement | ( | ) |
const double hitfit::EtaDepResElement::EtaMax | ( | ) | const |
Return the lower limit of valid range.
Definition at line 122 of file EtaDepResElement.cc.
References _EtaMax.
{ return _EtaMax; }
const double hitfit::EtaDepResElement::EtaMin | ( | ) | const |
Return the lower limit of valid range.
Definition at line 113 of file EtaDepResElement.cc.
References _EtaMin.
{ return _EtaMin; }
const Vector_Resolution hitfit::EtaDepResElement::GetResolution | ( | ) | const |
Access the resolution.
Definition at line 178 of file EtaDepResElement.cc.
References _Vector_Resolution.
Referenced by hitfit::operator<<().
{ return _Vector_Resolution; }
bool hitfit::EtaDepResElement::IsInInterval | ( | const double & | eta | ) | const |
Check if an value is within this instance's range.
eta | The value to be checked. |
Definition at line 149 of file EtaDepResElement.cc.
References _EtaMax, and _EtaMin.
Referenced by IsOverlap().
bool hitfit::EtaDepResElement::IsNotOverlap | ( | const EtaDepResElement & | e | ) | const |
Check if this instance does not have overlapping range with another instance.
e | The other instance of EtaDepResElement to be checked. |
Definition at line 140 of file EtaDepResElement.cc.
References IsOverlap().
bool hitfit::EtaDepResElement::IsOnEdge | ( | const EtaDepResElement & | e | ) | const |
Check if another instance of EtaDepResElement lies at the edge/boundary of this instance's range. this instance's valid range. A tolerance factor of 1/1000000 is used.
e | The value to be checked. |
Definition at line 169 of file EtaDepResElement.cc.
References _EtaMax, _EtaMin, and IsOnEdge().
bool hitfit::EtaDepResElement::IsOnEdge | ( | const double & | eta | ) | const |
Check if an value is at the edge/boundary of this instance's valid range.
eta | The value to be checked. |
Definition at line 158 of file EtaDepResElement.cc.
References _EtaMax, _EtaMin, and InverseEtaPrecision.
Referenced by IsOnEdge().
{ bool nearEtaMin = fabs(eta - _EtaMin) < (1.0/double(InverseEtaPrecision)); bool nearEtaMax = fabs(eta - _EtaMax) < (1.0/double(InverseEtaPrecision)); return nearEtaMin || nearEtaMax ; }
bool hitfit::EtaDepResElement::IsOverlap | ( | const EtaDepResElement & | e | ) | const |
Check if this instance has overlapping range with another instance of EtaDepResElement.
e | The other instance of EtaDepResElement to be checked. |
Definition at line 131 of file EtaDepResElement.cc.
References _EtaMax, _EtaMin, and IsInInterval().
Referenced by IsNotOverlap(), and hitfit::operator<().
{ return (IsInInterval(e._EtaMin) || IsInInterval(e._EtaMax)); }
void hitfit::EtaDepResElement::SetEta | ( | double | eta1, |
double | eta2 | ||
) | [private] |
Set the lower and upper limit of the valid eta range.
eta1 | Value of in one end of the valid range. |
eta2 | Value of in the other end of the valid range. |
Definition at line 72 of file EtaDepResElement.cc.
References _EtaMax, _EtaMin, and InverseEtaPrecision.
Referenced by EtaDepResElement().
{ if (fabs(eta1 - eta2) < (1.0/double(InverseEtaPrecision))) { throw std::runtime_error("EtaDepResElement::equal EtaMin and EtaMax"); } if (eta1 < eta2) { _EtaMin = eta1 ; _EtaMax = eta2 ; } else { _EtaMin = eta2 ; _EtaMax = eta1 ; } }
bool operator< | ( | const EtaDepResElement & | a, |
const EtaDepResElement & | b | ||
) | [friend] |
Comparison operator, compare two EtaDepResElement instances based on their respective valid ranges.
a | The first instance of EtaDepResElement to be compared. |
b | The second instance of EtaDepResElement to be compared. |
Definition at line 103 of file EtaDepResElement.cc.
std::ostream& operator<< | ( | std::ostream & | s, |
const EtaDepResElement & | e | ||
) | [friend] |
Output stream operator.
s | The output stream to write to. |
e | The instance of EtaDepResElement to be printed. |
Definition at line 186 of file EtaDepResElement.cc.
double hitfit::EtaDepResElement::_EtaMax [private] |
Upper limit of the valid range.
Definition at line 75 of file EtaDepResElement.h.
Referenced by EtaMax(), IsInInterval(), IsOnEdge(), IsOverlap(), hitfit::operator<(), hitfit::operator<<(), and SetEta().
double hitfit::EtaDepResElement::_EtaMin [private] |
Lower limit of the valid range.
Definition at line 70 of file EtaDepResElement.h.
Referenced by EtaMin(), IsInInterval(), IsOnEdge(), IsOverlap(), hitfit::operator<(), hitfit::operator<<(), and SetEta().
const int hitfit::EtaDepResElement::InverseEtaPrecision = 1000000 [static] |
Constant, the inverse of precision expected.
Definition at line 243 of file EtaDepResElement.h.
Referenced by IsOnEdge(), and SetEta().