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

In This Package:

DybDaq::RtmTraits Class Reference

#include <RtmTraits.h>

Inheritance diagram for DybDaq::RtmTraits:

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

Public Types

typedef std::vector< BitsDefinitionDefinitions

Public Member Functions

virtual ~RtmTraits ()
virtual unsigned int rtmSize () const =0
virtual void initializeRtm (char *buffer) const =0
virtual unsigned int illegalMarker () const
virtual unsigned int illegalField () const
virtual unsigned int majorVersion () const =0
virtual unsigned int minorVersion () const =0
virtual const std::string versionString () const =0
virtual unsigned int marker (unsigned int marker) const
virtual const char * boolAsString (bool value) const
const DaqTraits::DefinitionsbitsDefinitions (unsigned int component) const

Static Public Member Functions

static const RtmTraitsdefaultTraits ()
static const RtmTraitsreadTraits (const char *&buffer)
static const RtmTraitsgetTraits (const unsigned int version)

Static Public Attributes

static const unsigned int kData = 0
static const unsigned int kRtmMarkerValue = 0xa5a5
static const unsigned int kRtmMarker = 0
static const unsigned int kRpcCFId = RtmTraits::kRtmMarker + 1
static const unsigned int kTransErr = RtmTraits::kRpcCFId + 1
static const unsigned int kRomAlmostFull = RtmTraits::kTransErr + 1
static const unsigned int kRtmAlmostFull = RtmTraits::kRomAlmostFull + 1
static const unsigned int kFullFlag = RtmTraits::kRtmAlmostFull + 1
static const unsigned int kValidGPS = RtmTraits::kFullFlag + 1
static const unsigned int kValidCLK = RtmTraits::kValidGPS + 1
static const unsigned int kUsingUTC = RtmTraits::kValidCLK + 1
static const unsigned int kSecond = RtmTraits::kUsingUTC + 1
static const unsigned int kNanoSecond = RtmTraits::kSecond + 1
static const unsigned int kAccumulation = RtmTraits::kNanoSecond + 1
static const unsigned int kTriggerRot = RtmTraits::kAccumulation + 1
static const unsigned int kTriggerMap = RtmTraits::kTriggerRot + 1

Protected Member Functions

 RtmTraits ()
unsigned int index (unsigned int field) const
virtual unsigned int markersEnd () const =0
virtual const unsigned int * markers () const =0
virtual unsigned int fieldsEnd () const =0
virtual const unsigned int * indices () const =0
virtual const unsigned int * shifts () const =0
virtual const unsigned int * masks () const =0
virtual const std::string * descriptions () const
virtual DaqTraits::Definitionsdefinitions (unsigned int component) const
virtual void setDefinitions (DaqTraits::Definitions *definitions, unsigned int component)
virtual const unsigned int * componentFields (unsigned int component) const
virtual const unsigned int componentFieldsEnd (unsigned int component) const

Static Protected Member Functions

static unsigned int readUnsignedInt (const char *&buffer, const DaqTraits &traits, unsigned int field)

Private Member Functions

 RtmTraits (const RtmTraits &)
RtmTraitsoperator= (const RtmTraits &)

Friends

friend class DaqBuffer

Detailed Description

Definition at line 8 of file RtmTraits.h.


Constructor & Destructor Documentation

RtmTraits::~RtmTraits (  )  [virtual]

Definition at line 36 of file RtmTraits.cc.

00036                       {
00037 }

RtmTraits::RtmTraits (  )  [protected]

Definition at line 33 of file RtmTraits.cc.

00033                      {
00034 }

DybDaq::RtmTraits::RtmTraits ( const RtmTraits  )  [private]


Member Function Documentation

const RtmTraits & RtmTraits::defaultTraits (  )  [static]

Definition at line 39 of file RtmTraits.cc.

00039                                           {
00040    if ( m_allTraits.size() == 0 ) {
00041       m_allTraits.insert(std::pair<const char*, RtmTraits*>(RtmTraits_v1_3::key(), new RtmTraits_v1_3()));
00042    }
00043    return *m_allTraits[ RtmTraits_v1_3::key() ];
00044 }

