CMS 3D CMS Logo

HGCalECONDEmulator.h
Go to the documentation of this file.
1 #ifndef EventFilter_HGCalRawToDigi_HGCalECONDEmulator_h
2 #define EventFilter_HGCalRawToDigi_HGCalECONDEmulator_h
3 
4 #include <cstddef>
5 
8 
9 namespace hgcal::econd {
11  class Emulator {
12  public:
14  virtual ~Emulator() = default;
15 
17  virtual ECONDInput next() = 0;
18 
19  protected:
21  };
22 
24  class TrivialEmulator : public Emulator {
25  public:
26  using Emulator::Emulator;
27 
28  ECONDInput next() override;
29 
30  private:
31  uint32_t event_id_{1}, bx_id_{2}, orbit_id_{3};
32  };
33 } // namespace hgcal::econd
34 
35 #endif
A "trivial" ECON-D emulator emulating non-empty ECON-D events.
Pure virtual base class for a ECON-D event emulator implementation.
virtual ~Emulator()=default
const EmulatorParameters params_
std::pair< EventId, ERxInput > ECONDInput
ECON-D inputs for a given event.
Definition: SlinkTypes.h:32
ECONDInput next() override
Fetch the next ECON-D event.
Emulator(const EmulatorParameters &params)
virtual ECONDInput next()=0
Fetch the next ECON-D event.