STIR  6.2.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 
26 START_NAMESPACE_STIR
27 
73  : public RegisteredParsingObject<InputStreamFromROOTFileForCylindricalPET, InputStreamFromROOTFile, InputStreamFromROOTFile>
74 {
75 private:
77  base_type;
78 
79 public:
81  static const char* const registered_name;
82 
85 
86 #if 0 // not used, so commented out
87  InputStreamFromROOTFileForCylindricalPET(std::string filename,
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,
93  bool exclude_scattered, bool exclude_randoms,
94  float low_energy_window, float up_energy_window,
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 
129 protected:
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 
167 private:
168  bool check_all_required_keywords_are_set(std::string& ret) const;
169 };
170 
171 END_NAMESPACE_STIR
173 #endif
static const char *const registered_name
Name which will be used when parsing a OSMAPOSLReconstruction object.
Definition: InputStreamFromROOTFileForCylindricalPET.h:81
A class for a general element of a listmode file for a Siemens scanner using the ROOT files...
Definition: CListRecordROOT.h:97
Declaration of class stir::InputStreamFromROOTFileForCylindricalPET.
Definition: InputStreamFromROOTFileForCylindricalPET.h:72
Implementation of class stir::InputStreamFromROOTFileForCylindricalPET.
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
Declaration of class stir::InputStreamFromROOTFile.
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
Declaration of class stir::RegisteredParsingObject.
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