STIR  6.2.0
Public Member Functions | List of all members
stir::CListEventSAFIR< Derived > Class Template Reference

#include "stir/listmode/CListRecordSAFIR.h"

Inheritance diagram for stir::CListEventSAFIR< Derived >:
Inheritance graph
[legend]

Public Member Functions

 CListEventSAFIR ()
 
LORAs2Points< float > get_LOR () const override
 Returns LOR corresponding to the given event.
 
void get_bin (Bin &bin, const ProjDataInfo &proj_data_info) const override
 Override the default implementation.
 
bool is_valid_template (const ProjDataInfo &) const override
 This method checks if the template is valid for LmToProjData. More...
 
bool is_prompt () const override
 Returns 0 if event is prompt and 1 if delayed.
 
void set_map_sptr (shared_ptr< const DetectorCoordinateMap > new_map_sptr)
 Function to set map for detector indices to coordinates. More...
 
void set_scanner_sptr (shared_ptr< const Scanner > new_scanner_sptr)
 
- 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...
 

Detailed Description

template<class Derived>
class stir::CListEventSAFIR< Derived >

Provides interface of the record class to STIR by implementing get_LOR(). It uses an optional map from detector indices to coordinates to specify LORAs2Points from given detection pair indices.

The record has the following format (for little-endian byte order)

unsigned ringA : 8;
unsigned ringB : 8;
unsigned detA : 16;
unsigned detB : 16;
unsigned layerA : 4;
unsigned layerB : 4;
unsigned reserved : 6;
unsigned isDelayed : 1;
unsigned type : 1;

Constructor & Destructor Documentation

◆ CListEventSAFIR()

template<class Derived>
stir::CListEventSAFIR< Derived >::CListEventSAFIR ( )
inline

Default constructor will not work as it does not initialize a map to relate detector indices and space coordinates. Always use either set_scanner_sptr or set_map_sptr after default construction.

Member Function Documentation

◆ is_valid_template()

template<class Derived>
bool stir::CListEventSAFIR< Derived >::is_valid_template ( const ProjDataInfo ) const
inlineoverridevirtual

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.

◆ set_map_sptr()

template<class Derived>
void stir::CListEventSAFIR< Derived >::set_map_sptr ( shared_ptr< const DetectorCoordinateMap new_map_sptr)
inline

Function to set map for detector indices to coordinates.

Use a null pointer to disable the mapping functionality

◆ set_scanner_sptr()

template<class Derived>
void stir::CListEventSAFIR< Derived >::set_scanner_sptr ( shared_ptr< const Scanner new_scanner_sptr)
inline

Set the scanner

Currently only used if the map is not set.


The documentation for this class was generated from the following files: