GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ADF::NarvalInterface Class Referenceabstract

It defines the general interface needed to be a narval actor. More...

#include <NarvalInterface.h>

Inheritance diagram for ADF::NarvalInterface:

Public Member Functions

virtual Int_t AttachInput (FrameBlock *, Int_t=-1)
 Attach a block as input for a given slot number. More...
 
virtual Int_t AttachOutput (FrameBlock *, Int_t=-1)
 Attach a block as output for a given slot number. More...
 
const std::string & GetConfPath ()
 To get the algo path associated with the current actor. More...
 
virtual Int_t GetMaxInput () const
 for this actor, it gives the max number of entry lines it can handle (max included). More...
 
virtual Int_t GetMaxOutput () const
 for this actor, it gives the max number of output lines it can handle (max included). More...
 
virtual Int_t GetNbInput () const
 for this actor, it gives the current number of entry lines attached. More...
 
virtual Int_t GetNbOutput () const
 for this actor, it gives the current number of output lines attached. More...
 
UInt_t GetPID () const
 To get the ID number for that algorithm. More...
 
 NarvalInterface ()
 
virtual void process_initialise (UInt_t *error_code)=0
 To init the internal values (real constructor) More...
 
virtual void process_pause (UInt_t *error_code)
 This method is called every time the system pauses data acquisition. More...
 
virtual void process_reset (UInt_t *error_code)=0
 To reset the internal values (real destructor) More...
 
virtual void process_resume (UInt_t *error_code)
 this method is called every time the system resumes data acquisition More...
 
virtual void process_start (UInt_t *error_code)
 This method is called every time the daq starts. More...
 
virtual void process_stop (UInt_t *error_code)
 This method is called every time the daq stops. More...
 
virtual UInt_t ProcessBlocks ()
 generic ProcessBlocks method for any kind of actor. Intput/Output should be attached using the AttachInput/AttachOutput methods More...
 
virtual ~NarvalInterface ()
 

Static Public Member Functions

static std::string GetGlobalConfPath ()
 global conf path keep since passed in static method and needed in init method More...
 
static Int_t GetGlobalParameter (const char *name, UShort_t &val)
 to get from narval a parameter () ... IS IT mandatory to have there a static method ???? More...
 
static Int_t GetGlobalParameter (const char *name, Int_t &val)
 
static Int_t GetGlobalParameter (const char *name, std::string &val)
 
static void process_config (const Char_t *, UInt_t *, Short_t do_adf_conf=0)
 Have to be overwritten and called in your implementation. More...
 
static Int_t SetGlobalParameter (const char *name, const UShort_t &)
 
static Int_t SetGlobalParameter (const char *name, const std::string &)
 

Protected Member Functions

virtual ConfAgentGetConfAgent () const
 

Protected Attributes

Version fVersion
 Algo version (used to check determine suitable frame version ?) More...
 
LogMessage Log
 to send messages to the log server More...
 

Detailed Description

It defines the general interface needed to be a narval actor.

To run in Narval, an algorithm has to have a given interface i.e. has to define some methods.

A narval algorithm has also a version number, a process id (unique number) and a system to send log messages to a LogCollector.

Because your own implementation inherits from one the particular actor (NarvalProducer, NarvalConsumer or NarvalFilter) some protected methods helps you to get informations about the current data flow. In particular, what are the current version number of the primary key (GetCurrentKeyVersion()) that structures the data flow and the current frame versions with GetCurrentFrameVersion().

This informations should be used to know if your algorithm is compliant to process the current data flow.

Definition at line 46 of file NarvalInterface.h.


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