Go to the documentation of this file.00001 #ifndef EventFilter_CSCDigiToRaw_h
00002 #define EventFilter_CSCDigiToRaw_h
00003
00011 #include "FWCore/Framework/interface/Frameworkfwd.h"
00012 #include "DataFormats/CSCDigi/interface/CSCStripDigiCollection.h"
00013 #include "DataFormats/CSCDigi/interface/CSCWireDigiCollection.h"
00014 #include "DataFormats/CSCDigi/interface/CSCComparatorDigiCollection.h"
00015 #include "DataFormats/CSCDigi/interface/CSCALCTDigiCollection.h"
00016 #include "DataFormats/CSCDigi/interface/CSCCLCTDigiCollection.h"
00017 #include "DataFormats/CSCDigi/interface/CSCCLCTPreTriggerCollection.h"
00018 #include "DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h"
00019 #include "EventFilter/CSCRawToDigi/interface/CSCEventData.h"
00020
00021 class FEDRawDataCollection;
00022 class CSCReadoutMappingFromFile;
00023 class CSCChamberMap;
00024
00025 class CSCDigiToRaw {
00026 public:
00028 explicit CSCDigiToRaw(const edm::ParameterSet & pset);
00029
00031 void createFedBuffers(const CSCStripDigiCollection& stripDigis,
00032 const CSCWireDigiCollection& wireDigis,
00033 const CSCComparatorDigiCollection& comparatorDigis,
00034 const CSCALCTDigiCollection& alctDigis,
00035 const CSCCLCTDigiCollection& clctDigis,
00036 const CSCCLCTPreTriggerCollection& preTriggers,
00037 const CSCCorrelatedLCTDigiCollection& correlatedLCTDigis,
00038 FEDRawDataCollection& fed_buffers,
00039 const CSCChamberMap* theMapping,
00040 edm::Event & e);
00041
00042 private:
00043 void beginEvent(const CSCChamberMap* electronicsMap);
00044
00045
00046 void add(const CSCStripDigiCollection& stripDigis,
00047 const CSCCLCTPreTriggerCollection& preTriggers);
00048 void add(const CSCWireDigiCollection& wireDigis,
00049 const CSCALCTDigiCollection & alctDigis);
00050
00051 void add(const CSCComparatorDigiCollection & comparatorDigis,
00052 const CSCCLCTDigiCollection & clctDigis);
00053 void add(const CSCALCTDigiCollection & alctDigis);
00054 void add(const CSCCLCTDigiCollection & clctDigis);
00055 void add(const CSCCorrelatedLCTDigiCollection & corrLCTDigis);
00057 CSCEventData & findEventData(const CSCDetId & cscDetId);
00058
00059 std::map<CSCDetId, CSCEventData> theChamberDataMap;
00060 const CSCChamberMap* theElectronicsMap;
00061 int alctWindowMin_;
00062 int alctWindowMax_;
00063 int clctWindowMin_;
00064 int clctWindowMax_;
00065 int preTriggerWindowMin_;
00066 int preTriggerWindowMax_;
00067
00068 };
00069
00070
00071
00072
00073 #endif