22#ifndef __stir_recon_buildblock_BinNormalisationFromPETSIRD_H__
23#define __stir_recon_buildblock_BinNormalisationFromPETSIRD_H__
36class BinNormalisationFromPETSIRD
37 :
public RegisteredParsingObject<BinNormalisationFromPETSIRD, BinNormalisation, BinNormalisationWithCalibration>
40 using base_type = BinNormalisationWithCalibration;
44 static const char*
const registered_name;
46 BinNormalisationFromPETSIRD();
48 BinNormalisationFromPETSIRD(
const std::string& filename);
50 Succeeded set_up(
const shared_ptr<const ExamInfo>& exam_info_sptr,
const shared_ptr<const ProjDataInfo>&)
override;
52 float get_uncalibrated_bin_efficiency(
const Bin& bin)
const override;
54 inline bool with_detector_efficiencies()
const {
return m_with_detector_efficiencies; }
55 inline bool use_dead_time()
const {
return m_use_dead_time; }
56 inline bool with_geometric_factors()
const {
return m_with_geometric_factors; }
61 void set_defaults()
override;
63 void initialise_keymap()
override;
65 bool post_processing()
override;
67 void read_norm_data(
const string& filename);
69 string normalisation_filename;
72 bool m_with_detector_efficiencies;
76 bool m_with_geometric_factors;
78 shared_ptr<petsird::PETSIRDReaderBase> petsird_data_sptr;
80 shared_ptr<petsird::ScannerInformation> scanner_info_sptr;
82 shared_ptr<const PETSIRDInfo> petsird_info_sptr;
84 std::vector<petsird::DeadTimeTimeBlock> dead_time_blocks;
85 float get_dead_time_efficiency(
const DetectionPosition<>& det_pos,
const double start_time,
const double end_time)
const;
defines the stir::Array class for multi-dimensional (numeric) arrays
Declaration of class stir::BinNormalisationWithCalibration.
Declaration of class stir::BinNormalisation.
Declaration of class stir::PETSIRDInfo.
Declaration of class stir::RegisteredParsingObject.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...