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
00018
00019
00020
00021
00022 class TowerBlockFormatter : public BlockFormatter {
00023 public :
00024
00025 TowerBlockFormatter();
00026 ~TowerBlockFormatter();
00027 static const int kCardsPerTower = 5;
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