6#include <edm4eic/EDM4eicVersion.h>
14 :
public JOmniFactory<SiliconPulseDiscretization_factory, SiliconPulseDiscretizationConfig> {
19 std::unique_ptr<AlgoT> m_algo;
21#if EDM4EIC_VERSION_MAJOR > 8 || (EDM4EIC_VERSION_MAJOR == 8 && EDM4EIC_VERSION_MINOR >= 1)
22 PodioInput<edm4eic::SimPulse> m_in_pulses{
this};
24 PodioInput<edm4hep::TimeSeries> m_in_pulses{
this};
26 PodioOutput<edm4hep::RawTimeSeries> m_out_pulses{
this};
28 ParameterRef<double> m_EICROC_period{
this,
"EICROCPeriod",
config().EICROC_period};
29 ParameterRef<double> m_local_period{
this,
"localPeriod",
config().local_period};
30 ParameterRef<double> m_global_offset{
this,
"globalOffset",
config().global_offset};
32 Service<AlgorithmsInit_service> m_algorithmsInit{
this};
36 m_algo = std::make_unique<AlgoT>(
GetPrefix());
37 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
38 m_algo->applyConfig(
config());
43 m_algo->process({m_in_pulses()}, {m_out_pulses().get()});
Definition JOmniFactory.h:30
SiliconPulseDiscretizationConfig & config()
Retrieve reference to embedded config object.
Definition JOmniFactory.h:576
std::shared_ptr< spdlog::logger > & logger()
Retrieve reference to already-configured logger.
Definition JOmniFactory.h:573
std::string GetPrefix()
Definition JOmniFactory.h:570
Definition SiliconPulseDiscretization_factory.h:14
void Configure()
Definition SiliconPulseDiscretization_factory.h:35
void Process(int32_t, uint64_t)
Definition SiliconPulseDiscretization_factory.h:42
Definition SiliconPulseDiscretization.h:37
-client
Definition CalorimeterClusterRecoCoG.cc:37