EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
TrackPropagationTest_processor.h
Go to the documentation of this file.
1#pragma once
2
3#include <Acts/Surfaces/DiscSurface.hpp>
4#include <JANA/JEventProcessor.h>
5#include <TDirectory.h>
6#include <memory>
7
10
12 : public JEventProcessor,
13 public eicrecon::SpdlogMixin // this automates proper log initialization
14{
15public:
16 //----------------------------
17 // Init
18 //
19 // This is called once before the first call to the Process method
20 // below. You may, for example, want to open an output file here.
21 // Only one thread will call this.
22 void Init() override;
23
24 //----------------------------
25 // Process
26 //
27 // This is called for every event. Multiple threads may call this
28 // simultaneously. If you write something to an output file here
29 // then make sure to protect it with a mutex or similar mechanism.
30 // Minimize what is done while locked since that directly affects
31 // the multi-threaded performance.
32 void Process(const std::shared_ptr<const JEvent>& event) override;
33
34 //----------------------------
35 // Finish
36 //
37 // This is called once after all events have been processed. You may,
38 // for example, want to close an output file here.
39 // Only one thread will call this.
40 void Finish() override;
41
42private:
44 TDirectory* m_dir_main{};
45
47 std::unique_ptr<eicrecon::TrackPropagation> m_propagation_algo;
48
50 std::shared_ptr<Acts::DiscSurface> m_hcal_surface;
51};
Definition TrackPropagationTest_processor.h:14
void Process(const std::shared_ptr< const JEvent > &event) override
Definition TrackPropagationTest_processor.cc:75
void Finish() override
Definition TrackPropagationTest_processor.cc:124
void Init() override
Definition TrackPropagationTest_processor.cc:34
Definition SpdlogMixin.h:14