00001 #ifndef CSCCFEBStatusDigi_CSCCFEBStatusDigi_h 00002 #define CSCCFEBStatusDigi_CSCCFEBStatusDigi_h 00003 00015 #include <vector> 00016 #include <iosfwd> 00017 #include <stdint.h> 00018 00019 class CSCCFEBStatusDigi{ 00020 00021 public: 00022 00024 CSCCFEBStatusDigi (int cfebnmb) {cfebnmb_ = cfebnmb;} 00025 00026 00028 CSCCFEBStatusDigi (int cfebnmb, std::vector<uint16_t> crcWords, 00029 std::vector<uint16_t> contrWords, std::vector<uint16_t> bWords) { 00030 cfebnmb_ = cfebnmb; 00031 crcWords_ = crcWords; 00032 contrWords_ = contrWords; 00033 bWords_ = bWords; 00034 } 00035 00036 00038 CSCCFEBStatusDigi () {} 00039 00041 void setCRC (std::vector<uint16_t> crc) {crcWords_ = crc;} 00042 00044 void setSCAC (std::vector<uint16_t> scac) {contrWords_ = scac;} 00045 00047 int getCFEBNmb() const {return cfebnmb_;} 00048 00050 std::vector<uint16_t> getSCAFullCond() const; 00051 00053 std::vector<uint16_t> getCRC() const {return crcWords_;} 00054 00056 int ShiftSel(int nmb,int nshift,int nsel) const; 00057 00059 std::vector<int> getTS_FLAG() const; 00060 00062 std::vector<int> getSCA_FULL() const; 00063 00065 std::vector<int> getLCT_PHASE() const; 00066 00068 std::vector<int> getL1A_PHASE() const; 00069 00071 std::vector<int> getSCA_BLK() const; 00072 00074 std::vector<int> getTRIG_TIME() const; 00075 00077 void print() const; 00078 00079 private: 00080 00081 uint16_t cfebnmb_; 00082 std::vector<uint16_t> crcWords_; 00083 std::vector<uint16_t> contrWords_; 00084 std::vector<uint16_t> bWords_; 00085 00086 }; 00087 00088 std::ostream & operator<<(std::ostream & o, const CSCCFEBStatusDigi& digi); 00089 00090 #endif