EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
TransformBreitFrame_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2024 John Lajoie
3
4#pragma once
5
6#include <JANA/JEvent.h>
7#include <edm4hep/MCParticleCollection.h>
8#include <edm4eic/InclusiveKinematicsCollection.h>
9#include <edm4eic/ReconstructedParticleCollection.h>
10#include <memory>
11#include <string>
12#include <utility>
13#include <vector>
14
18
19namespace eicrecon {
20
21class TransformBreitFrame_factory : public JOmniFactory<TransformBreitFrame_factory, NoConfig> {
22
23public:
24 // algorithm to run
26
27private:
28 std::unique_ptr<Algo> m_algo;
29
30 // input collection
31 PodioInput<edm4hep::MCParticle> m_in_mcpart{this};
32 PodioInput<edm4eic::InclusiveKinematics> m_in_kine{this};
33 PodioInput<edm4eic::ReconstructedParticle> m_in_part{this};
34
35 // output collection
36 PodioOutput<edm4eic::ReconstructedParticle> m_out_part{this};
37
38 Service<AlgorithmsInit_service> m_algorithmsInit{this};
39
40public:
41 void Configure() {
42 m_algo = std::make_unique<Algo>(GetPrefix());
43 m_algo->level(static_cast<algorithms::LogLevel>(logger()->level()));
44 m_algo->applyConfig(config());
45 m_algo->init();
46 }
47
48 void Process(int32_t /* run_number */, uint64_t /* event_number */) {
49 m_algo->process({m_in_mcpart(), m_in_kine(), m_in_part()}, {m_out_part().get()});
50 }
51
52}; // end TransfromBreitFrame_factory definition
53
54} // namespace eicrecon
Definition JOmniFactory.h:30
NoConfig & 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 TransformBreitFrame_factory.h:21
void Configure()
Definition TransformBreitFrame_factory.h:41
void Process(int32_t, uint64_t)
Definition TransformBreitFrame_factory.h:48
Definition TransformBreitFrame.h:23
-client
Definition CalorimeterClusterRecoCoG.cc:37