Go to the documentation of this file.00001 #ifndef CSCDigi_CSCCLCTDigi_h
00002 #define CSCDigi_CSCCLCTDigi_h
00003
00014 #include <boost/cstdint.hpp>
00015 #include <iosfwd>
00016
00017 class CSCCLCTDigi {
00018
00019 public:
00020
00022 CSCCLCTDigi(const int valid, const int quality, const int pattern,
00023 const int striptype, const int bend, const int strip,
00024 const int cfeb, const int bx, const int trknmb = 0, const int fullbx=0);
00026 CSCCLCTDigi();
00027
00029 void clear();
00030
00032 bool isValid() const {return valid_ ;}
00033
00035 int getQuality() const {return quality_ ;}
00036
00038 int getPattern() const {return pattern_ ;}
00039
00041 int getStripType() const {return striptype_ ;}
00042
00044 int getBend() const {return bend_ ;}
00045
00047 int getStrip() const {return strip_ ;}
00048
00050 int getCFEB() const {return cfeb_ ;}
00051
00053 int getBX() const {return bx_ ;}
00054
00056 int getTrknmb() const {return trknmb_ ;}
00057
00067 int getKeyStrip() const {
00068 int keyStrip = cfeb_ * 32 + strip_;
00069 return keyStrip;
00070 }
00071
00073 void setTrknmb(const uint16_t number) {trknmb_ = number;}
00074
00076 int getFullBX() const {return fullbx_ ;}
00077
00079 void setFullBX(const uint16_t fullbx) {fullbx_ = fullbx;}
00080
00081
00085 bool operator > (const CSCCLCTDigi&) const;
00086
00088 bool operator == (const CSCCLCTDigi&) const;
00089
00091 bool operator != (const CSCCLCTDigi&) const;
00092
00094 void print() const;
00095
00096 private:
00097
00098 uint16_t valid_ ;
00099 uint16_t quality_ ;
00100 uint16_t pattern_ ;
00101 uint16_t striptype_ ;
00102 uint16_t bend_ ;
00103 uint16_t strip_ ;
00104 uint16_t cfeb_ ;
00105 uint16_t bx_ ;
00106 uint16_t trknmb_ ;
00107 uint16_t fullbx_ ;
00108
00109 };
00110
00111 std::ostream & operator<<(std::ostream & o, const CSCCLCTDigi& digi);
00112
00113 #endif