CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DataFormats/CSCDigi/interface/CSCALCTDigi.h

Go to the documentation of this file.
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