STIR 6.4.0
ProjMatrixByBinSinglePhoton.h
Go to the documentation of this file.
1//
2//
12/*
13 Copyright (C) 2000- 2003, IRSL
14 See STIR/LICENSE.txt for details
15*/
16#ifndef __stir_recon_buildblock_ProjMatrixByBinSinglePhoton__
17#define __stir_recon_buildblock_ProjMatrixByBinSinglePhoton__
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
39
40class ProjMatrixByBinSinglePhoton : public RegisteredParsingObject<ProjMatrixByBinSinglePhoton, ProjMatrixByBin, ProjMatrixByBin>
41{
42public:
44 static const char* const registered_name;
45
48
50
52 void set_up(const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
53 const shared_ptr<const DiscretisedDensity<3, float>>& density_info_ptr // TODO should be Info only
54 ) override;
55
56private:
57 // explicitly list necessary members for image details (should use an Info object instead)
60
61 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
62
63 void calculate_proj_matrix_elems_for_one_bin(ProjMatrixElemsForOneBin&) const override;
64
65 void set_defaults() override;
66 void initialise_keymap() override;
67};
68
69END_NAMESPACE_STIR
70
71#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
ProjMatrixByBinSinglePhoton()
Default constructor (calls set_defaults())
Definition ProjMatrixByBinSinglePhoton.cxx:31
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 ProjMatrixByBinSinglePhoton.cxx:51
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition ProjMatrixByBinSinglePhoton.h:44
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...