FRIBParallelanalysis  1.0
FrameworkforMPIParalleldataanalysisatFRIB
Public Member Functions | List of all members
frib::analysis::CBufferDecoder Class Reference

#include <BufferDecoder.h>

Public Member Functions

 CBufferDecoder ()
 
virtual ~CBufferDecoder ()
 
const Address_t getBuffer ()
 
virtual const Address_t getBody ()
 
virtual UInt_t getBodySize ()
 
virtual UInt_t getRun ()
 
virtual UInt_t getEntityCount ()
 
virtual UInt_t getSequenceNo ()
 
virtual UInt_t getLamCount ()
 
virtual UInt_t getPatternCount ()
 
virtual UInt_t getBufferType ()
 
virtual void getByteOrder (Short_t &Signature16, Int_t &Signature32)
 
virtual std::string getTitle ()
 
virtual bool blockMode ()
 
void setBody (Address_t p)
 

Detailed Description

In SpecTcl, the buffer decoder class offers specific services to event processors that are not available in the parallel analysis framework since not all workers will see the state transition items that are used to gather the information needed to provide those services. What we do is offer the interfaces, so the user code can compile and either return dummy stuff or throw exceptions if there's nothing reasonable to return.

Constructor & Destructor Documentation

◆ CBufferDecoder()

frib::analysis::CBufferDecoder::CBufferDecoder ( )

constructor

◆ ~CBufferDecoder()

frib::analysis::CBufferDecoder::~CBufferDecoder ( )
virtual

destructor

Member Function Documentation

◆ blockMode()

bool frib::analysis::CBufferDecoder::blockMode ( )
virtual

Ring items are not block mode.

◆ getBody()

const Address_t frib::analysis::CBufferDecoder::getBody ( )
virtual

getBody The body will point to the ring item as it does for RingBufferDecoder. that body will have to be set by the worker framework by calling setBody.

Returns
Address_t - pointer to the ring item.

◆ getBodySize()

UInt_t frib::analysis::CBufferDecoder::getBodySize ( )
virtual

getBodySize Treating m_pItem as a ring item, return its size.

◆ getBufferType()

UInt_t frib::analysis::CBufferDecoder::getBufferType ( )
virtual

getBufferType Since we're only going to call the uperator() this will always be 1 for physics event. 1

◆ getByteOrder()

void frib::analysis::CBufferDecoder::getByteOrder ( Short_t &  Signature16,
Int_t &  Signature32 
)
virtual

getByteOrder Little endian won the world. We just return the machine's byt order signatures.

Parameters
[out]signature16- 16 bit sig.,
[out]signature32- 32 bit sig.

◆ getEntityCount()

UInt_t frib::analysis::CBufferDecoder::getEntityCount ( )
virtual

getEntityCount

Returns
UInt_t - by definition a ring item has one entity

◆ getLamCount()

UInt_t frib::analysis::CBufferDecoder::getLamCount ( )
virtual

getLamCount This is deprecated and has been returning 0 for some time.

Returns
UInt_t 0

◆ getPatternCount()

UInt_t frib::analysis::CBufferDecoder::getPatternCount ( )
virtual

getPaternCount Similarly, this has been returning 0 for some time

Returns
UInt_t 0

◆ getRun()

UInt_t frib::analysis::CBufferDecoder::getRun ( )
virtual

getRun We don't know the run so always return 0.

Returns
UInt_t (0).

◆ getSequenceNo()

UInt_t frib::analysis::CBufferDecoder::getSequenceNo ( )
virtual

getSequenceNo

Returns
UInt_t - we really don't have a sequence number so return 0

◆ getTitle()

std::string frib::analysis::CBufferDecoder::getTitle ( )
virtual

getTitle We don't have a title but we can return an empty string.

Returns
std::string ""

◆ setBody()

void frib::analysis::CBufferDecoder::setBody ( Address_t  p)

setBody Used by the framework to set the value of m_pItem


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