EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
SiliconPulseDiscretization_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2025 Chun Yuen Tsang
3
4#pragma once
5
6#include <edm4eic/EDM4eicVersion.h>
10
11namespace eicrecon {
12
14 : public JOmniFactory<SiliconPulseDiscretization_factory, SiliconPulseDiscretizationConfig> {
15public:
17
18private:
19 std::unique_ptr<AlgoT> m_algo;
20
21#if EDM4EIC_VERSION_MAJOR > 8 || (EDM4EIC_VERSION_MAJOR == 8 && EDM4EIC_VERSION_MINOR >= 1)
22 PodioInput<edm4eic::SimPulse> m_in_pulses{this};
23#else
24 PodioInput<edm4hep::TimeSeries> m_in_pulses{this};
25#endif
26 PodioOutput<edm4hep::RawTimeSeries> m_out_pulses{this};
27
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};
31
32 Service<AlgorithmsInit_service> m_algorithmsInit{this};
33
34public:
35 void Configure() {
36 m_algo = std::make_unique<AlgoT>(GetPrefix());
37 m_algo->level(static_cast<algorithms::LogLevel>(logger()->level()));
38 m_algo->applyConfig(config());
39 m_algo->init();
40 }
41
42 void Process(int32_t /* run_number */, uint64_t /* event_number */) {
43 m_algo->process({m_in_pulses()}, {m_out_pulses().get()});
44 }
45};
46
47} // namespace eicrecon
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
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