STIR 6.4.0
CListModeData.h
Go to the documentation of this file.
1
2/*
3 Copyright (C) 2019, National Physical Laboratory
4 Copyright (C) 2019, University College of London
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details
10*/
19
20#ifndef __stir_listmode_CListModeData_H__
21#define __stir_listmode_CListModeData_H__
22
23#include <string>
24#include <ctime>
25#include "stir/ProjDataInfo.h"
26#include "stir/ExamData.h"
30
31#ifdef BOOST_NO_STDC_NAMESPACE
32namespace std
33{
34using ::time_t;
35}
36#endif
37
38START_NAMESPACE_STIR
39class CListRecord;
40class Succeeded;
41class ExamInfo;
42
51{
52public:
54
57 virtual shared_ptr<CListRecord> get_empty_record_sptr() const = 0;
58
60
61 virtual Succeeded get_next_record(CListRecord& event) const = 0;
62
64 bool has_delayeds() const override = 0;
65
66protected:
67 shared_ptr<ListRecord> get_empty_record_helper_sptr() const override
68 {
69 shared_ptr<CListRecord> sptr(this->get_empty_record_sptr());
70 shared_ptr<ListRecord> sptr1(static_pointer_cast<ListRecord>(sptr));
71 return sptr1;
72 }
73
74 Succeeded get_next(ListRecord& event) const override { return this->get_next_record((CListRecord&)(event)); }
75};
76
77END_NAMESPACE_STIR
78
79#endif
Declarations of classes stir::CListRecord, and stir::CListEvent which are used for list mode data.
declaration of stir::ExamData
Declaration of class stir::ListModeData.
Declaration of class stir::ProjDataInfo.
Declaration of class stir::RegisteredParsingObject.
The base class for reading PET (i.e. coincidence) list mode data.
Definition CListModeData.h:51
virtual shared_ptr< CListRecord > get_empty_record_sptr() const =0
Get a pointer to an empty record.
bool has_delayeds() const override=0
Return if the file stores delayed events as well (as opposed to prompts)
virtual Succeeded get_next_record(CListRecord &event) const =0
Gets the next record in the listmode sequence.
Class for records in a PET list mode file.
Definition CListRecord.h:67
ListModeData()
Default constructor.
Definition ListModeData.cxx:27
A class for a general element of a list mode file.
Definition ListRecord.h:45
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44