29template <
int num_dimensions,
typename elemT>
34 std::fill(grid_spacing.begin(), grid_spacing.end(), 0.F);
37template <
int num_dimensions,
typename elemT>
43 grid_spacing(grid_spacing_v)
46template <
int num_dimensions,
typename elemT>
48 const shared_ptr<const ExamInfo>& exam_info_sptr,
53 grid_spacing(grid_spacing_v)
56template <
int num_dimensions,
typename elemT>
63template <
int num_dimensions,
typename elemT>
68 grid_spacing = grid_spacing_v;
71template <
int num_dimensions,
typename elemT>
88 "Not the same grid spacing: (%g,%g,%g) and (%g,%g,%g)",
92 this->get_grid_spacing()[1],
93 num_dimensions > 1 ? this->get_grid_spacing()[2] : 0.,
94 num_dimensions > 2 ? this->get_grid_spacing()[3] : 0.);
102template <
int num_dimensions,
typename elemT>
103CartesianCoordinate3D<float>
110 num_dimensions > 1 ? coord[num_dimensions - 1] : 0,
111 coord[num_dimensions]);
114template <
int num_dimensions,
typename elemT>
123 for (
int d = 1, d3 = 4 - num_dimensions; d <= num_dimensions; ++d, ++d3)
125 float_indices[d] = d3 > 0 ? coords[d3] : 0;
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
bool actual_has_same_characteristics(DiscretisedDensity< num_dimensions, elemT > const &, std::string &explanation) const override
Implementation used by has_same_characteristics.
Definition DiscretisedDensityOnCartesianGrid.inl:73
const BasicCoordinate< num_dimensions, float > & get_grid_spacing() const
Return the grid_spacing.
Definition DiscretisedDensityOnCartesianGrid.inl:58
CartesianCoordinate3D< float > actual_get_relative_coordinates_for_indices(const BasicCoordinate< num_dimensions, float > &indices) const override
Return the relative coordinates of the centre of the basis-function corresponding to indices.
Definition DiscretisedDensityOnCartesianGrid.inl:104
DiscretisedDensityOnCartesianGrid()
Construct an empty DiscretisedDensityOnCartesianGrid.
Definition DiscretisedDensityOnCartesianGrid.inl:30
void set_grid_spacing(const BasicCoordinate< num_dimensions, float > &grid_spacing_v)
Set the grid_spacing.
Definition DiscretisedDensityOnCartesianGrid.inl:65
BasicCoordinate< num_dimensions, float > actual_get_index_coordinates_for_relative_coordinates(const CartesianCoordinate3D< float > &coords) const override
Return the indices of the basis-function closest to the given point.
Definition DiscretisedDensityOnCartesianGrid.inl:116
DiscretisedDensity()
Construct an empty DiscretisedDensity.
Definition DiscretisedDensity.inl:36
virtual bool actual_has_same_characteristics(DiscretisedDensity< num_dimensions, elemT > const &, std::string &explanation) const
Implementation used by has_same_characteristics.
Definition DiscretisedDensity.inl:71
This class defines ranges which can be 'irregular'.
Definition IndexRange.h:69
double norm(const BasicCoordinate< num_dimensions, coordT > &p1)
compute sqrt(inner_product(p1,p1))
Definition BasicCoordinate.inl:426
Declaration of the stir::round functions.