Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:13

0001 #ifndef Navigation_MuonEtaRange_H
0002 #define Navigation_MuonEtaRange_H
0003 
0004 /** \class MuonEtaRange
0005  *
0006  *  a class to define eta range used in Muon Navigation
0007  *
0008  *
0009  * \author : Stefano Lacaprara - INFN Padova <stefano.lacaprara@pd.infn.it>
0010  *
0011  * Modification:
0012  *
0013  */
0014 
0015 class MuonEtaRange {
0016 public:
0017   MuonEtaRange();
0018   MuonEtaRange(float max, float min);
0019   MuonEtaRange(const MuonEtaRange&);
0020   ~MuonEtaRange() {}
0021   MuonEtaRange& operator=(const MuonEtaRange&);
0022   inline float min() const { return theMin; }
0023   inline float max() const { return theMax; }
0024   bool isInside(float eta, float error = 0.) const;
0025   bool isInside(const MuonEtaRange& range) const;
0026   bool isCompatible(const MuonEtaRange& range) const;
0027   MuonEtaRange add(const MuonEtaRange&) const;
0028   MuonEtaRange minRange(const MuonEtaRange&) const;
0029   MuonEtaRange subtract(const MuonEtaRange&) const;
0030 
0031 private:
0032   float theMin;
0033   float theMax;
0034 };
0035 #include <iostream>
0036 inline std::ostream& operator<<(std::ostream& os, const MuonEtaRange& range) {
0037   os << "(" << range.min() << " : " << range.max() << ")";
0038   return os;
0039 }
0040 
0041 #endif