Diana Software
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
QWriter Class Referenceabstract

Abstract class for diana writers. More...

Inheritance diagram for QWriter:
QBaseModule QModuleTimeProfiling QFileWriter

Public Member Functions

 QWriter ()
 constructor More...
 
virtual ~QWriter ()
 destructor More...
 
virtual void Init (QEventInspector &ev)=0
 Init method is called before event loop, getting a QEventInspector as argument. This method must be implemented by inheriting classes. More...
 
virtual void Do (QEventInspector &ev)=0
 Dot method is called for each event, getting the QEventInspector as argument. This method must be implemented by inheriting classes. More...
 
virtual void Done ()=0
 Done method is called after event loop This method must be implemented by inheriting classes. More...
 
- Public Member Functions inherited from QBaseModule
 QBaseModule (Type type)
 constructor More...
 
virtual ~QBaseModule ()
 constructor More...
 
double GetDouble (const std::string &parname, double defVal, bool warnCfg=true) const
 Get a double parameter from config file. More...
 
std::vector< double > GetVectorDouble (const std::string &parname, std::vector< double > defVal, bool warnCfg=true) const
 Get a std::vector<double> parameter from config file with syntax "{x,y,z}". More...
 
int GetInt (const std::string &parname, int defVal, bool warnCfg=true) const
 Get an int parameter from config file ( see GetDouble() ) More...
 
std::vector< int > GetVectorInt (const std::string &parname, std::vector< int > defVal, bool warnCfg=true) const
 Get an vector<int> parameter from config file ( see GetVectorDouble() ) More...
 
bool GetBool (const std::string &parname, bool defVal, bool warnCfg=true) const
 Get a bool parameter from config file ( see GetDouble() ) More...
 
std::vector< bool > GetVectorBool (const std::string &parname, std::vector< bool > defVal, bool warnCfg=true) const
 Get a vector<bool> parameter from config file ( see GetVectorDouble() ) More...
 
const std::string & GetString (const std::string &parname, const std::string &defVal, bool warnCfg=true) const
 Get a string parameter from config file ( see GetDouble() ) More...
 
std::vector< std::string > GetVectorString (const std::string &parname, std::vector< std::string > defVal, bool warnCfg=true) const
 Get a vector<string> parameter from config file ( see GetVectorDouble() ) More...
 
void Debug (const char *descr,...) const
 Send a debug message (used to debug the module) with printf syntax. More...
 
void Info (const char *descr,...) const
 Send an info message (information) with printf syntax. More...
 
void Warn (const char *descr,...) const
 Send a warning message (an error that the framework can recover) with printf syntax. More...
 
void Error (const char *descr,...) const
 Send an error message (an error that the framework cannot recover) with printf syntax. More...
 
void Panic (const char *descr,...) const
 Send a panic message (stops the framework) with printf syntax. More...
 
const QGlobalDataManagerGlobalData () const
 interface for saving and loading global QObjects More...
 
bool GetRunAgain () const
 Check if the sequence will be reiterated. More...
 
void SetRunAgain (bool b)
 Set that the sequence will be reiterated. More...
 
unsigned int GetIteration () const
 Get Current sequence iteration. More...
 
unsigned int GetOccurrence () const
 get the number of times the same module is loaded inside a QSequence More...
 
bool isEnabled () const
 check if module is enabled More...
 
std::string GetFullPath () const
 Get Full Path of module "GetName() + "." + GetOccurrence". More...
 
const std::string & GetName () const
 Get Module name. More...
 
const std::string & GetLabel () const
 Get Module name + the optional ExtraLabel ("name_extralabel") More...
 
MsgLevel GetVerbosity ()
 get verbosity level set from config file More...
 
const QSequenceGetSequence () const
 get reference to this sequence More...
 
void Update (QSequence *s, unsigned int occurrence)
 set the occurrence in the same sequence. MV FIXME: should not be public More...
 
bool NeedNeighbours ()
 check wheter this module needs neighbours (available after the first event is processed) More...
 
void BeginBase (QEventAssembler &ev)
 Begin Base method is called before event loop. More...
 
bool ProcessBase (QEventAssembler &ev, QEventList &evl, const bool exec, QEventList &ovl)
 ProcessBase method is called for each event, getting the event and as argument. More...
 
void EndBase ()
 EndBase method is called after event loop. More...
 
const std::vector< QEventLabel > & GetRequiredLabels () const
 Get labels of objects required by this module. More...
 

Protected Attributes

QRWCommonfRWCommon
 object to share file names with QReader More...
 
- Protected Attributes inherited from QBaseModule
bool fExecuted
 
- Protected Attributes inherited from QModuleTimeProfiling
bool fTimeProfilingOn
 Report the time profiling. More...
 
