Iguana 1.0.0
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
Algorithm.h
1#pragma once
2
3#include "iguana/algorithms/Algorithm.h"
4
5namespace iguana::clas12 {
6
15 {
16
18
19 public:
20
21 void Start(hipo::banklist& banks) override;
22 bool Run(hipo::banklist& banks) const override;
23 void Stop() override;
24
30 bool Run(
31 hipo::bank const& bank_particle,
32 hipo::bank const& bank_calorimeter,
33 hipo::bank& bank_result) const;
34
35 private:
36
38 hipo::banklist::size_type b_particle;
39 hipo::banklist::size_type b_calorimeter;
40 hipo::banklist::size_type b_result;
41
42 // `b_result` bank item indices
43 int i_pindex;
44 int i_pcal_found;
45 int i_pcal_sector;
46 int i_pcal_lu;
47 int i_pcal_lv;
48 int i_pcal_lw;
49 int i_pcal_energy;
50 int i_ecin_found;
51 int i_ecin_sector;
52 int i_ecin_lu;
53 int i_ecin_lv;
54 int i_ecin_lw;
55 int i_ecin_energy;
56 int i_ecout_found;
57 int i_ecout_sector;
58 int i_ecout_lu;
59 int i_ecout_lv;
60 int i_ecout_lw;
61 int i_ecout_energy;
62 };
63
64}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Definition Algorithm.h:46
Algorithm: Link particle bank to bank REC::Calorimeter
Definition Algorithm.h:15
bool Run(hipo::bank const &bank_particle, hipo::bank const &bank_calorimeter, hipo::bank &bank_result) const
Run Function: Process an event's hipo::bank objects
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks.
bool Run(hipo::banklist &banks) const override
Run Function: Process an event's hipo::banklist
void Stop() override
Finalize this algorithm after all events are processed.
General CLAS12 algorithms.
Definition Algorithm.h:5