CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/EventFilter/EcalDigiToRaw/interface/TowerBlockFormatter.h

Go to the documentation of this file.
00001 #ifndef TOWERBLOCKFORMATTER_H
00002 #define TOWERBLOCKFORMATTER_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 "EventFilter/EcalDigiToRaw/interface/BlockFormatter.h"
00012 
00013 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
00014 
00015 
00016 // 
00017 // The crystals corresponding to a given FE in a given FED
00018 //
00019 
00020 
00021 
00022 class TowerBlockFormatter : public BlockFormatter {
00023  public :
00024 
00025         TowerBlockFormatter();
00026         ~TowerBlockFormatter();
00027         static const int kCardsPerTower = 5;     // Number of VFE cards per trigger tower
00028         void DigiToRaw(const EBDataFrame& dataframe, FEDRawData& rawdata, const EcalElectronicsMapping* TheMapping);
00029         void DigiToRaw(const EEDataFrame& dataframe, FEDRawData& rawdata, const EcalElectronicsMapping* TheMapping);
00030         void StartEvent();
00031         void EndEvent(FEDRawDataCollection* productRawData);
00032 
00033         std::map<int, std::map<int,int> >* GetFEDorder() {return FEDorder; }
00034 
00035  private :
00036         std::map<int, std::map<int,int> >* FEDmap;
00037         std::map<int, std::map<int,int> >* FEDorder;
00038 
00039 
00040 };
00041 
00042 
00043 
00044 #endif
00045 
00046