20#ifndef __stir_DataProcessor_H__
21#define __stir_DataProcessor_H__
45template <
typename DataT>
46class DataProcessor :
public RegisteredObject<DataProcessor<DataT>>,
public TimedObject
49 inline DataProcessor();
100 inline bool parse(std::istream& f);
101 bool parse(
const char*
const filename);
118 bool is_set_up_already;
Inline implementations for class stir::DataProcessor.
Declaration of class stiir::RegisteredObject.
Declaration of class stir::Succeeded.
declares the stir::TimedObject class
virtual void virtual_apply(DataT &data) const =0
Performs actual operation (in-place)
virtual Succeeded virtual_set_up(const DataT &)=0
Will be called to build any internal parameters.
virtual void virtual_apply(DataT &data, const DataT &in_data) const =0
Performs actual operation (virtual_set_up is called before this function)
Succeeded apply(DataT &out_data, const DataT &in_data)
Calls set_up() (if not already done before) and process in_data, putting the result in out_data.
Definition DataProcessor.inl:83
Succeeded apply(DataT &data)
Calls set_up() (if not already done before) and process data in-place.
Definition DataProcessor.inl:66
Succeeded set_up(const DataT &data)
Initialises any internal data (if necessary) using data as a template for sizes, sampling distances e...
Definition DataProcessor.inl:32
virtual void reset()
Makes sure we will ignore any previous call to set-up()
Definition DataProcessor.inl:43
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
base class for all objects which need timers. At the moment, there's only a CPU timer.
Definition TimedObject.h:36