CMS 3D CMS Logo

CSCFileReader.h

Go to the documentation of this file.
00001 #ifndef CSCFileReader_h
00002 #define CSCFileReader_h
00003 
00004 #include <IORawData/DaqSource/interface/DaqBaseReader.h>
00005 #include <DataFormats/Provenance/interface/EventID.h>
00006 
00007 #include <vector>
00008 #include <string>
00009 #include <list>
00010 #include <map>
00011 
00012 #include "FileReaderDDU.h"
00013 #include "FileReaderDCC.h"
00014 
00015 class CSCFileReader : public DaqBaseReader {
00016 private:
00017         std::vector<std::string> fileNames[40];
00018         std::vector<std::string>::const_iterator currentFile[40];
00019 
00020         int firstEvent, nEvents, tfDDUnumber;
00021         int expectedNextL1A, currentL1A[40];
00022         int nActiveRUIs, nActiveFUs;
00023 
00024         unsigned short *tmpBuf;
00025         const unsigned short *fuEvent[4];
00026         size_t fuEventSize[4];
00027 
00028         FileReaderDDU RUI[40];
00029         FileReaderDCC FU [4];
00030 
00031         std::map<unsigned int,std::list<unsigned int> > FED;
00032 
00033         int readRUI(int rui, const unsigned short* &buf, size_t &length);
00034         int buildEventFromRUIs(FEDRawDataCollection *data);
00035 
00036         int readFU (int fu,  const unsigned short* &buf, size_t &length);
00037         int nextEventFromFUs  (FEDRawDataCollection *data);
00038 
00039 public:
00040         bool fillRawData(edm::EventID& eID, edm::Timestamp& tstamp, FEDRawDataCollection *& data);
00041 
00042         CSCFileReader(const edm::ParameterSet& pset);
00043         virtual ~CSCFileReader(void);
00044 };
00045 
00046 #endif

Generated on Tue Jun 9 17:39:23 2009 for CMSSW by  doxygen 1.5.4