CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/EventFilter/L1GlobalTriggerRawToDigi/interface/L1GTEvmDigiToRaw.h

Go to the documentation of this file.
00001 #ifndef EventFilter_L1GlobalTriggerRawToDigi_L1GTEvmDigiToRaw_h
00002 #define EventFilter_L1GlobalTriggerRawToDigi_L1GTEvmDigiToRaw_h
00003 
00020 // system include files
00021 #include <memory>
00022 
00023 #include <boost/cstdint.hpp>
00024 
00025 // user include files
00026 #include "FWCore/Framework/interface/Frameworkfwd.h"
00027 #include "FWCore/Framework/interface/EDProducer.h"
00028 
00029 #include "FWCore/Framework/interface/Event.h"
00030 #include "FWCore/Framework/interface/MakerMacros.h"
00031 
00032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00033 #include "FWCore/Utilities/interface/InputTag.h"
00034 
00035 // forward declarations
00036 class FEDRawDataCollection;
00037 
00038 class L1GtfeWord;
00039 class L1GtfeExtWord;
00040 class L1TcsWord;
00041 class L1GtFdlWord;
00042 
00043 // class declaration
00044 class L1GTEvmDigiToRaw : public edm::EDProducer
00045 {
00046 
00047 public:
00048 
00050     explicit L1GTEvmDigiToRaw(const edm::ParameterSet&);
00051 
00053     virtual ~L1GTEvmDigiToRaw();
00054 
00055 private:
00056 
00058     virtual void beginJob();
00059 
00061     virtual void produce(edm::Event&, const edm::EventSetup&);
00062 
00064 
00066     void packHeader(unsigned char*, edm::Event&);
00067 
00071     void packGTFE(const edm::EventSetup&, unsigned char*, L1GtfeExtWord&,
00072                   boost::uint16_t activeBoardsGtValue);
00073 
00075     void packTCS(const edm::EventSetup& evSetup, unsigned char* ptrGt,
00076                  L1TcsWord& tcsBlock);
00077 
00079     void packFDL(const edm::EventSetup&, unsigned char*, L1GtFdlWord&);
00080 
00082     void packTrailer(unsigned char*, unsigned char*, int);
00083 
00085     virtual void endJob();
00086 
00087 private:
00088 
00091     int m_evmGtFedId;
00092 
00094     edm::InputTag m_evmGtInputTag;
00095 
00097     boost::uint16_t m_activeBoardsMaskGt;
00098 
00100     int m_totalBxInEvent;
00101 
00104     int m_minBxInEvent;
00105 
00108     int m_maxBxInEvent;
00109 
00111     int m_bstLengthBytes;
00112 
00113 private:
00114 
00116     int m_verbosity;
00117     bool m_isDebugEnabled;
00118 
00119 };
00120 
00121 #endif // EventFilter_L1GlobalTriggerRawToDigi_L1GTEvmDigiToRaw_h