STIR  6.2.0
CListModeDataGEHDF5.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2013-2020 University College London
3  Copyright (C) 2017-2019 University of Leeds
4 */
17 #ifndef __stir_listmode_CListModeDataGEHDF5_H__
18 #define __stir_listmode_CListModeDataGEHDF5_H__
19 
23 #include "stir/shared_ptr.h"
24 #include <iostream>
25 #include <string>
26 
27 START_NAMESPACE_STIR
28 namespace GE
29 {
30 namespace RDF_HDF5
31 {
32 
34 
40 {
41 public:
43  CListModeDataGEHDF5(const std::string& listmode_filename);
44 
45  std::string get_name() const override;
46 
47  virtual std::time_t get_scan_start_time_in_secs_since_1970() const;
48 
49  shared_ptr<CListRecord> get_empty_record_sptr() const override;
50 
51  Succeeded get_next_record(CListRecord& record) const override;
52 
53  Succeeded reset() override;
54 
55  SavedPosition save_get_position() override;
56 
57  Succeeded set_get_position(const SavedPosition&) override;
58 
60 
61  bool has_delayeds() const override { return false; }
62 
63 private:
64  // shared_ptr<GEHDF5Wrapper> input_sptr;
65 
67  std::string listmode_filename;
68  shared_ptr<InputStreamWithRecordsFromHDF5<CListRecordT>> current_lm_data_ptr;
69  unsigned long first_time_stamp;
70  unsigned long lm_duration_in_millisecs;
71 
72  Succeeded open_lm_file();
73 };
74 
75 } // namespace RDF_HDF5
76 } // namespace GE
77 END_NAMESPACE_STIR
78 
79 #endif
The base class for reading PET (i.e. coincidence) list mode data.The only difference w...
Definition: CListModeData.h:50
unsigned int SavedPosition
Use this typedef for save/set_get_position.
Definition: ListModeData.h:130
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
A class that reads the listmode data for GE scanners using the RDF9 format.
Definition: CListModeDataGEHDF5.h:39
Class for records in a PET list mode file.
Definition: CListRecord.h:66
Declaration of class stir::CListModeData.
Classes for listmode records of GE RDF9 data.
bool has_delayeds() const override
returns false, as GEHDF5 listmode data does not store delayed events (and prompts) ...
Definition: CListModeDataGEHDF5.h:61
Declaration of class stir::GE::RDF_HDF5::InputStreamWithRecordsFromHDF5.
A class for a general element (or "record") of a GE RDF9 listmode file.
Definition: CListRecordGEHDF5.h:193
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43