24 #ifndef __stir_recon_buildblock_DataSymmetriesForBins_H__ 25 #define __stir_recon_buildblock_DataSymmetriesForBins_H__ 39 class SymmetryOperation;
84 get_basic_bin_index_range()
const = 0;
94 inline void get_related_bins(std::vector<Bin>&,
const Bin& b)
const;
99 virtual void get_related_bins(std::vector<Bin>&,
101 const int min_axial_pos_num,
102 const int max_axial_pos_num,
103 const int min_tangential_pos_num,
104 const int max_tangential_pos_num,
105 const int min_timing_pos_num,
106 const int max_timing_pos_num)
const;
114 inline void get_related_bins_factorised(std::vector<AxTangPosNumbers>&,
const Bin& b)
const;
128 virtual void get_related_bins_factorised(std::vector<AxTangPosNumbers>&,
130 const int min_axial_pos_num,
131 const int max_axial_pos_num,
132 const int min_tangential_pos_num,
133 const int max_tangential_pos_num)
const = 0;
136 virtual int num_related_bins(
const Bin& b)
const;
143 virtual unique_ptr<SymmetryOperation> find_symmetry_operation_from_basic_bin(
Bin&)
const = 0;
150 virtual bool find_basic_bin(
Bin& b)
const;
156 virtual bool is_basic(
const Bin& v_s)
const;
159 virtual unique_ptr<SymmetryOperation> find_symmetry_operation_from_basic_view_segment_numbers(
ViewSegmentNumbers&)
const;
166 bool blindly_equals(
const root_type*
const)
const override = 0;
A class for encoding/finding symmetries common to the geometry of the projection data and the discret...
Definition: DataSymmetriesForBins.h:67
a templated class for 2-dimensional coordinates.
Definition: Coordinate2D.h:41
Declaration of class stir::ProjDataInfo.
const shared_ptr< const ProjDataInfo > proj_data_info_ptr
Member storing the info needed by get_related_bins() et al.
Definition: DataSymmetriesForBins.h:163
inline implementations for class stir::DataSymmetriesForBins
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
A class for encoding/finding symmetries. Works only on ViewSegmentNumbers (instead of Bin)...
Definition: DataSymmetriesForViewSegmentNumbers.h:49
Declaration of class stir::DataSymmetriesForViewSegmentNumbers.
alias for ViewgramIndices
Definition: ViewSegmentNumbers.h:33
A class for storing coordinates and value of a single projection bin.
Definition: Bin.h:48
Import of std::unique_ptr into the stir namespace, together with work-arounds for other compilers...
An (abstract base) class that contains information on the projection data.
Definition: ProjDataInfo.h:69
defines the stir::Coordinate2D<coordT> class
Coordinate2D< int > AxTangPosNumbers
AxTangPosNumbers as a class that provides the 2 remaining coordinates for a Bin, aside from ViewSegme...
Definition: DataSymmetriesForBins.h:40