27 #ifndef __Viewgram_h__ 28 #define __Viewgram_h__ 47 template <
typename elemT>
48 class Viewgram :
public Array<2, elemT>
50 typedef Array<2, elemT> base_type;
51 #ifdef STIR_COMPILING_SWIG_WRAPPER 55 typedef Viewgram<elemT> self_type;
59 inline Viewgram(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
const ViewgramIndices& ind);
62 inline Viewgram(
const Array<2, elemT>& p,
63 const shared_ptr<const ProjDataInfo>& proj_data_info_sptr,
64 const ViewgramIndices& ind);
70 inline Viewgram(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
79 inline Viewgram(
const Array<2, elemT>& p,
80 const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
86 inline ViewgramIndices get_viewgram_indices()
const;
88 inline int get_segment_num()
const;
90 inline int get_view_num()
const;
92 inline int get_timing_pos_num()
const;
94 inline int get_min_axial_pos_num()
const;
96 inline int get_max_axial_pos_num()
const;
98 inline int get_num_axial_poss()
const;
100 inline int get_min_tangential_pos_num()
const;
102 inline int get_max_tangential_pos_num()
const;
104 inline int get_num_tangential_poss()
const;
107 inline Viewgram get_empty_copy(
void)
const;
110 void grow(
const IndexRange<2>& range)
override;
112 void resize(
const IndexRange<2>& range)
override;
115 inline shared_ptr<const ProjDataInfo> get_proj_data_info_sptr()
const;
123 bool has_same_characteristics(self_type
const&, std::string& explanation)
const;
128 bool has_same_characteristics(self_type
const&)
const;
135 bool operator==(
const self_type&)
const;
138 bool operator!=(
const self_type&)
const;
142 shared_ptr<const ProjDataInfo> proj_data_info_sptr;
143 ViewgramIndices _indices;
Declaration of class stir::ProjDataInfo.
Inline implementations of class stir::Viewgram.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...
defines the stir::Array class for multi-dimensional (numeric) arrays
Definition of class stir::ViewgramIndices.
This file defines the stir::IndexRange class.