EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
HEXPLIT_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2023 Sebouh Paul
3
4#pragma once
5
9
10namespace eicrecon {
11
12class HEXPLIT_factory : public JOmniFactory<HEXPLIT_factory, HEXPLITConfig> {
13
15
16private:
17 std::unique_ptr<AlgoT> m_algo;
18 PodioInput<edm4eic::CalorimeterHit> m_rec_hits_input{this};
19 PodioOutput<edm4eic::CalorimeterHit> m_subcell_hits_output{this};
20
21 ParameterRef<double> m_MIP{this, "MIP", config().MIP};
22 ParameterRef<double> m_Emin_in_MIPs{this, "Emin_in_MIPs", config().Emin_in_MIPs};
23 ParameterRef<double> m_delta_in_MIPs{this, "delta_in_MIPs", config().delta_in_MIPs};
24 ParameterRef<double> m_tmax{this, "tmax", config().tmax};
25
26 Service<AlgorithmsInit_service> m_algorithmsInit{this};
27
28public:
29 void Configure() {
30 m_algo = std::make_unique<AlgoT>(GetPrefix());
31 m_algo->level(static_cast<algorithms::LogLevel>(logger()->level()));
32 m_algo->applyConfig(config());
33 m_algo->init();
34 }
35
36 void Process(int32_t /* run_number */, uint64_t /* event_number */) {
37 m_algo->process({m_rec_hits_input()}, {m_subcell_hits_output().get()});
38 }
39};
40
41} // namespace eicrecon
Definition JOmniFactory.h:30
HEXPLITConfig & 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 HEXPLIT_factory.h:12
void Configure()
Definition HEXPLIT_factory.h:29
void Process(int32_t, uint64_t)
Definition HEXPLIT_factory.h:36
Definition HEXPLIT.h:30
-client
Definition CalorimeterClusterRecoCoG.cc:37