File indexing completed on 2024-04-06 12:21:38
0001 #ifndef INTERFACE_RBCCONFIGURATION_H
0002 #define INTERFACE_RBCCONFIGURATION_H 1
0003
0004
0005 #include "CondFormats/RPCObjects/interface/RBCBoardSpecs.h"
0006
0007 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h"
0008 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCLogicUnit.h"
0009
0010
0011
0012
0013
0014
0015
0016
0017
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
0041
0042 private:
0043 };
0044 #endif