Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DTTPGConfigProducers_DTConfigTrivialProducer_h
0002 #define DTTPGConfigProducers_DTConfigTrivialProducer_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:     DTTPGConfigProducers
0007 // Class:       DTConfigTrivialProducer
0008 //
0009 /**\class  DTConfigTrivialProducer  DTConfigTrivialProducer.h
0010  L1TriggerConfig/DTTPGConfigProducers/interface/DTConfigTrivialProducer.h
0011 
0012  Description: A Producer for the DT config available via EventSetup
0013 
0014  Implementation:
0015      <Notes on implementation>
0016 */
0017 //
0018 // Original Author:  Sara Vanini
0019 //         Created:  March 2007
0020 //
0021 //
0022 
0023 // system include files
0024 #include <memory>
0025 #include <vector>
0026 
0027 // user include files
0028 #include "FWCore/Framework/interface/ESProducer.h"
0029 #include "FWCore/Framework/interface/ModuleFactory.h"
0030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0031 
0032 #include "FWCore/Framework/interface/ESHandle.h"
0033 
0034 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigManager.h"
0035 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigManagerRcd.h"
0036 
0037 //
0038 // class declaration
0039 //
0040 
0041 class DTConfigTrivialProducer : public edm::ESProducer {
0042 public:
0043   //! Constructor
0044   DTConfigTrivialProducer(const edm::ParameterSet &);
0045 
0046   //! destructor
0047   ~DTConfigTrivialProducer() override;
0048 
0049   //! ES produce method
0050   std::unique_ptr<DTConfigManager> produce(const DTConfigManagerRcd &);
0051 
0052 private:
0053   //! Build Config Manager
0054   void buildManager();
0055 
0056   //! Build Config Pedestals
0057   DTConfigPedestals buildTrivialPedestals();
0058 
0059   std::string mapEntryName(const DTChamberId &chambid) const;
0060 
0061   bool m_debug;
0062   edm::ParameterSet m_ps;
0063   DTConfigManager *m_manager;
0064   DTTPGParameters *m_tpgParams;
0065 };
0066 
0067 #endif