STIR  6.2.0
ProjMatrixByBinWithPositronRange.h
Go to the documentation of this file.
1 //
2 //
12 /*
13  Copyright (C) 2000- 2004, IRSL
14  See STIR/LICENSE.txt for details
15 */
16 #ifndef __stir_recon_buildblock_ProjMatrixByBinWithPositronRange__
17 #define __stir_recon_buildblock_ProjMatrixByBinWithPositronRange__
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<ProjMatrixByBinWithPositronRange, 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  double positron_range_C;
63  double positron_range_k1;
64  double positron_range_k2;
65  shared_ptr<ProjMatrixByBin> post_proj_matrix_ptr;
66  int positron_range_zoom;
67  int positron_num_samples;
68 
69  shared_ptr<const ProjDataInfo> proj_data_info_ptr;
70 
71  void calculate_proj_matrix_elems_for_one_bin(ProjMatrixElemsForOneBin&) const override;
72 
73  void set_defaults() override;
74  void initialise_keymap() override;
75  bool post_processing() override;
76 };
77 
78 END_NAMESPACE_STIR
79 
80 #endif
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: ProjMatrixByBinWithPositronRange.h:42
Computes projection matrix elements for VoxelsOnCartesianGrid images by using a Solid Angle model...
Definition: ProjMatrixByBinWithPositronRange.h:37
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.