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

Base class for a Frame. More...

#include <Frame.h>

Inheritance diagram for ADF::Frame:

Public Member Functions

virtual Bool_t AddSubFrame (const Frame &)
 Add a subframe to that frame (only if composite) More...
 
virtual void ClearFrameStatus ()=0
 To clear to kGood the current status of this frame. More...
 
virtual Bool_t Configure (const char *name, const char *option)
 configuration from/to a file More...
 
virtual Bool_t Configure (ConfigurationFrame *, const char *option)
 to reconfigure the interface for that frame More...
 
virtual Bool_t Copy (const Char_t *, UInt_t, const char= 'b')=0
 copy a buffer to this Frame More...
 
virtual Bool_t Copy (const Frame *)=0
 copy a frame into this one. Theyy have to have the same prototype More...
 
virtual void Dump (const Char_t *filename, Bool_t anew=false) const =0
 Dump the content of the frame in a file (for debugging) More...
 
virtual Bool_t Dump (FILE *) const =0
 
virtual Bool_t Export (BufferIO &buf) const =0
 Export the content of the frame in a buffer. More...
 
virtual Bool_t ExportData (BufferIO &buf) const =0
 Export the content of the frame (data part only) in a buffer. More...
 
virtual void FastReset ()=0
 FastReset the current frame, means the data part keep the previous values. More...
 
virtual Short_t GetCheckLevel () const
 
virtual BaseBuffer::EStatus GetFrameStatus () const =0
 To get the current status of this frame. More...
 
virtual KeyGetKey ()=0
 To get the Key associated to this frame. More...
 
virtual const KeyGetKey () const =0
 To get the Key associated to this frame. More...
 
virtual UInt_t GetLength () const =0
 total length for that frame More...
 
virtual UInt_t GetNbSubFrame () const
 Returns the number of sub-frames composing this frame. Scan have to be called first. More...
 
virtual const BufferIOGetRealBuffer () const =0
 give access to the underlying buffer of the data part More...
 
const FactoryItemGetSignature () const
 Signature of that frame. More...
 
virtual const KeyGetSubKey (UInt_t) const =0
 Returns one of the sub-key in case this is a composite frame. More...
 
virtual Bool_t IsASubFrame (const Frame &)
 to check if a subframe could be added to the composite frame More...
 
virtual Bool_t IsComposite () const
 tells if this frame is a composite frame i.e. if it is composed of sub-frames More...
 
virtual Bool_t IsLinked () const =0
 true if the underlying buffers have been linked. More...
 
virtual Bool_t Link (const Char_t *, UInt_t, const char= 'b')=0
 Link a buffer to this Frame. More...
 
virtual Bool_t Link (const BufferIO &, UInt_t, const char= 'b')=0
 Link a buffer to this Frame. More...
 
virtual Bool_t Link (const Frame *)=0
 Link a frame into this one. They have to have the same prototype. More...
 
virtual Bool_t LinkSubFrame (UInt_t, Frame *)
 Attach the sub-frame corresponding to the given subkey # to the Frame given in the second argument. More...
 
virtual Bool_t Load (FILE *)=0
 load a Frame from a C file (for debugging) More...
 
virtual UInt_t Read ()
 It reads the content into dedicated structures from the Frame (data part) More...
 
virtual void Reset ()=0
 Reset the current frame. More...
 
virtual UInt_t Scan ()
 Scan this Frame. If it is a composite frame, it looks for the keys of sub-frames. More...
 
virtual void SetCheckLevel (Short_t checklevel)
 The number of tests (and the speed !) once writing/reading in Frame increase with this level. More...
 
virtual void Stallion (UInt_t repetition=4u)=0
 Fill the frame with a given pattern (used for ADF test) More...
 
virtual Bool_t TransfertSubFrame (const Frame &, UInt_t)
 copy the sub-frame #i to the Frame given in the second argument More...
 
virtual void Unlink ()=0
 UnLink a buffer to this Frame. More...
 
virtual UInt_t Write ()
 It writes to the Frame the content of the dedicated structures. More...
 
virtual ~Frame ()
 

Protected Member Functions

virtual Bool_t DoConfigure (std::istream &)
 configure this from an input stream More...
 
virtual Bool_t DoConfigure (std::ostream &)
 write the configuration in an output stream More...
 
 Frame ()
 To avoid direct creation of a Frame. More...
 
 Frame (Key *)
 
void SetSignature (FactoryItem item)
 to change the signature of that frame More...
 

Friends

class FrameFactory
 

Detailed Description

Base class for a Frame.

A Frame is an association of a key and a buffer to fill in/out data. The creation of a new Frame is performed through FrameFactory.

A block of memory can be linked to a Frame via the Link method. Once successfully linked, any methods provided by a particular Frame are available to deal with the content of the Frame.

A Frame could be composed of sub-frames. In this case IsComposite returns true (false otherwise = default). If a Frame is a composite frame, the Scan method operates on the data part to extract a list of keys for each sub-frame. This list of keys is kept in a stack. The GetNbSubFrame gives the number of sub-frames found.

The LinkSubFrame and CopySubFrame methods could be then used to extract a particular sub-frame.

A "non-composite" frame contains data needed by an algorithm. Thus high-level structures (kind of sub-events) are associated with a particular frame (see for instance PSAFrame). These structures are all filled from the Frame by calling the Read method. As well, once you have fill them with the appropriate results from your algorithm, their content is written in the Frame to be sent back on the data flow.

Definition at line 73 of file Frame.h.


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