00001 #ifndef Navigation_MuonEtaRange_H 00002 #define Navigation_MuonEtaRange_H 00003 00017 class MuonEtaRange { 00018 00019 public: 00020 00021 MuonEtaRange(); 00022 MuonEtaRange(float max, float min); 00023 MuonEtaRange(const MuonEtaRange&); 00024 ~MuonEtaRange() {} 00025 MuonEtaRange& operator=(const MuonEtaRange&); 00026 inline float min() const { return theMin; } 00027 inline float max() const { return theMax; } 00028 bool isInside(float eta, float error=0.) const; 00029 bool isInside(const MuonEtaRange& range) const; 00030 bool isCompatible(const MuonEtaRange& range) const; 00031 MuonEtaRange add(const MuonEtaRange&) const; 00032 MuonEtaRange minRange(const MuonEtaRange&) const; 00033 MuonEtaRange subtract(const MuonEtaRange&) const; 00034 private: 00035 00036 float theMin; 00037 float theMax; 00038 }; 00039 #include <iostream> 00040 inline std::ostream& operator<<(std::ostream& os, const MuonEtaRange& range) 00041 { 00042 os << "(" << range.min() << " : " << range.max() << ")" ; 00043 return os; 00044 } 00045 00046 #endif