00001 #ifndef CSCDigi_CSCALCTDigi_h 00002 #define CSCDigi_CSCALCTDigi_h 00003 00014 #include <boost/cstdint.hpp> 00015 #include <iosfwd> 00016 00017 class CSCALCTDigi { 00018 00019 public: 00020 00022 CSCALCTDigi(const int valid, const int quality, const int accel, 00023 const int patternb, const int keywire, const int bx, 00024 const int trknmb = 0); 00026 CSCALCTDigi(); 00027 00029 void clear(); 00030 00032 bool isValid() const {return valid_ ;} 00033 00035 int getQuality() const {return quality_ ;} 00036 00039 int getAccelerator() const {return accel_ ;} 00040 00044 int getCollisionB() const {return patternb_ ;} 00045 00047 int getKeyWG() const {return keywire_ ;} 00048 00050 int getBX() const {return bx_ ;} 00051 00053 int getTrknmb() const {return trknmb_ ;} 00054 00056 void setTrknmb(const uint16_t number) {trknmb_ = number;} 00057 00059 int getFullBX() const {return fullbx_ ;} 00060 00062 void setFullBX(const uint16_t fullbx) {fullbx_ = fullbx;} 00063 00066 bool operator > (const CSCALCTDigi&) const; 00067 00069 bool operator == (const CSCALCTDigi&) const; 00070 00072 bool operator != (const CSCALCTDigi&) const; 00073 00075 void print() const; 00076 00078 void setWireGroup(unsigned int wiregroup) {keywire_= wiregroup;} 00079 00080 private: 00081 00082 uint16_t valid_ ; 00083 uint16_t quality_ ; 00084 uint16_t accel_ ; 00085 uint16_t patternb_ ; // not used since 2007 00086 uint16_t keywire_ ; 00087 uint16_t bx_ ; 00088 uint16_t trknmb_ ; 00089 uint16_t fullbx_ ; 00090 }; 00091 00092 std::ostream & operator<<(std::ostream & o, const CSCALCTDigi& digi); 00093 #endif