![]() |
![]() |
00001 #ifndef CSCCFEBStatusDigi_CSCCFEBStatusDigi_h 00002 #define CSCCFEBStatusDigi_CSCCFEBStatusDigi_h 00003 00015 #include <vector> 00016 00017 class CSCCFEBStatusDigi{ 00018 00019 public: 00020 00022 CSCCFEBStatusDigi (int cfebnmb) {cfebnmb_ = cfebnmb;} 00023 00024 00026 CSCCFEBStatusDigi (int cfebnmb, std::vector<uint16_t> crcWords, 00027 std::vector<uint16_t> contrWords, std::vector<uint16_t> bWords) { 00028 cfebnmb_ = cfebnmb; 00029 crcWords_ = crcWords; 00030 contrWords_ = contrWords; 00031 bWords_ = bWords; 00032 } 00033 00034 00036 CSCCFEBStatusDigi () {} 00037 00039 void setCRC (std::vector<uint16_t> crc) {crcWords_ = crc;} 00040 00042 void setSCAC (std::vector<uint16_t> scac) {contrWords_ = scac;} 00043 00045 int getCFEBNmb() const {return cfebnmb_;} 00046 00048 std::vector<uint16_t> getSCAFullCond() const; 00049 00051 std::vector<uint16_t> getCRC() const {return crcWords_;} 00052 00054 int ShiftSel(int nmb,int nshift,int nsel) const; 00055 00057 std::vector<int> getTS_FLAG() const; 00058 00060 std::vector<int> getSCA_FULL() const; 00061 00063 std::vector<int> getLCT_PHASE() const; 00064 00066 std::vector<int> getL1A_PHASE() const; 00067 00069 std::vector<int> getSCA_BLK() const; 00070 00072 std::vector<int> getTRIG_TIME() const; 00073 00075 void print() const; 00076 00077 private: 00078 00079 uint16_t cfebnmb_; 00080 std::vector<uint16_t> crcWords_; 00081 std::vector<uint16_t> contrWords_; 00082 std::vector<uint16_t> bWords_; 00083 00084 }; 00085 00086 #include<iostream> 00088 inline std::ostream & operator<<(std::ostream & o, const CSCCFEBStatusDigi& digi) { 00089 o << " " << digi.getCFEBNmb()<<"\n"; 00090 for (size_t i = 0; i<4; ++i ){ 00091 o <<" " <<(digi.getSCAFullCond())[i]; } 00092 o <<"\n"; 00093 for (size_t i = 0; i<digi.getCRC().size(); ++i ){ 00094 o <<" " <<(digi.getCRC())[i]; } 00095 o<<"\n"; 00096 for (size_t i = 0; i<digi.getTS_FLAG().size(); ++i ){ 00097 o <<" " <<(digi.getTS_FLAG())[i]; } 00098 o<<"\n"; 00099 for (size_t i = 0; i<digi.getSCA_FULL().size(); ++i ){ 00100 o <<" " <<(digi.getSCA_FULL())[i]; } 00101 o<<"\n"; 00102 for (size_t i = 0; i<digi.getLCT_PHASE().size(); ++i ){ 00103 o <<" " <<(digi.getLCT_PHASE())[i]; } 00104 o<<"\n"; 00105 for (size_t i = 0; i<digi.getL1A_PHASE().size(); ++i ){ 00106 o <<" " <<(digi.getL1A_PHASE())[i]; } 00107 o<<"\n"; 00108 for (size_t i = 0; i<digi.getSCA_BLK().size(); ++i ){ 00109 o <<" " <<(digi.getSCA_BLK())[i]; } 00110 o<<"\n"; 00111 for (size_t i = 0; i<digi.getTRIG_TIME().size(); ++i ){ 00112 o <<" " <<(digi.getTRIG_TIME())[i]; } 00113 o<<"\n"; 00114 00115 return o; 00116 } 00117 00118 #endif