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

In This Package:

DybDaq::FecTraits Class Reference

#include <FecTraits.h>

Inheritance diagram for DybDaq::FecTraits:

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

Public Types

typedef std::vector< BitsDefinitionDefinitions

Public Member Functions

virtual ~FecTraits ()
virtual unsigned int fecSize () const =0
virtual void initializeFec (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 FecTraitsdefaultTraits ()
static const FecTraitsreadTraits (const char *&buffer)
static const FecTraitsgetTraits (const unsigned int version)

Static Public Attributes

static const unsigned int kData = 0
static const unsigned int kFecMarkerValue = 0x7e7e
static const unsigned int kFecMarker = 0
static const unsigned int kRpcCFId = FecTraits::kFecMarker + 1
static const unsigned int kRpcFecId = FecTraits::kRpcCFId + 1
static const unsigned int kTransErr1 = FecTraits::kRpcFecId + 1
static const unsigned int kTransErr2 = FecTraits::kTransErr1 + 1
static const unsigned int kTrigType = FecTraits::kTransErr2 + 1
static const unsigned int kFullFlag = FecTraits::kTrigType + 1
static const unsigned int kValidGPS = FecTraits::kFullFlag + 1
static const unsigned int kValidCLK = FecTraits::kValidGPS + 1
static const unsigned int kUsingUTC = FecTraits::kValidCLK + 1
static const unsigned int kSecond = FecTraits::kUsingUTC + 1
static const unsigned int kNanoSecond = FecTraits::kSecond + 1
static const unsigned int kFecHitMap = FecTraits::kNanoSecond + 1

Protected Member Functions

 FecTraits ()
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

 FecTraits (const FecTraits &)
FecTraitsoperator= (const FecTraits &)

Friends

friend class DaqBuffer

Detailed Description

Definition at line 8 of file FecTraits.h.


Constructor & Destructor Documentation

FecTraits::~FecTraits (  )  [virtual]

Definition at line 35 of file FecTraits.cc.

00035                       {
00036 }

FecTraits::FecTraits (  )  [protected]

Definition at line 32 of file FecTraits.cc.

00032                      {
00033 }

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


Member Function Documentation

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

Definition at line 38 of file FecTraits.cc.

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

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

Definition at line 45 of file FecTraits.cc.

00045                                                     {
00046    defaultTraits();
00047    return m_allTraits[ FecTraits_v1_3::key() ];
00048 }

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

Definition at line 50 of file FecTraits.cc.

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

virtual unsigned int DybDaq::FecTraits::fecSize (  )  const [pure virtual]

Implemented in DybDaq::FecTraits_v1_3.

virtual void DybDaq::FecTraits::initializeFec ( char *  buffer  )  const [pure virtual]

Implemented in DybDaq::FecTraits_v1_3.

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

Implements DybDaq::DaqTraits.

Definition at line 58 of file FecTraits.cc.

00058                                             {
00059    return 0xffffffffU;
00060 }

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

Implements DybDaq::DaqTraits.

Definition at line 62 of file FecTraits.cc.

00062                                            {
00063    return 0xffffffffU;
00064 }

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

Reimplemented in DybDaq::FecTraits_v1_3.


Member Data Documentation

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

Definition at line 14 of file FecTraits.h.

const unsigned int FecTraits::kFecMarkerValue = 0x7e7e [static]

Definition at line 17 of file FecTraits.h.

const unsigned int FecTraits::kFecMarker = 0 [static]

Definition at line 21 of file FecTraits.h.

const unsigned int FecTraits::kRpcCFId = FecTraits::kFecMarker + 1 [static]

Definition at line 24 of file FecTraits.h.

const unsigned int FecTraits::kRpcFecId = FecTraits::kRpcCFId + 1 [static]

Definition at line 27 of file FecTraits.h.

const unsigned int FecTraits::kTransErr1 = FecTraits::kRpcFecId + 1 [static]

Definition at line 30 of file FecTraits.h.

const unsigned int FecTraits::kTransErr2 = FecTraits::kTransErr1 + 1 [static]

Definition at line 31 of file FecTraits.h.

const unsigned int FecTraits::kTrigType = FecTraits::kTransErr2 + 1 [static]

Definition at line 34 of file FecTraits.h.

const unsigned int FecTraits::kFullFlag = FecTraits::kTrigType + 1 [static]

Definition at line 37 of file FecTraits.h.

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

Definition at line 40 of file FecTraits.h.

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

Definition at line 43 of file FecTraits.h.

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

Definition at line 46 of file FecTraits.h.

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

Definition at line 49 of file FecTraits.h.

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

Definition at line 52 of file FecTraits.h.

const unsigned int FecTraits::kFecHitMap = FecTraits::kNanoSecond + 1 [static]

Definition at line 55 of file FecTraits.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:52 2011 for FecReadoutFormat by doxygen 1.4.7