STIR  6.2.0
CListEventScannerWithDiscreteDetectors.h
Go to the documentation of this file.
1 //
2 //
11 /*
12  Copyright (C) 2003- 2011, Hammersmith Imanet Ltd
13  This file is part of STIR.
14 
15  SPDX-License-Identifier: Apache-2.0
16 
17  See STIR/LICENSE.txt for details
18 */
19 #ifndef __stir_listmode_CListEventScannerWithDiscreteDetectors_H__
20 #define __stir_listmode_CListEventScannerWithDiscreteDetectors_H__
21 
22 #include "stir/Succeeded.h"
24 #include "stir/ProjDataInfo.h"
26 
27 START_NAMESPACE_STIR
28 
30 
35 template <class ProjDataInfoT>
37 {
38 public:
39  explicit CListEventScannerWithDiscreteDetectors(const shared_ptr<const ProjDataInfo>& proj_data_info);
40 
41  const Scanner* get_scanner_ptr() const { return this->uncompressed_proj_data_info_sptr->get_scanner_ptr(); }
42 
44  virtual void get_detection_position(DetectionPositionPair<>&) const = 0;
45 
47  virtual void set_detection_position(const DetectionPositionPair<>&) = 0;
48 
50 
53  inline LORAs2Points<float> get_LOR() const override;
54 
56 
63  inline void get_bin(Bin& bin, const ProjDataInfo& proj_data_info) const override;
64 
66 
70  inline bool is_valid_template(const ProjDataInfo&) const override;
71 
72 protected:
73  shared_ptr<const ProjDataInfoT> get_uncompressed_proj_data_info_sptr() const { return uncompressed_proj_data_info_sptr; }
74 
75  // shared_ptr<Scanner> scanner_sptr;
76 
77 private:
78  shared_ptr<const ProjDataInfoT> uncompressed_proj_data_info_sptr;
79 };
80 
81 END_NAMESPACE_STIR
82 
84 
85 #endif
Declaration of class stir::Succeeded.
Declaration of class stir::ProjDataInfo.
Implementations of class stir::CListEventScannerWithDiscreteDetectors.
Class for storing and using a coincidence event from a list mode file for a cylindrical single layer ...
Definition: CListEventScannerWithDiscreteDetectors.h:36
A class for storing some info on the scanner.
Definition: Scanner.h:107
Class for storing and using a coincidence event from a list mode file.
Definition: CListRecord.h:52
A class for storing coordinates and value of a single projection bin.
Definition: Bin.h:48
An (abstract base) class that contains information on the projection data.
Definition: ProjDataInfo.h:69
Declarations of classes stir::CListRecord, and stir::CListEvent which are used for list mode data...
A class for storing 2 coordinates-sets of a detection, together with a timing-position index (for TOF...
Definition: DetectionPositionPair.h:40
Declaration of class stir::DetectionPositionPair.