Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:38

0001 #ifndef INTERFACE_RBCCONFIGURATION_H
0002 #define INTERFACE_RBCCONFIGURATION_H 1
0003 
0004 // Include files
0005 #include "CondFormats/RPCObjects/interface/RBCBoardSpecs.h"
0006 
0007 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h"
0008 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCLogicUnit.h"
0009 
0010 /** @class RBCConfiguration RBCConfiguration.h interface/RBCConfiguration.h
0011  *  
0012  *
0013  *  Configuration Interface: Deals with configuration of RBC hardware
0014  *  
0015  *
0016  *  @author Andres Osorio
0017  *  @date   2008-10-29
0018  */
0019 
0020 class RBCConfiguration {
0021 public:
0022   RBCConfiguration() : m_rbcboardspecs(nullptr) {}
0023   RBCConfiguration(const RBCBoardSpecs* rbcspecs);
0024   RBCConfiguration(const char* _logic);
0025 
0026   RBCConfiguration(RBCConfiguration&&) = default;
0027   RBCConfiguration& operator=(RBCConfiguration&&) = default;
0028 
0029   virtual ~RBCConfiguration() = default;
0030   virtual bool initialise() = 0;
0031 
0032   virtual void preprocess(RBCInput&) = 0;
0033 
0034   RBCLogicUnit* rbclogic() { return m_rbclogic.get(); }
0035 
0036 protected:
0037   const RBCBoardSpecs* m_rbcboardspecs;
0038   std::unique_ptr<RBCLogicUnit> m_rbclogic;
0039 
0040   //RBCBoardSpecs::RBCBoardConfig * m_rbcconf;
0041 
0042 private:
0043 };
0044 #endif  // INTERFACE_RBCCONFIGURATION_H