20#ifndef __stir_recon_buildblock_DataSymmetriesForDensels_H__
21#define __stir_recon_buildblock_DataSymmetriesForDensels_H__
33class SymmetryOperation;
36class DenselIndexRange;
50class DataSymmetriesForDensels
53 DataSymmetriesForDensels();
55 virtual ~DataSymmetriesForDensels(){};
57 virtual DataSymmetriesForDensels* clone()
const = 0;
59 bool operator==(
const DataSymmetriesForDensels&)
const;
61 bool operator!=(
const DataSymmetriesForDensels&)
const;
66 virtual DenselIndexRange
67 get_basic_densel_index_range()
const = 0;
83 const int min_axial_pos_num,
const int max_axial_pos_num)
const;
104 typedef DataSymmetriesForDensels root_type;
defines the stir::Coordinate2D<coordT> class
Declaration of class stir::DataSymmetriesForViewSegmentNumbers.
Declaration of typedef stir::Densel.
virtual unique_ptr< SymmetryOperation > find_symmetry_operation_from_basic_densel(Densel &) const =0
given an arbitrary Densel 'b', find the basic Densel
virtual bool blindly_equals(const root_type *const) const =0
Definition DataSymmetriesForDensels.cxx:40
virtual int num_related_densels(const Densel &b) const
returns the number of Densels related to 'b'
Definition DataSymmetriesForDensels.cxx:59
virtual bool find_basic_densel(Densel &b) const
given an arbitrary Densel 'b', find the basic Densel
Definition DataSymmetriesForDensels.cxx:68
virtual void get_related_densels(std::vector< Densel > &, const Densel &b) const =0
fills in a vector with all the Densels that are related to 'b' (including itself)
Definition DataSymmetriesForDensels.inl:26
Coordinate3D< int > Densel
a typedef used for an element of a DiscretisedDensity
Definition Densel.h:36
Import of std::unique_ptr into the stir namespace, together with work-arounds for other compilers.