22#ifndef __stir_ProjDataInfoGenericNoArcCorr_H__
23#define __stir_ProjDataInfoGenericNoArcCorr_H__
73#ifdef STIR_COMPILING_SWIG_WRAPPER
88 const shared_ptr<Scanner> scanner_ptr,
93 const int num_tangential_poss);
95 self_type*
clone()
const override;
97 bool operator==(
const self_type&)
const;
104 inline float get_s(
const Bin&)
const override;
108 inline float get_phi(
const Bin&)
const override;
110 inline float get_t(
const Bin&)
const override;
116 inline float get_m(
const Bin&)
const override;
164 const int timing_pos_num = 0)
const override;
defines the stir::CartesianCoordinate3D<coordT> class
Declaration of class stir::DetectionPositionPair.
Declaration of class stir::ProjDataInfoCylindricalNoArcCorr.
Implementation of inline functions of class stir::ProjDataInfoGenericNoArcCorr.
defines the stir::VectorWithOffset class
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
A class for LORs.
Definition LORCoordinates.h:511
A base class for specifying an LOR with geometric coordinates.
Definition LORCoordinates.h:59
ProjDataInfoCylindricalNoArcCorr()
Default constructor (leaves object in ill-defined state)
Definition ProjDataInfoCylindricalNoArcCorr.cxx:44
Projection data info for data for a scanner with discrete detectors.
Definition ProjDataInfoGenericNoArcCorr.h:70
float get_sampling_in_m(const Bin &) const override
Get sampling distance in the m coordinate.
Definition ProjDataInfoGenericNoArcCorr.inl:81
void set_azimuthal_angle_sampling(const float angle) override
calls error()
Definition ProjDataInfoGenericNoArcCorr.cxx:92
float get_axial_sampling(int segment_num) const override
Get the axial sampling (e.g in z_direction)
Definition ProjDataInfoGenericNoArcCorr.inl:99
float get_t(const Bin &) const override
Get value of the (roughly) axial coordinate in the projection plane (in mm)
Definition ProjDataInfoGenericNoArcCorr.inl:58
self_type * clone() const override
Standard trick for a 'virtual copy-constructor'.
Definition ProjDataInfoGenericNoArcCorr.cxx:63
float get_s(const Bin &) const override
Gets s coordinate in mm.
Definition ProjDataInfoGenericNoArcCorr.inl:122
virtual void find_cartesian_coordinates_given_scanner_coordinates(CartesianCoordinate3D< float > &coord_1, CartesianCoordinate3D< float > &coord_2, const int Ring_A, const int Ring_B, const int det1, const int det2, const int timing_pos_num=0) const override
Definition ProjDataInfoGenericNoArcCorr.cxx:157
bool axial_sampling_is_uniform() const override
Return if axial sampling makes sense.
Definition ProjDataInfoGenericNoArcCorr.inl:106
void set_num_views(const int new_num_views) override
currently calls error() unless nothing changes
Definition ProjDataInfoGeneric.cxx:77
bool blindly_equals(const root_type *const) const override
Definition ProjDataInfoGenericNoArcCorr.cxx:78
float get_sampling_in_t(const Bin &) const override
Get sampling distance in the t coordinate.
Definition ProjDataInfoGenericNoArcCorr.inl:90
float get_ring_spacing() const override
return an average ring-spacing (from Scanner)
Definition ProjDataInfoGenericNoArcCorr.inl:113
float get_tantheta(const Bin &) const override
Get tangent of the co-polar angle of the normal to the projection plane.
Definition ProjDataInfoGenericNoArcCorr.inl:72
void set_ring_spacing(float ring_spacing_v) override
currently calls error() unless nothing changes
Definition ProjDataInfoGenericNoArcCorr.cxx:111
std::string parameter_info() const override
Return a string describing the object.
Definition ProjDataInfoGeneric.cxx:110
float get_m(const Bin &) const override
Return z-coordinate of the middle of the LOR.
Definition ProjDataInfoGenericNoArcCorr.inl:50
ProjDataInfoGenericNoArcCorr()
Default constructor (leaves object in ill-defined state)
Definition ProjDataInfoGenericNoArcCorr.cxx:36
void get_LOR(LORInAxialAndNoArcCorrSinogramCoordinates< float > &lor, const Bin &bin) const override
warning Find lor from cartesian coordinates of detector pair
Definition ProjDataInfoGeneric.cxx:94
void set_azimuthal_angle_offset(const float angle) override
currently calls error() unless nothing changes
Definition ProjDataInfoGenericNoArcCorr.cxx:85
std::vector< std::pair< int, int > > RingNumPairs
Type used by get_all_ring_pairs_for_segment_axial_pos_num()
Definition ProjDataInfoGenericNoArcCorr.h:81
float get_phi(const Bin &) const override
find phi from correspoding lor
Definition ProjDataInfoGenericNoArcCorr.inl:39
void set_ring_radii_for_all_views(const VectorWithOffset< float > &new_ring_radius) override
calls error()
Definition ProjDataInfoGenericNoArcCorr.cxx:98
Bin get_bin(const LOR< float > &, const double delta_time=0.0) const override
Definition ProjDataInfoGenericNoArcCorr.cxx:197
A templated class for vectors, but with indices starting not from 0.
Definition VectorWithOffset.h:65
double angle(const BasicCoordinate< num_dimensions, coordT > &p1, const BasicCoordinate< num_dimensions, coordT > &p2)
compute angle between 2 directions
Definition BasicCoordinate.inl:440
ProjDataInfoGenericNoArcCorr ProjDataInfoGeneric
For backwards compatibility.
Definition ProjDataInfoGenericNoArcCorr.h:175