const RtmTraits * RtmTraits::readTraits ( const char *&  buffer  )  [static]

Definition at line 46 of file RtmTraits.cc.

00046                                                     {
00047    defaultTraits();
00048    return m_allTraits[ RtmTraits_v1_3::key() ];
00049 }

const RtmTraits * RtmTraits::getTraits ( const unsigned int  version  )  [static]

Definition at line 51 of file RtmTraits.cc.

00051                                                                 {
00052    defaultTraits();
00053    if ( version == 0x13 ) {
00054       return m_allTraits[ RtmTraits_v1_3::key() ];
00055    }
00056    return m_allTraits[ RtmTraits_v1_3::key() ];
00057 }

virtual unsigned int DybDaq::RtmTraits::rtmSize (  )  const [pure virtual]

Implemented in DybDaq::RtmTraits_v1_3.

virtual void DybDaq::RtmTraits::initializeRtm ( char *  buffer  )  const [pure virtual]

Implemented in DybDaq::RtmTraits_v1_3.

unsigned int RtmTraits::illegalMarker (  )  const [virtual]

Implements DybDaq::DaqTraits.

Definition at line 59 of file RtmTraits.cc.

00059                                             {
00060    return 0xffffffffU;
00061 }

unsigned int RtmTraits::illegalField (  )  const [virtual]

Implements DybDaq::DaqTraits.

Definition at line 63 of file RtmTraits.cc.

00063                                            {
00064    return 0xffffffffU;
00065 }

RtmTraits& DybDaq::RtmTraits::operator= ( const RtmTraits  )  [private]

Reimplemented in DybDaq::RtmTraits_v1_3.


Member Data Documentation

const unsigned int RtmTraits::kData = 0 [static]

Definition at line 14 of file RtmTraits.h.

const unsigned int RtmTraits::kRtmMarkerValue = 0xa5a5 [static]

Definition at line 17 of file RtmTraits.h.

const unsigned int RtmTraits::kRtmMarker = 0 [static]

Definition at line 21 of file RtmTraits.h.

const unsigned int RtmTraits::kRpcCFId = RtmTraits::kRtmMarker + 1 [static]

Definition at line 24 of file RtmTraits.h.

const unsigned int RtmTraits::kTransErr = RtmTraits::kRpcCFId + 1 [static]

Definition at line 27 of file RtmTraits.h.

const unsigned int RtmTraits::kRomAlmostFull = RtmTraits::kTransErr + 1 [static]

Definition at line 30 of file RtmTraits.h.

const unsigned int RtmTraits::kRtmAlmostFull = RtmTraits::kRomAlmostFull + 1 [static]

Definition at line 33 of file RtmTraits.h.

const unsigned int RtmTraits::kFullFlag = RtmTraits::kRtmAlmostFull + 1 [static]

Definition at line 36 of file RtmTraits.h.

const unsigned int RtmTraits::kValidGPS = RtmTraits::kFullFlag + 1 [static]

Definition at line 39 of file RtmTraits.h.

const unsigned int RtmTraits::kValidCLK = RtmTraits::kValidGPS + 1 [static]

Definition at line 42 of file RtmTraits.h.

const unsigned int RtmTraits::kUsingUTC = RtmTraits::kValidCLK + 1 [static]

Definition at line 45 of file RtmTraits.h.

const unsigned int RtmTraits::kSecond = RtmTraits::kUsingUTC + 1 [static]

Definition at line 48 of file RtmTraits.h.

const unsigned int RtmTraits::kNanoSecond = RtmTraits::kSecond + 1 [static]

Definition at line 51 of file RtmTraits.h.

const unsigned int RtmTraits::kAccumulation = RtmTraits::kNanoSecond + 1 [static]

Definition at line 54 of file RtmTraits.h.

const unsigned int RtmTraits::kTriggerRot = RtmTraits::kAccumulation + 1 [static]

Definition at line 57 of file RtmTraits.h.

const unsigned int RtmTraits::kTriggerMap = RtmTraits::kTriggerRot + 1 [static]

Definition at line 60 of file RtmTraits.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:07:48 2011 for RtmReadoutFormat by doxygen 1.4.7