File indexing completed on 2024-04-06 12:10:44
0001 #ifndef EventFilter_HGCalRawToDigi_HGCalECONDEmulator_h
0002 #define EventFilter_HGCalRawToDigi_HGCalECONDEmulator_h
0003
0004 #include <cstddef>
0005
0006 #include "EventFilter/HGCalRawToDigi/interface/HGCalECONDEmulatorParameters.h"
0007 #include "EventFilter/HGCalRawToDigi/interface/SlinkTypes.h"
0008
0009 namespace hgcal::econd {
0010
0011 class Emulator {
0012 public:
0013 explicit Emulator(const EmulatorParameters& params) : params_(params) {}
0014 virtual ~Emulator() = default;
0015
0016
0017 virtual ECONDInput next() = 0;
0018
0019 protected:
0020 const EmulatorParameters params_;
0021 };
0022
0023
0024 class TrivialEmulator : public Emulator {
0025 public:
0026 using Emulator::Emulator;
0027
0028 ECONDInput next() override;
0029
0030 private:
0031 uint32_t event_id_{1}, bx_id_{2}, orbit_id_{3};
0032 };
0033 }
0034
0035 #endif