00001 #ifndef CSCAnodeData_h 00002 #define CSCAnodeData_h 00003 #include <vector> 00004 #include "DataFormats/CSCDigi/interface/CSCWireDigi.h" 00005 #include "EventFilter/CSCRawToDigi/interface/CSCAnodeDataFormat.h" 00006 #include <boost/shared_ptr.hpp> 00007 00008 class CSCALCTHeader; 00009 00010 00011 class CSCAnodeData { 00012 00013 public: 00015 CSCAnodeData(const CSCALCTHeader &); 00017 CSCAnodeData(const CSCALCTHeader &, const unsigned short *buf); 00018 00019 unsigned short * data() {return theData->data();} 00021 unsigned short int sizeInWords() const {return theData->sizeInWords();} 00022 00024 std::vector<CSCWireDigi> wireDigis(int layer) const {return theData->wireDigis(layer);} 00025 std::vector<std::vector<CSCWireDigi> > wireDigis() const; 00026 00027 void add(const CSCWireDigi & wireDigi, int layer) {theData->add(wireDigi, layer);} 00028 00029 static bool selfTest(); 00030 00031 private: 00032 boost::shared_ptr<CSCAnodeDataFormat> theData; 00033 int firmwareVersion; 00034 }; 00035 00036 #endif 00037 00038