#include <CbltHead.h>
Inheritance diagram for DybDaq::CbltHead:
Public Types | |
typedef std::pair< const char *, unsigned int > | OutputBuffer |
typedef std::vector< OutputBuffer > | OutputBufferList |
typedef std::vector< ByteInspector * > | Bytes |
typedef std::vector< BitsInspector * > | Bits |
Public Member Functions | |
virtual | ~CbltHead () |
Destroy this instance of the class. | |
virtual const DaqTraits & | daqTraits () 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 CbltTraits & | cbltTraits () 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 ByteBuffer & | byteBuffer () 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. | |
CbltHead & | operator= (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 CbltTraits * | m_traits |
The CbltTraits instance used to parse this object's buffer. | |
Friends | |
class | CbltReadout |
Definition at line 20 of file CbltHead.h.
CbltHead::~CbltHead | ( | ) | [virtual] |
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.
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 }
void CbltHead::setModuleAddress | ( | const unsigned int | moduleAddress | ) | [private] |
Sets the module address from this readout.
Definition at line 76 of file CbltHead.cc.
00076 { 00077 writeField(moduleAddress, 00078 CbltTraits::kHeadModuleAddress); 00079 }
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 }
friend class CbltReadout [friend] |
Definition at line 24 of file CbltHead.h.
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.