unsigned long long int fProcessCalls
 NUmber of calls to the process. More...
 
double fProcessTime
 Total time spent running the process. More...
 

Private Member Functions

void Begin (QEventAssembler &ev)
 Begin method is called before event loop, and calls Init() More...
 
bool Process (QEventAssembler &eva, QEventList &neigh, const bool exec, QEventList &oneigh)
 Process method is called for each event, and calls Do() More...
 
void End ()
 End method is called after event loop, and calls Done() More...
 

Private Attributes

bool fSkipEvents
 Skip filtered events (false) More...
 

Friends

class QSequence
 

Additional Inherited Members

- Public Types inherited from QBaseModule
enum  Type {
  Module , Filter , Reader , Writer ,
  Driver
}
 
- Protected Member Functions inherited from QBaseModule
QModuleConfigGetConfig ()
 Get module config. More...
 
void SetNeedNeighbours (bool need)
 set wheter this module needs neighbours More...
 
- Protected Member Functions inherited from QModuleTimeProfiling
 QModuleTimeProfiling ()
 ctor initialized internal variables More...
 
virtual ~QModuleTimeProfiling ()
 dtor does nothing More...
 
void SetTimeProfilingOn (bool val)
 Set the time profiling on/off. More...
 
bool GetTimeProfilingOn () const
 Check if the time profiling is on. More...
 
void ResetTimer ()
 Reset the timer to now. More...
 
double GetTimer () const
 return the time since the last reset More...
 
virtual void StartProcessCall ()
 Start of a process call. More...
 
virtual void EndProcessCall ()
 End a process call and increment time and calls. More...
 
unsigned long long GetProcessCalls () const
 Return the total number of process calls. More...
 
double GetTotalProcessTime () const
 Return the total processing time. More...
 
double GetProcessCallTime () const
 Return the average time of a single process call. More...
 
std::string GetTimeProfileReport (const std::string &prefix="") const
 Report the time profiling. More...
 

Detailed Description

Abstract class for diana writers.

Author
Marco Vignati

This class is a generic interface for diana writers, see QFileWriter for generic documentation of file writers.

Unlike QModule, the Init() and Do() methods act on a QEventInspector, that provides the functionality of listing the QEvent content.

Definition at line 29 of file QWriter.hh.

Constructor & Destructor Documentation

◆ QWriter()

QWriter::QWriter ( )
inline

constructor

Definition at line 33 of file QWriter.hh.

References fRWCommon.

◆ ~QWriter()

virtual QWriter::~QWriter ( )
inlinevirtual

destructor

Definition at line 35 of file QWriter.hh.

Member Function Documentation

◆ Begin()

Q_BEGIN_NAMESPACE void QWriter::Begin ( QEventAssembler ev)
privatevirtual

Begin method is called before event loop, and calls Init()

Implements QBaseModule.

Definition at line 7 of file QWriter.cc.

References fSkipEvents, QBaseModule::GetBool(), Init(), and QBaseModule::SetNeedNeighbours().

◆ Do()

virtual void QWriter::Do ( QEventInspector ev)
pure virtual

Dot method is called for each event, getting the QEventInspector as argument. This method must be implemented by inheriting classes.

Implemented in QFileWriter.

Referenced by Process().

◆ Done()

virtual void QWriter::Done ( )
pure virtual

Done method is called after event loop This method must be implemented by inheriting classes.

Implemented in QFileWriter.

Referenced by End().

◆ End()

void QWriter::End ( )
privatevirtual

End method is called after event loop, and calls Done()

Implements QBaseModule.

Definition at line 25 of file QWriter.cc.

References Done().

◆ Init()

virtual void QWriter::Init ( QEventInspector ev)
pure virtual

Init method is called before event loop, getting a QEventInspector as argument. This method must be implemented by inheriting classes.

Implemented in QFileWriter.

Referenced by Begin().

◆ Process()

bool QWriter::Process ( QEventAssembler eva,
QEventList neigh,
const bool  exec,
QEventList oneigh 
)
privatevirtual

Process method is called for each event, and calls Do()

Implements QBaseModule.

Definition at line 15 of file QWriter.cc.

References Do(), QBaseModule::fExecuted, and fSkipEvents.

Friends And Related Function Documentation

◆ QSequence

friend class QSequence
friend

Definition at line 69 of file QWriter.hh.

Member Data Documentation

◆ fRWCommon

QRWCommon* QWriter::fRWCommon
protected

◆ fSkipEvents

bool QWriter::fSkipEvents
private

Skip filtered events (false)

Definition at line 67 of file QWriter.hh.

Referenced by Begin(), and Process().


The documentation for this class was generated from the following files: