STIR  6.2.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 */
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
32 namespace std
33 {
34 using ::time_t;
35 }
36 #endif
37 
38 START_NAMESPACE_STIR
39 class CListRecord;
40 class Succeeded;
41 class ExamInfo;
42 
51 {
52 public:
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 
66 protected:
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 
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
Declaration of class stir::ProjDataInfo.
declaration of stir::ExamData
STL namespace.
The base class for reading list mode data.
Definition: ListModeData.h:123
Class for records in a PET list mode file.
Definition: CListRecord.h:66
A class for a general element of a list mode file.
Definition: ListRecord.h:44
Declaration of class stir::ListModeData.
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
Declarations of classes stir::CListRecord, and stir::CListEvent which are used for list mode data...
Declaration of class stir::RegisteredParsingObject.