STIR 6.4.0
ProjDataInfoCylindricalArcCorr.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2000 PARAPET partners
5 Copyright (C) 2000 - 2007-10-08, Hammersmith Imanet Ltd
6 Copyright (C) 2011-07-01 - 2011, Kris Thielemans
7 This file is part of STIR.
8
9 SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
10
11 See STIR/LICENSE.txt for details
12*/
26#ifndef __stir_ProjDataInfoCylindricalArcCorr_H__
27#define __stir_ProjDataInfoCylindricalArcCorr_H__
28
30
31START_NAMESPACE_STIR
32
41{
42 typedef ProjDataInfoCylindrical base_type;
43#ifdef STIR_COMPILING_SWIG_WRAPPER
44 // SWIG needs this typedef to be public
45public:
46#endif
47 typedef ProjDataInfoCylindricalArcCorr self_type;
48
49public:
52 ProjDataInfoCylindricalArcCorr(const shared_ptr<Scanner> scanner_ptr,
53 float bin_size,
54 const VectorWithOffset<int>& num_axial_pos_per_segment,
55 const VectorWithOffset<int>& min_ring_diff_v,
56 const VectorWithOffset<int>& max_ring_diff_v,
57 const int num_views,
58 const int num_tangential_poss,
59 const int tof_mash_factor = 0);
60
61 self_type* clone() const override;
62
63 bool operator==(const self_type&) const;
64
65 inline float get_s(const Bin&) const override;
67 void set_tangential_sampling(const float bin_size);
69 inline float get_tangential_sampling() const;
70 float get_sampling_in_s(const Bin&) const override
71 {
72 return bin_size;
73 }
74
75 Bin get_bin(const LOR<float>&, const double delta_time = 0.0) const override;
76
77 std::string parameter_info() const override;
78
79private:
80 float bin_size;
81
82 bool blindly_equals(const root_type* const) const override;
83};
84
85END_NAMESPACE_STIR
86
88
89#endif
Implementation of inline functions of class stir::ProjDataInfoCylindricalArcCorr.
Declaration of class stir::ProjDataInfoCylindrical.
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
A base class for specifying an LOR with geometric coordinates.
Definition LORCoordinates.h:59
void set_tangential_sampling(const float bin_size)
Set tangential sampling.
Definition ProjDataInfoCylindricalArcCorr.cxx:62
float get_sampling_in_s(const Bin &) const override
Get sampling distance in the s coordinate.
Definition ProjDataInfoCylindricalArcCorr.h:70
ProjDataInfoCylindricalArcCorr()
Constructors.
Definition ProjDataInfoCylindricalArcCorr.cxx:41
self_type * clone() const override
Standard trick for a 'virtual copy-constructor'.
Definition ProjDataInfoCylindricalArcCorr.cxx:68
float get_s(const Bin &) const override
Get value of the tangential coordinate in the projection plane (in mm)
Definition ProjDataInfoCylindricalArcCorr.inl:31
float get_tangential_sampling() const
Get tangential sampling.
Definition ProjDataInfoCylindricalArcCorr.inl:37
ProjDataInfoCylindrical()
Constructors.
Definition ProjDataInfoCylindrical.cxx:53
A templated class for vectors, but with indices starting not from 0.
Definition VectorWithOffset.h:65