00001 //------------------------------------------------- 00002 // 00013 // 00014 //-------------------------------------------------- 00015 #ifndef DTTFRawToDigi_DTTFFEDSim_h 00016 #define DTTFRawToDigi_DTTFFEDSim_h 00017 00018 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" 00019 00020 #include <FWCore/Framework/interface/EDProducer.h> 00021 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00022 #include <FWCore/Utilities/interface/InputTag.h> 00023 00024 #include <string> 00025 00026 class DTTFFEDSim : public edm::EDProducer { 00027 00028 public: 00029 00031 DTTFFEDSim(const edm::ParameterSet& pset); 00032 00034 virtual ~DTTFFEDSim(); 00035 00037 void produce(edm::Event & e, const edm::EventSetup& c); 00038 00040 bool fillRawData(edm::Event& e, 00041 FEDRawDataCollection& data); 00042 00043 private: 00044 00045 unsigned int eventNum; 00046 00047 edm::InputTag DTDigiInputTag; 00048 edm::InputTag DTPHTFInputTag; 00049 00050 // utilities 00051 int channel(int wheel, int sector, int bx); 00052 00053 int bxNr(int channel); 00054 00055 int sector(int channel); 00056 00057 int wheel(int channel); 00058 00059 void calcCRC(int myD1, int myD2, int &myC); 00060 00061 edm::InputTag getDTDigiInputTag() { return DTDigiInputTag; } 00062 edm::InputTag getDTPHTFInputTag() { return DTPHTFInputTag; } 00063 00064 }; 00065 #endif