Line | Branch | Exec | Source |
---|---|---|---|
1 | #pragma once | ||
2 | |||
3 | #include "iguana/algorithms/Algorithm.h" | ||
4 | |||
5 | namespace iguana::clas12 { | ||
6 | |||
7 | /// @brief_algo Link particle bank to bank `REC::Calorimeter` | ||
8 | /// | ||
9 | /// @begin_doc_algo{clas12::CalorimeterLinker | Creator} | ||
10 | /// @input_banks{REC::Particle, REC::Calorimeter} | ||
11 | /// @output_banks{%REC::Particle::Calorimeter} | ||
12 | /// @end_doc | ||
13 | /// | ||
14 | /// This algorithm reads `REC::Calorimeter` and produces a new bank, `REC::Particle::Calorimeter`, | ||
15 | /// to make it easier to access commonly used `REC::Calorimeter` information for each particle. | ||
16 | /// | ||
17 | /// If this algorithm does not provide information you need, ask the maintainers or open a pull request. | ||
18 | /// | ||
19 | /// @creator_note | ||
20 | class CalorimeterLinker : public Algorithm | ||
21 | { | ||
22 | |||
23 |
6/14✓ Branch 0 (2→3) taken 3 times.
✗ Branch 1 (2→6) not taken.
✗ Branch 2 (5→7) not taken.
✓ Branch 3 (5→8) taken 3 times.
✓ Branch 4 (9→10) taken 3 times.
✗ Branch 5 (9→32) not taken.
✓ Branch 6 (10→11) taken 3 times.
✗ Branch 7 (10→17) not taken.
✓ Branch 8 (17→18) taken 3 times.
✗ Branch 9 (17→40) not taken.
✓ Branch 10 (24→25) taken 3 times.
✗ Branch 11 (24→40) not taken.
✗ Branch 12 (32→33) not taken.
✗ Branch 13 (32→39) not taken.
|
23 | DEFINE_IGUANA_ALGORITHM(CalorimeterLinker, clas12::CalorimeterLinker) |
24 | |||
25 | public: | ||
26 | |||
27 | void Start(hipo::banklist& banks) override; | ||
28 | void Run(hipo::banklist& banks) const override; | ||
29 | void Stop() override; | ||
30 | |||
31 | private: | ||
32 | |||
33 | /// `hipo::banklist` indices | ||
34 | hipo::banklist::size_type b_particle; | ||
35 | hipo::banklist::size_type b_calorimeter; | ||
36 | hipo::banklist::size_type b_result; | ||
37 | |||
38 | // `b_result` bank item indices | ||
39 | int i_pindex; | ||
40 | int i_pcal_found; | ||
41 | int i_pcal_sector; | ||
42 | int i_pcal_lu; | ||
43 | int i_pcal_lv; | ||
44 | int i_pcal_lw; | ||
45 | int i_pcal_energy; | ||
46 | int i_ecin_found; | ||
47 | int i_ecin_sector; | ||
48 | int i_ecin_lu; | ||
49 | int i_ecin_lv; | ||
50 | int i_ecin_lw; | ||
51 | int i_ecin_energy; | ||
52 | int i_ecout_found; | ||
53 | int i_ecout_sector; | ||
54 | int i_ecout_lu; | ||
55 | int i_ecout_lv; | ||
56 | int i_ecout_lw; | ||
57 | int i_ecout_energy; | ||
58 | }; | ||
59 | |||
60 | } | ||
61 |