STIR 6.4.0
InputStreamFromROOTFileForECATPET.h
Go to the documentation of this file.
1
9/*
10 Copyright (C) 2016, 2021, UCL
11 Copyright (C) 2018 University of Hull
12 This file is part of STIR.
13
14 SPDX-License-Identifier: Apache-2.0
15
16 See STIR/LICENSE.txt for details
17*/
18#ifndef __stir_IO_InputStreamFromROOTFileForECATPET_H__
19#define __stir_IO_InputStreamFromROOTFileForECATPET_H__
20
23
24START_NAMESPACE_STIR
25
68 : public RegisteredParsingObject<InputStreamFromROOTFileForECATPET, InputStreamFromROOTFile, InputStreamFromROOTFile>
69{
70private:
72
73public:
75 static const char* const registered_name;
76
79
80#if 0 // not used, so commented out
82 std::string chain_name,
83 int crystal_repeater_x, int crystal_repeater_y, int crystal_repeater_z,
84 int blocks_repeater_y, int blocks_repeater_z,
87 int offset_dets);
88#endif
89
91 {}
92
93 Succeeded get_next_record(CListRecordROOT& record) override;
94
96 virtual std::string method_info() const;
98 Succeeded set_up(const std::string& header_path) override;
99
101 inline int get_num_rings() const override;
103 inline int get_num_dets_per_ring() const override;
105 inline int get_num_axial_blocks_per_bucket_v() const override;
107 inline int get_num_transaxial_blocks_per_bucket_v() const override;
109 inline int get_num_axial_crystals_per_singles_unit() const override;
111 inline int get_num_trans_crystals_per_singles_unit() const override;
112
113 inline void set_block_repeater_y(int);
114 inline void set_block_repeater_z(int);
115
116protected:
117 void set_defaults() override;
118 void initialise_keymap() override;
119 bool post_processing() override;
120
122
123 TBranch* br_crystalID1 = nullptr;
124 TBranch* br_crystalID2 = nullptr;
125 TBranch* br_blockID1 = nullptr;
126 TBranch* br_blockID2 = nullptr;
128
130
131 std::int32_t blockID1, blockID2;
132 std::int32_t crystalID1, crystalID2;
134
135 int block_repeater_y;
136 int block_repeater_z;
137
142
143private:
144 bool check_all_required_keywords_are_set(std::string& ret) const;
145};
146END_NAMESPACE_STIR
147#include "stir/IO/InputStreamFromROOTFileForECATPET.inl"
148#endif
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
int half_block
In GATE, inside a block, the indeces start from the lower unit counting upwards. Therefore in order t...
Definition InputStreamFromROOTFileForECATPET.h:141
InputStreamFromROOTFileForECATPET()
Default constructor.
Definition InputStreamFromROOTFileForECATPET.cxx:20
static const char *const registered_name
Name which will be used when parsing a OSMAPOSLReconstruction object.
Definition InputStreamFromROOTFileForECATPET.h:75
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