STIR 6.4.0
InputStreamFromROOTFileForCylindricalPET.h
Go to the documentation of this file.
1
9/*
10 * Copyright (C) 2016, University of Leeds
11 Copyright (C) 2016, 2021, UCL
12 Copyright (C) 2018 University of Hull
13 This file is part of STIR.
14
15 SPDX-License-Identifier: Apache-2.0
16
17 See STIR/LICENSE.txt for details
18*/
19
20#ifndef __stir_IO_InputStreamFromROOTFileForCylindricalPET_H__
21#define __stir_IO_InputStreamFromROOTFileForCylindricalPET_H__
22
25
26START_NAMESPACE_STIR
27
73 : public RegisteredParsingObject<InputStreamFromROOTFileForCylindricalPET, InputStreamFromROOTFile, InputStreamFromROOTFile>
74{
75private:
77 base_type;
78
79public:
81 static const char* const registered_name;
82
85
86#if 0 // not used, so commented out
88 std::string chain_name,
89 int crystal_repeater_x, int crystal_repeater_y, int crystal_repeater_z,
90 int submodule_repeater_x, int submodule_repeater_y, int submodule_repeater_z,
91 int module_repeater_x, int module_repeater_y, int module_repeater_z,
92 int rsector_repeater,
95 int offset_dets);
96#endif
97
99 {}
100
101 Succeeded get_next_record(CListRecordROOT& record) override;
103 Succeeded set_up(const std::string& header_path) override;
104
106 virtual std::string method_info() const;
107
109 inline int get_num_rings() const override;
111 inline int get_num_dets_per_ring() const override;
113 inline int get_num_axial_blocks_per_bucket_v() const override;
115 inline int get_num_transaxial_blocks_per_bucket_v() const override;
117 inline int get_num_axial_crystals_per_singles_unit() const override;
119 inline int get_num_trans_crystals_per_singles_unit() const override;
120
121 inline void set_submodule_repeater_x(int);
122 inline void set_submodule_repeater_y(int);
123 inline void set_submodule_repeater_z(int);
124 inline void set_module_repeater_x(int);
125 inline void set_module_repeater_y(int);
126 inline void set_module_repeater_z(int);
127 inline void set_rsector_repeater(int);
128
129protected:
130 void set_defaults() override;
131 void initialise_keymap() override;
132 bool post_processing() override;
133
135
136 TBranch* br_crystalID1 = nullptr;
137 TBranch* br_crystalID2 = nullptr;
138 TBranch* br_submoduleID1 = nullptr;
139 TBranch* br_submoduleID2 = nullptr;
140 TBranch* br_moduleID1 = nullptr;
141 TBranch* br_moduleID2 = nullptr;
142 TBranch* br_rsectorID1 = nullptr;
143 TBranch* br_rsectorID2 = nullptr;
145
147
148 std::int32_t crystalID1, crystalID2;
149 std::int32_t submoduleID1, submoduleID2;
150 std::int32_t moduleID1, moduleID2;
151 std::int32_t rsectorID1, rsectorID2;
153
154 int submodule_repeater_x;
155 int submodule_repeater_y;
156 int submodule_repeater_z;
157 int module_repeater_x;
158 int module_repeater_y;
159 int module_repeater_z;
160 int rsector_repeater;
161
166
167private:
168 bool check_all_required_keywords_are_set(std::string& ret) const;
169};
170
171END_NAMESPACE_STIR
173#endif
Implementation of class stir::InputStreamFromROOTFileForCylindricalPET.
Declaration of class stir::InputStreamFromROOTFile.
Declaration of class stir::RegisteredParsingObject.
A class for a general element of a listmode file for a Siemens scanner using the ROOT files.
Definition CListRecordROOT.h:98
InputStreamFromROOTFileForCylindricalPET()
Default constructor.
Definition InputStreamFromROOTFileForCylindricalPET.cxx:19
int half_block
In GATE, inside a block, the indeces start from the lower unit counting upwards. Therefore in order t...
Definition InputStreamFromROOTFileForCylindricalPET.h:165
static const char *const registered_name
Name which will be used when parsing a OSMAPOSLReconstruction object.
Definition InputStreamFromROOTFileForCylindricalPET.h:81
std::string chain_name
The name of the ROOT chain to be read.
Definition InputStreamFromROOTFile.h:185
bool exclude_scattered
Skip scattered events (comptonphantom1 > 0 && comptonphantom2 > 0). Default is false.
Definition InputStreamFromROOTFile.h:256
float low_energy_window
Lower energy threshold. Default is 1000 (keV)
Definition InputStreamFromROOTFile.h:264
bool exclude_randoms
Skip random events (eventID1 != eventID2). Default is false.
Definition InputStreamFromROOTFile.h:260
std::string filename
Input data file name.
Definition InputStreamFromROOTFile.h:175
float up_energy_window
Upper energy threshold. Default is 0 (keV)
Definition InputStreamFromROOTFile.h:266
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44