GCC Code Coverage Report


Directory: ./
File: src/iguana/algorithms/clas12/CalorimeterLinker/Algorithm.h
Date: 2025-07-31 22:39:38
Exec Total Coverage
Lines: 1 1 100.0%
Functions: 3 4 75.0%
Branches: 6 14 42.9%

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