21#ifndef __stir_recon_buildblock_TrivialDataSymmetriesForBins_H__
22#define __stir_recon_buildblock_TrivialDataSymmetriesForBins_H__
34class TrivialDataSymmetriesForBins :
public DataSymmetriesForBins
37 TrivialDataSymmetriesForBins(
const shared_ptr<const ProjDataInfo>&
proj_data_info_ptr);
39 TrivialDataSymmetriesForBins* clone()
const override;
43 const int min_axial_pos_num,
44 const int max_axial_pos_num,
45 const int min_tangential_pos_num,
46 const int max_tangential_pos_num,
47 const int min_timing_pos_num,
48 const int max_timing_pos_num0)
const override;
52 const int min_axial_pos_num,
53 const int max_axial_pos_num,
54 const int min_tangential_pos_num,
55 const int max_tangential_pos_num)
const override;
73 bool blindly_equals(
const root_type*
const)
const override;
Declaration of class stir::DataSymmetriesForBins.
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
const shared_ptr< const ProjDataInfo > proj_data_info_ptr
Member storing the info needed by get_related_bins() et al.
Definition DataSymmetriesForBins.h:163
bool find_basic_view_segment_numbers(ViewSegmentNumbers &) const override
given an arbitrary view/segment, find the basic view/segment
Definition TrivialDataSymmetriesForBins.cxx:125
unique_ptr< SymmetryOperation > find_symmetry_operation_from_basic_view_segment_numbers(ViewSegmentNumbers &) const override
default implementation in terms of find_symmetry_operation_from_basic_bin
Definition TrivialDataSymmetriesForBins.cxx:105
bool is_basic(const Bin &v_s) const override
test if a bin is 'basic'
Definition TrivialDataSymmetriesForBins.cxx:50
void get_related_view_segment_numbers(std::vector< ViewSegmentNumbers > &, const ViewSegmentNumbers &) const override
fills in a vector with all the view/segments that are related to 'v_s' (including itself)
Definition TrivialDataSymmetriesForBins.cxx:111
void get_related_bins_factorised(std::vector< AxTangPosNumbers > &, const Bin &b, const int min_axial_pos_num, const int max_axial_pos_num, const int min_tangential_pos_num, const int max_tangential_pos_num) const override
fills in a vector with the axial and tangential position numbers related to this bin
Definition TrivialDataSymmetriesForBins.cxx:56
int num_related_bins(const Bin &b) const override
returns the number of bins related to 'b'
Definition TrivialDataSymmetriesForBins.cxx:38
bool find_basic_bin(Bin &b) const override
given an arbitrary bin 'b', find the basic bin
Definition TrivialDataSymmetriesForBins.cxx:44
unique_ptr< SymmetryOperation > find_symmetry_operation_from_basic_bin(Bin &) const override
given an arbitrary bin 'b', find the basic bin and the corresponding symmetry operation
Definition TrivialDataSymmetriesForBins.cxx:99
void get_related_bins(std::vector< Bin > &, const Bin &b, const int min_axial_pos_num, const int max_axial_pos_num, const int min_tangential_pos_num, const int max_tangential_pos_num, const int min_timing_pos_num, const int max_timing_pos_num0) const override
fills in a vector with all the bins (within the range) that are related to 'b'
Definition TrivialDataSymmetriesForBins.cxx:76
int num_related_view_segment_numbers(const ViewSegmentNumbers &) const override
returns the number of view_segment_numbers related to 'v_s'
Definition TrivialDataSymmetriesForBins.cxx:119
alias for ViewgramIndices
Definition ViewSegmentNumbers.h:34