20#ifndef __stir_recon_buildblock_BinNormalisationFromECAT7_H__
21#define __stir_recon_buildblock_BinNormalisationFromECAT7_H__
35#ifndef HAVE_LLN_MATRIX
36# error This file can only be compiled when HAVE_LLN_MATRIX is #defined
79 using base_type = BinNormalisationWithCalibration;
96 virtual Succeeded set_up(
const shared_ptr<const ExamInfo>& exam_info_sptr,
const shared_ptr<const ProjDataInfo>&)
override;
97 float get_uncalibrated_bin_efficiency(
const Bin& bin)
const override;
99 bool use_detector_efficiencies()
const;
100 bool use_dead_time()
const;
101 bool use_geometric_factors()
const;
102 bool use_crystal_interference_factors()
const;
108 shared_ptr<SinglesRates> singles_rates_ptr;
112 shared_ptr<Scanner> scanner_ptr;
113 int num_transaxial_crystals_per_block;
115 int num_axial_blocks_per_singles_unit;
116 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
118 shared_ptr<const ProjDataInfoCylindricalNoArcCorr> proj_data_info_cyl_uncompressed_ptr;
121 int num_blocks_per_singles_unit;
123 bool _use_detector_efficiencies;
125 bool _use_geometric_factors;
126 bool _use_crystal_interference_factors;
128 void read_norm_data(
const std::string& filename);
129 float get_dead_time_efficiency(
const DetectionPosition<>& det_pos,
const double start_time,
const double end_time)
const;
132 virtual void set_defaults()
override;
133 virtual void initialise_keymap()
override;
134 virtual bool post_processing()
override;
136 std::string normalisation_ECAT7_filename;
defines the stir::Array class for multi-dimensional (numeric) arrays
Declaration of class stir::BinNormalisationWithCalibration.
Declaration of class stir::BinNormalisation.
Declaration of class stir::ProjDataInfoCylindricalNoArcCorr.
Declaration of class stir::ProjData.
Declaration of class stir::RegisteredParsingObject.
Declaration of class stir::Scanner.
Declaration of class stir::SinglesRates.
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
A class for storing coordinates of a detection.
Definition DetectionPosition.h:61
Projection data info for data which are not arc-corrected.
Definition ProjDataInfoCylindricalNoArcCorr.h:83
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
static const char *const registered_name
Name which will be used when parsing a BinNormalisation object.
Definition BinNormalisationFromECAT7.h:83
BinNormalisationFromECAT7()
Default constructor.
Definition BinNormalisationFromECAT7.cxx:177
virtual Succeeded set_up(const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > &) override
initialises the object and checks if it can handle such projection data
Definition BinNormalisationFromECAT7.cxx:188
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...
Declaration of routines which convert CTI things into our building blocks and vice versa.