00001 #ifndef ATLFAST_BINID_H 00002 #define ATLFAST_BINID_H 00003 00004 #include <vector> 00005 00006 class BinID 00007 { 00008 public: 00009 BinID(): m_int(0) 00010 { 00011 m_lowEdge.push_back(0.); 00012 m_highEdge.push_back(0.); 00013 } 00014 BinID(int intID,double low1,double high1) : m_int(intID) 00015 { 00016 m_lowEdge.push_back(low1); 00017 m_highEdge.push_back(high1); 00018 } 00019 00020 BinID(int intID,double low1,double high1,double low2,double high2) : 00021 m_int(intID) 00022 { 00023 m_lowEdge.push_back(low1); 00024 m_lowEdge.push_back(low2); 00025 m_highEdge.push_back(high1); 00026 m_highEdge.push_back(high2); 00027 } 00028 00029 double low(int n=0) const 00030 {return m_lowEdge[n];} 00031 double high(int n=0) const 00032 {return m_highEdge[n];} 00033 00034 bool operator<(const BinID& other) const { return (m_int < other.m_int); } 00035 private: 00036 int m_int; 00037 vector<double> m_lowEdge; 00038 vector<double> m_highEdge; 00039 }; 00040 00041 00042 00043 #endif