| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DybDaq::CbltHead Class Reference

#include <CbltHead.h>

Inheritance diagram for DybDaq::CbltHead:

[legend]
Collaboration diagram for DybDaq::CbltHead:
[legend]
List of all members.

Public Types

typedef std::pair< const char *,
unsigned int > 
OutputBuffer
typedef std::vector< OutputBufferOutputBufferList
typedef std::vector< ByteInspector * > Bytes
typedef std::vector< BitsInspector * > Bits

Public Member Functions

virtual ~CbltHead ()
 Destroy this instance of the class.
virtual const DaqTraitsdaqTraits () const
 Returns the DaqTraits instance used to parse this object's buffer.
unsigned int majorVersion () const
 Returns the majorVersion of the CBLT format.
unsigned int minorVersion () const
 Returns the minorVersion of the CBLT format.
unsigned int moduleAddress () const
 Returns the module address from this readout.
unsigned int moduleType () const
 Returns the module type from this readout.
virtual unsigned int bufferSize () const
 Returns the size, in 4-bytes, of this ojbect's contents in the buffer.
const CbltTraitscbltTraits () const
 Returns the CbltTraits instance used to parse this object's buffer.
bool hasDaqTraits () const
virtual unsigned int gather (OutputBufferList &outputBuffers) const
virtual unsigned int inspect (DaqBuffer::Bytes &inspectors) const

Static Public Attributes

static const unsigned int kBytesInInt
static const unsigned int kUndefinedFormatComponent

Protected Member Functions

 CbltHead (const unsigned int moduleAddress, const unsigned int moduleType, const CbltTraits &traits)
 Create an instance of this class.
 CbltHead (const ByteBuffer &byteBuffer)
 Create an instance of this class.
virtual unsigned int formatComponent () const
 Returns the component with the format of this buffer.
const char * buffer () const
char * buffer ()
bool hasByteBuffer () const
const ByteBufferbyteBuffer () const
unsigned int fillInspectors (DaqBuffer::Bytes &inspectors, unsigned int component, unsigned int cursor) const
virtual bool readBool (const unsigned int field) const
virtual int readInt (const unsigned int field) const
virtual unsigned char readUnsignedChar (const unsigned int field) const
virtual unsigned int readUnsignedInt (const unsigned int field) const
virtual void writeField (const bool value, const unsigned int field)
virtual void writeField (const int value, const unsigned int field)
virtual void writeField (const unsigned int value, const unsigned int field)

Private Member Functions

 CbltHead ()
 Suppress default.
 CbltHead (CbltHead &rhs)
 Suppress default.
CbltHeadoperator= (CbltHead &rhs)
 Suppress default.
void setModuleAddress (const unsigned int moduleAddress)
 Sets the module address from this readout.
void setModuleType (const unsigned int moduleType)
 Sets the module address from this readout.

Private Attributes

const CbltTraitsm_traits
 The CbltTraits instance used to parse this object's buffer.

Friends

class CbltReadout

Detailed Description

Definition at line 20 of file CbltHead.h.


Constructor & Destructor Documentation

CbltHead::~CbltHead (  )  [virtual]

Destroy this instance of the class.

Definition at line 39 of file CbltHead.cc.

00039                     {
00040 }

CbltHead::CbltHead ( const unsigned int  moduleAddress,
const unsigned int  moduleType,
const CbltTraits traits 
) [protected]

Create an instance of this class.

Definition at line 20 of file CbltHead.cc.

00022                                              :
00023 CbltBuffer(new char[traits.headSize() * kBytesInInt],
00024 traits) {
00025     m_traits = &traits;
00026     traits.initializeHead(buffer());
00027     setModuleAddress(moduleAddress);
00028     setModuleType(moduleType);
00029 }

CbltHead::CbltHead ( const ByteBuffer byteBuffer  )  [protected]

Create an instance of this class.

Definition at line 31 of file CbltHead.cc.

