CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/EventFilter/CSCRawToDigi/interface/CSCAnodeData.h

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