STIR  6.2.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 
25 START_NAMESPACE_STIR
26 
27 template <int num_dimensions, typename elemT>
28 class DiscretisedDensity;
29 
40 class ProjMatrixByBinSinglePhoton : public RegisteredParsingObject<ProjMatrixByBinSinglePhoton, ProjMatrixByBin, ProjMatrixByBin>
41 {
42 public:
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 
56 private:
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 
69 END_NAMESPACE_STIR
70 
71 #endif
a &#39;projection matrix&#39; to implement a model for a single photon acquisition in terms of the detector e...
Definition: ProjMatrixByBinSinglePhoton.h:40
Declaration of class stir::ProjDataInfo.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition: ProjMatrixByBinSinglePhoton.h:44
declaration of stir::ProjMatrixByBin and its helpers classes
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
This stores the non-zero projection matrix elements for every &#39;densel&#39; that contributes to a given bi...
Definition: ProjMatrixElemsForOneBin.h:68
defines the stir::CartesianCoordinate3D<coordT> class
Declaration of class stir::RegisteredParsingObject.