00031                                                :
00032 CbltBuffer(byteBuffer,
00033           *((CbltTraits*)0)) {
00034     const char* buffer = byteBuffer.cursor();
00035     m_traits = CbltTraits::readTraits(buffer);
00036         byteBuffer.position(byteBuffer.position() + kBytesInInt);
00037 }

DybDaq::CbltHead::CbltHead (  )  [private]

Suppress default.

DybDaq::CbltHead::CbltHead ( CbltHead rhs  )  [private]

Suppress default.


Member Function Documentation

const DaqTraits & CbltHead::daqTraits (  )  const [virtual]

Returns the DaqTraits instance used to parse this object's buffer.

Reimplemented from DybDaq::DaqBuffer.

Definition at line 42 of file CbltHead.cc.

00042                                             {
00043     return *m_traits;
00044 }

unsigned int CbltHead::majorVersion (  )  const

Returns the majorVersion of the CBLT format.

Definition at line 50 of file CbltHead.cc.

00050                                           {
00051     if (0 == m_traits->majorVersion()) {
00052         return m_traits->majorVersion();
00053     }
00054     return readUnsignedInt(CbltTraits::kMajorVersion);
00055 }

unsigned int CbltHead::minorVersion (  )  const

Returns the minorVersion of the CBLT format.

Definition at line 57 of file CbltHead.cc.

00057                                           {
00058     if (0 == m_traits->majorVersion()) {
00059         return m_traits->minorVersion();
00060     }
00061     return readUnsignedInt(CbltTraits::kMinorVersion);
00062 }

unsigned int CbltHead::moduleAddress (  )  const

Returns the module address from this readout.

Definition at line 64 of file CbltHead.cc.

00064                                            {
00065         return readUnsignedInt(CbltTraits::kHeadModuleAddress);
00066 }

unsigned int CbltHead::moduleType (  )  const

Returns the module type from this readout.

Definition at line 68 of file CbltHead.cc.

00068                                         {
00069         return readUnsignedInt(CbltTraits::kHeadModuleType);
00070 }

unsigned int CbltHead::bufferSize (  )  const [virtual]

Returns the size, in 4-bytes, of this ojbect's contents in the buffer.

Implements DybDaq::DaqBuffer.

Definition at line 72 of file CbltHead.cc.

00072                                         {
00073     return cbltTraits().headSize();
00074 }

unsigned int CbltHead::formatComponent (  )  const [protected, virtual]

Returns the component with the format of this buffer.

Reimplemented from DybDaq::DaqBuffer.

Definition at line 46 of file CbltHead.cc.

00046                                              {
00047     return CbltTraits::kHead;
00048 }

CbltHead& DybDaq::CbltHead::operator= ( CbltHead rhs  )  [private]

Suppress default.

void CbltHead::setModuleAddress ( const unsigned int  moduleAddress  )  [private]

Sets the module address from this readout.

Definition at line 76 of file CbltHead.cc.

void CbltHead::setModuleType ( const unsigned int  moduleType  )  [private]

Sets the module address from this readout.

Definition at line 81 of file CbltHead.cc.

00081                                                           {
00082     writeField(moduleType,
00083                CbltTraits::kHeadModuleType);
00084 }

const CbltTraits & CbltBuffer::cbltTraits (  )  const [inherited]

Returns the CbltTraits instance used to parse this object's buffer.

Definition at line 34 of file CbltBuffer.cc.

00034                                                {
00035         return dynamic_cast<const CbltTraits&>(daqTraits());
00036 }


Friends And Related Function Documentation

friend class CbltReadout [friend]

Definition at line 24 of file CbltHead.h.


Member Data Documentation

const CbltTraits* DybDaq::CbltHead::m_traits [private]

The CbltTraits instance used to parse this object's buffer.

This is set after construction, so can not use base class's.

Reimplemented from DybDaq::DaqBuffer.

Definition at line 112 of file CbltHead.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:08:16 2011 for CbltReadoutFormat by doxygen 1.4.7