File indexing completed on 2023-03-17 10:59:36
0001 #ifndef TOWERBLOCKFORMATTER_H
0002 #define TOWERBLOCKFORMATTER_H
0003
0004 #include <iostream>
0005 #include <vector>
0006 #include <map>
0007
0008 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0009 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0010 #include "DataFormats/FEDRawData/interface/FEDRawData.h"
0011 #include "EventFilter/EcalDigiToRaw/interface/BlockFormatter.h"
0012
0013 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
0014
0015
0016
0017
0018
0019 class TowerBlockFormatter : public BlockFormatter {
0020 public:
0021 TowerBlockFormatter(BlockFormatter::Config const&, BlockFormatter::Params const&);
0022
0023 static const int kCardsPerTower = 5;
0024 void DigiToRaw(const EBDataFrame& dataframe, FEDRawData& rawdata, const EcalElectronicsMapping* TheMapping);
0025 void DigiToRaw(const EEDataFrame& dataframe, FEDRawData& rawdata, const EcalElectronicsMapping* TheMapping);
0026 void EndEvent(FEDRawDataCollection* productRawData);
0027
0028 std::map<int, std::map<int, int> >& GetFEDorder() { return FEDorder; }
0029
0030 private:
0031 std::map<int, std::map<int, int> > FEDmap;
0032 std::map<int, std::map<int, int> > FEDorder;
0033 };
0034
0035 #endif