CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/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 // user include files
00024 #include "FWCore/Framework/interface/Frameworkfwd.h"
00025 #include "FWCore/Framework/interface/EDProducer.h"
00026 
00027 #include "FWCore/Framework/interface/Event.h"
00028 #include "FWCore/Framework/interface/MakerMacros.h"
00029 
00030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00031 #include "FWCore/Utilities/interface/InputTag.h"
00032 #include "FWCore/Utilities/interface/typedefs.h"
00033 
00034 // forward declarations
00035 class FEDRawDataCollection;
00036 
00037 class L1GtfeWord;
00038 class L1GtfeExtWord;
00039 class L1TcsWord;
00040 class L1GtFdlWord;
00041 
00042 // class declaration
00043 class L1GTEvmDigiToRaw : public edm::EDProducer
00044 {
00045 
00046 public:
00047 
00049     explicit L1GTEvmDigiToRaw(const edm::ParameterSet&);
00050 
00052     virtual ~L1GTEvmDigiToRaw();
00053 
00054 private:
00055 
00057     virtual void beginJob();
00058 
00060     virtual void produce(edm::Event&, const edm::EventSetup&);
00061 
00063 
00065     void packHeader(unsigned char*, edm::Event&);
00066 
00070     void packGTFE(const edm::EventSetup&, unsigned char*, L1GtfeExtWord&,
00071                   cms_uint16_t activeBoardsGtValue);
00072 
00074     void packTCS(const edm::EventSetup& evSetup, unsigned char* ptrGt,
00075                  L1TcsWord& tcsBlock);
00076 
00078     void packFDL(const edm::EventSetup&, unsigned char*, L1GtFdlWord&);
00079 
00081     void packTrailer(unsigned char*, unsigned char*, int);
00082 
00084     virtual void endJob();
00085 
00086 private:
00087 
00090     int m_evmGtFedId;
00091 
00093     edm::InputTag m_evmGtInputTag;
00094 
00096     cms_uint16_t m_activeBoardsMaskGt;
00097 
00099     int m_totalBxInEvent;
00100 
00103     int m_minBxInEvent;
00104 
00107     int m_maxBxInEvent;
00108 
00110     int m_bstLengthBytes;
00111 
00112 private:
00113 
00115     int m_verbosity;
00116     bool m_isDebugEnabled;
00117 
00118 };
00119 
00120 #endif // EventFilter_L1GlobalTriggerRawToDigi_L1GTEvmDigiToRaw_h