STIR
6.2.0
|
Helper class for listmode events when using 2d sinograms and ring-pairs is most efficient. More...
#include "stir/listmode/CListEventCylindricalScannerWithViewTangRingRingEncoding.h"
Public Member Functions | |
CListEventCylindricalScannerWithViewTangRingRingEncoding (const shared_ptr< ProjDataInfo > &proj_data_info) | |
void | get_detection_position (DetectionPositionPair<> &) const |
This routine returns the corresponding detector pair. | |
void | set_detection_position (const DetectionPositionPair<> &) |
virtual void | get_bin (Bin &, const ProjDataInfo &) const |
warning only ProjDataInfoCylindricalNoArcCorr | |
virtual bool | is_valid_template (const ProjDataInfo &) const |
This method checks if the template is valid for LmToProjData. More... | |
Public Member Functions inherited from stir::CListEventScannerWithDiscreteDetectors< ProjDataInfoCylindricalNoArcCorr > | |
CListEventScannerWithDiscreteDetectors (const shared_ptr< const ProjDataInfo > &proj_data_info) | |
const Scanner * | get_scanner_ptr () const |
LORAs2Points< float > | get_LOR () const override |
find LOR between detector pairs More... | |
void | get_bin (Bin &bin, const ProjDataInfo &proj_data_info) const override |
find bin for this event More... | |
bool | is_valid_template (const ProjDataInfo &) const override |
This method checks if the template is valid for LmToProjData. More... | |
Public Member Functions inherited from stir::CListEvent | |
virtual Succeeded | set_prompt (const bool prompt=true) |
Changes the event from prompt to delayed or vice versa. More... | |
Public Member Functions inherited from stir::ListEvent | |
virtual bool | is_prompt () const =0 |
Additional Inherited Members | |
Protected Member Functions inherited from stir::CListEventScannerWithDiscreteDetectors< ProjDataInfoCylindricalNoArcCorr > | |
shared_ptr< const ProjDataInfoCylindricalNoArcCorr > | get_uncompressed_proj_data_info_sptr () const |
Helper class for listmode events when using 2d sinograms and ring-pairs is most efficient.
This class simplifies coding of a CListEventCylindricalScannerWithDiscreteDetectors class in case the coordinates are stored in the raw data as view_num
, tangential_pos_num
, ring_a
and ring_b
.
The default implementations for get_detection_position() etc are somewhat inefficient in such case. This helper class provides faster implementations. For example usage, see ecat::ecat7::CListEventECAT966, but it's intended to be used as follows
This implementation of this class relies on someType
providing the following functions
|
inlinevirtual |
This routine constructs a (prompt) coincidence event
Implements stir::CListEventScannerWithDiscreteDetectors< ProjDataInfoCylindricalNoArcCorr >.
|
inlinevirtual |
This method checks if the template is valid for LmToProjData.
Used before the actual processing of the data (see issue #61), before calling get_bin() Most scanners have listmode data that correspond to non arc-corrected data and this check avoids a crash when an unsupported template is used as input.
Implements stir::ListEvent.