00001 #ifndef CSCDCCFormatStatusDigi_CSCDCCFormatStatusDigi_h 00002 #define CSCDCCFormatStatusDigi_CSCDCCFormatStatusDigi_h 00003 00015 #include <DataFormats/MuonDetId/interface/CSCDetId.h> 00016 #include <vector> 00017 00018 class CSCDCCFormatStatusDigi{ 00019 00020 public: 00022 CSCDCCFormatStatusDigi (int dccnmb, int ddunmb) { 00023 dccnmb_ = dccnmb; ddunmb_=ddunmb;} 00024 00026 CSCDCCFormatStatusDigi () {} 00027 00029 void setCSCDCCExaminerInfo(unsigned int examinfo) {examinfo_ = examinfo;} 00030 00032 void setUnpackerInfo(unsigned int unpackinfo) {unpackinfo_=unpackinfo;} 00033 00035 void setErInfo(unsigned int erinfo) {erinfo_ = erinfo;} 00036 00038 void setCSCId (std::vector<CSCDetId> cscid) {cscid_ = cscid;} 00039 00040 00042 int getDCCNmb() const {return dccnmb_;} 00043 00045 int getDDUNmb() const {return ddunmb_;} 00046 00048 unsigned int getCSCDCCExaminerInfo() const {return examinfo_;} 00049 00051 unsigned int getUnpackerInfo() const {return unpackinfo_;} 00052 00054 unsigned int getErInfo() const {return erinfo_;} 00055 00057 std::vector<CSCDetId> getCSCId () const {return cscid_;} 00058 00060 void print() const; 00061 00062 private: 00063 00064 uint16_t dccnmb_; 00065 uint16_t ddunmb_; 00066 uint32_t examinfo_; 00067 uint32_t unpackinfo_; 00068 uint32_t erinfo_; 00069 std::vector<CSCDetId> cscid_; 00070 }; 00071 00072 #include<iostream> 00074 inline std::ostream & operator<<(std::ostream & o, const CSCDCCFormatStatusDigi& digi) { 00075 o << " " <<digi.getDCCNmb()<<" "<<digi.getDDUNmb()<<" " 00076 <<digi.getCSCDCCExaminerInfo()<<" " 00077 << digi.getUnpackerInfo()<<" "<<digi.getErInfo()<<"\n"; 00078 for (size_t i = 0; i<digi.getCSCId().size(); ++i ){ 00079 o <<" " <<(digi.getCSCId())[i]; } 00080 o<<"\n"; 00081 00082 return o; 00083 } 00084 00085 #endif