STIR  6.2.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 
25 START_NAMESPACE_STIR
26 
27 template <int num_dimensions, typename elemT>
28 class DiscretisedDensity;
29 
38  : public RegisteredParsingObject<ProjMatrixByBinUsingSolidAngle, ProjMatrixByBin, ProjMatrixByBin>
39 {
40 public:
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 
54 private:
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 
70 END_NAMESPACE_STIR
71 
72 #endif
Computes projection matrix elements for VoxelsOnCartesianGrid images by using a Solid Angle model...
Definition: ProjMatrixByBinUsingSolidAngle.h:37
Declaration of class stir::ProjDataInfo.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
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.
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition: ProjMatrixByBinUsingSolidAngle.h:42