CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/EventFilter/EcalDigiToRaw/interface/BlockFormatter.h

Go to the documentation of this file.
00001 #ifndef BLOCKFORMATTER_H
00002 #define BLOCKFORMATTER_H
00003 
00004 #include <iostream>
00005 #include <vector>
00006 #include <map>
00007 
00008 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00009 #include <DataFormats/FEDRawData/interface/FEDRawDataCollection.h>
00010 #include <DataFormats/FEDRawData/interface/FEDRawData.h>
00011 #include <DataFormats/FEDRawData/interface/FEDRawDataCollection.h>
00012 
00013 
00014 
00015  class EcalDigiToRaw;
00016 
00017 
00018 class BlockFormatter {
00019  public :
00020         typedef uint64_t Word64;
00021         typedef uint16_t Word16;
00022 
00023         BlockFormatter();
00024         ~BlockFormatter();
00025         void SetParam(EcalDigiToRaw* base);
00026         static const int kCardsPerTower = 5;     // Number of VFE cards per trigger tower
00027         void DigiToRaw(FEDRawDataCollection* productRawData);
00028         void print(FEDRawData& rawdata);
00029         // void CleanUp(FEDRawDataCollection* productRawData);
00030         void CleanUp(FEDRawDataCollection* productRawData,
00031                         std::map<int, std::map<int,int> >* FEDorder);
00032         void PrintSizes(FEDRawDataCollection* productRawData);
00033 
00034  protected :
00035         bool debug_;
00036 
00037         bool doBarrel_;
00038         bool doEndCap_;
00039         bool doTCC_;
00040         bool doSR_;
00041         bool doTower_;
00042 
00043         std::vector<int32_t> * plistDCCId_;
00044 
00045         int* pcounter_;
00046         int* porbit_number_;
00047         int* pbx_;
00048         int* plv1_;
00049         int* prunnumber_;
00050 
00051 
00052 };
00053 
00054 
00055 
00056 #endif
00057 
00058