18#ifndef __stir_listmode_CListModeDataECAT_H__
19#define __stir_listmode_CListModeDataECAT_H__
47template <
class CListRecordT>
59 virtual std::string
get_name()
const;
76 std::string listmode_filename_prefix;
77 mutable unsigned int current_lm_file;
78 mutable shared_ptr<InputStreamWithRecords<CListRecordT, bool>> current_lm_data_ptr;
80 mutable std::vector<std::vector<std::streampos>> saved_get_positions_for_each_lm_data;
81 typedef std::pair<unsigned int, SavedPosition> GetPosition;
82 std::vector<GetPosition> saved_get_positions;
86 Succeeded open_lm_file(
unsigned int)
const;
Declaration of class stir::CListModeData.
The base class for reading PET (i.e. coincidence) list mode data.
Definition CListModeData.h:51
Class for records in a PET list mode file.
Definition CListRecord.h:67
unsigned int SavedPosition
Use this typedef for save/set_get_position.
Definition ListModeData.h:129
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
virtual Succeeded get_next_record(CListRecord &record) const
Definition CListModeDataECAT.cxx:212
CListModeDataECAT(const std::string &listmode_filename_prefix)
Constructor taking a prefix for the filename.
Definition CListModeDataECAT.cxx:49
virtual SavedPosition save_get_position()
Save the current reading position.
Definition CListModeDataECAT.cxx:246
virtual Succeeded reset()
Call this function if you want to re-start reading at the beginning.
Definition CListModeDataECAT.cxx:230
virtual shared_ptr< CListRecord > get_empty_record_sptr() const
Get a pointer to an empty record.
Definition CListModeDataECAT.cxx:151
virtual std::string get_name() const
Returns the name of the list mode data.
Definition CListModeDataECAT.cxx:144
virtual Succeeded set_get_position(const SavedPosition &)
Set the position for reading to a previously saved point.
Definition CListModeDataECAT.cxx:257
virtual bool has_delayeds() const
returns true, as ECAT listmode data stores delayed events (and prompts)
Definition CListModeDataECAT.h:73
Declaration of routines which convert CTI things into our building blocks and vice versa.
Declaration of routines which convert ECAT things into our building blocks and vice versa.