Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:17

0001 #ifndef L1GtConfigProducers_L1GtPsbSetupTrivialProducer_h
0002 #define L1GtConfigProducers_L1GtPsbSetupTrivialProducer_h
0003 
0004 /**
0005  * \class L1GtPsbSetupTrivialProducer
0006  *
0007  *
0008  * Description: ESProducer for the setup of L1 GT PSB boards.
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *
0013  * \author: Vasile Mihai Ghete - HEPHY Vienna
0014  *
0015  *
0016  */
0017 
0018 // system include files
0019 #include <memory>
0020 
0021 #include <vector>
0022 
0023 // user include files
0024 //   base class
0025 #include "FWCore/Framework/interface/ESProducer.h"
0026 
0027 #include "CondFormats/L1TObjects/interface/L1GtPsbConfig.h"
0028 #include "CondFormats/L1TObjects/interface/L1GtPsbSetup.h"
0029 
0030 // forward declarations
0031 class L1GtPsbSetupRcd;
0032 
0033 // class declaration
0034 class L1GtPsbSetupTrivialProducer : public edm::ESProducer {
0035 public:
0036   /// constructor
0037   L1GtPsbSetupTrivialProducer(const edm::ParameterSet&);
0038 
0039   /// destructor
0040   ~L1GtPsbSetupTrivialProducer() override;
0041 
0042   /// public methods
0043 
0044   /// produce the setup for L1 GT PSB boards
0045   std::unique_ptr<L1GtPsbSetup> producePsbSetup(const L1GtPsbSetupRcd&);
0046 
0047 private:
0048   /// L1 GT PSB boards and their setup
0049   std::vector<L1GtPsbConfig> m_gtPsbSetup;
0050 };
0051 
0052 #endif