STIR 6.4.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*/
16
17#ifndef __stir_scatter_SingleScatterSimulation_H__
18#define __stir_scatter_SingleScatterSimulation_H__
19
20#include "stir/Succeeded.h"
23
24START_NAMESPACE_STIR
25
32class SingleScatterSimulation : public RegisteredParsingObject<SingleScatterSimulation, ScatterSimulation, ScatterSimulation>
33{
34private:
36
37public:
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
57protected:
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
74private:
76 float max_single_scatter_cos_angle;
77};
78
79END_NAMESPACE_STIR
80
81#endif
Declaration of class stir::RegisteredParsingObject.
Definition of class stir::ScatterSimulation.
Declaration of class stir::Succeeded.
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
static const char *const registered_name
Name which will be used when parsing a ScatterSimulation object.
Definition SingleScatterSimulation.h:39
void set_defaults() override
Set defaults before parsing.
Definition SingleScatterSimulation.cxx:57
void initialise_keymap() override
Initialise all keywords.
Definition SingleScatterSimulation.cxx:31
SingleScatterSimulation()
Default constructor.
Definition SingleScatterSimulation.cxx:16
void ask_parameters() override
prompts the user to enter parameter values manually
Definition SingleScatterSimulation.cxx:78
double scatter_estimate(const Bin &bin) override
virtual function that computes the scatter for one (downsampled) bin
Definition single_scatter_estimate.cxx:25
double simulate_for_one_scatter_point(const std::size_t scatter_point_num, const unsigned det_num_A, const unsigned det_num_B)
simulate single scatter for one scatter point
Definition scatter_estimate_for_one_scatter_point.cxx:38
Succeeded set_up() override
Perform checks and intialisations.
Definition SingleScatterSimulation.cxx:63
std::string method_info() const override
gives method information
Definition SingleScatterSimulation.cxx:92
bool post_processing() override
used to check acceptable parameter ranges, etc...
Definition SingleScatterSimulation.cxx:84
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44