STIR 6.4.0
ProjMatrixByBinUsingSolidAngle.h
Go to the documentation of this file.
1//
2//
12/*
13 Copyright (C) 2000- 2002, IRSL
14 See STIR/LICENSE.txt for details
15*/
16#ifndef __stir_recon_buildblock_ProjMatrixByBinUsingSolidAngle__
17#define __stir_recon_buildblock_ProjMatrixByBinUsingSolidAngle__
18
21#include "stir/ProjDataInfo.h"
23#include "stir/shared_ptr.h"
24
25START_NAMESPACE_STIR
26
27template <int num_dimensions, typename elemT>
28class DiscretisedDensity;
29
36
38 : public RegisteredParsingObject<ProjMatrixByBinUsingSolidAngle, ProjMatrixByBin, ProjMatrixByBin>
39{
40public:
42 static const char* const registered_name;
43
46
48
50 void set_up(const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
51 const shared_ptr<const DiscretisedDensity<3, float>>& density_info_ptr // TODO should be Info only
52 ) override;
53
54private:
55 // explicitly list necessary members for image details (should use an Info object instead)
56 // ideally these should be const, but I have some trouble initialising them in that case
61
62 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
63
64 void calculate_proj_matrix_elems_for_one_bin(ProjMatrixElemsForOneBin&) const override;
65
66 void set_defaults() override;
67 void initialise_keymap() override;
68};
69
70END_NAMESPACE_STIR
71
72#endif
defines the stir::CartesianCoordinate3D<coordT> class
Declaration of class stir::ProjDataInfo.
declaration of stir::ProjMatrixByBin and its helpers classes
Declaration of class stir::RegisteredParsingObject.
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition ProjMatrixByBinUsingSolidAngle.h:42
void set_up(const shared_ptr< const ProjDataInfo > &proj_data_info_ptr, const shared_ptr< const DiscretisedDensity< 3, float > > &density_info_ptr) override
Stores all necessary geometric info.
Definition ProjMatrixByBinUsingSolidAngle.cxx:52
ProjMatrixByBinUsingSolidAngle()
Default constructor (calls set_defaults())
Definition ProjMatrixByBinUsingSolidAngle.cxx:32
This stores the non-zero projection matrix elements for every 'densel' that contributes to a given bi...
Definition ProjMatrixElemsForOneBin.h:69
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...