STIR  6.2.0
SingleScatterSimulation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2016 University College London
3  This file is part of STIR.
4 
5  SPDX-License-Identifier: Apache-2.0
6 
7  See STIR/LICENSE.txt for details
8 */
17 #ifndef __stir_scatter_SingleScatterSimulation_H__
18 #define __stir_scatter_SingleScatterSimulation_H__
19 
20 #include "stir/Succeeded.h"
23 
24 START_NAMESPACE_STIR
25 
32 class SingleScatterSimulation : public RegisteredParsingObject<SingleScatterSimulation, ScatterSimulation, ScatterSimulation>
33 {
34 private:
36 
37 public:
39  static const char* const registered_name;
40 
43 
45  explicit SingleScatterSimulation(const std::string& parameter_filename);
46 
47  ~SingleScatterSimulation() override;
48 
49  Succeeded process_data() override;
51  std::string method_info() const override;
53  void ask_parameters() override;
55  Succeeded set_up() override;
56 
57 protected:
58  void initialise(const std::string& parameter_filename);
59 
60  void set_defaults() override;
61  void initialise_keymap() override;
62 
64  bool post_processing() override;
65 
68  double simulate_for_one_scatter_point(const std::size_t scatter_point_num, const unsigned det_num_A, const unsigned det_num_B);
69 
70  double scatter_estimate(const Bin& bin) override;
71 
72  virtual void actual_scatter_estimate(double& scatter_ratio_singles, const unsigned det_num_A, const unsigned det_num_B);
73 
74 private:
76  float max_single_scatter_cos_angle;
77 };
78 
79 END_NAMESPACE_STIR
80 
81 #endif
Declaration of class stir::Succeeded.
A class for storing coordinates and value of a single projection bin.
Definition: Bin.h:48
Definition of class stir::ScatterSimulation.
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
PET single scatter simulation.
Definition: SingleScatterSimulation.h:32
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
Declaration of class stir::RegisteredParsingObject.
static const char *const registered_name
Name which will be used when parsing a ScatterSimulation object.
Definition: SingleScatterSimulation.h:39