CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Attributes | Private Attributes

DTROSWordType Class Reference

#include <DTDDUWords.h>

List of all members.

Public Types

enum  wordTypes {
  ROSHeader = 1, ROSTrailer = 2, ROSError = 3, GroupHeader = 4,
  GroupTrailer = 5, TDCHeader = 6, TDCTrailer = 7, TDCMeasurement = 8,
  TDCError = 9, SCHeader = 10, SCTrailer = 11, SCData = 12,
  ROSDebug = 13, TDCDebug = 14, Control = 15
}
 

List of DT DDU Word Types.

More...

Public Member Functions

 DTROSWordType (const uint32_t index)
 Constructor.
 DTROSWordType (const DTROSWordType &obj)
enum wordTypes type ()
 DDU word type getter.
virtual ~DTROSWordType ()
 Destructor.

Static Public Attributes

static const uint32_t debugControlWord = 7
static const uint32_t errorControlWord = 6
static const uint32_t headerControlWord = 0
 Control bits definitions.
static const uint32_t rosTypeWord = 31
 Word Type bits definitions.
static const uint32_t scTypeWord = 25
static const uint32_t tdcDataControlWord = 4
static const uint32_t tdcHeaderControlWord = 2
static const uint32_t tdcTrailerControlWord = 3
static const uint32_t trailerControlWord = 1

Private Attributes

uint32_t word_

Detailed Description

Enumeration of DT Read Out Sector (ROS) word types.

Date:
2009/05/07 07:57:03
Revision:
1.13
Author:
M. Zanetti - INFN Padova

Definition at line 96 of file DTDDUWords.h.


Member Enumeration Documentation

List of DT DDU Word Types.

Enumerator:
ROSHeader 
ROSTrailer 
ROSError 
GroupHeader 
GroupTrailer 
TDCHeader 
TDCTrailer 
TDCMeasurement 
TDCError 
SCHeader 
SCTrailer 
SCData 
ROSDebug 
TDCDebug 
Control 

Definition at line 113 of file DTDDUWords.h.

                 {
    ROSHeader = 1,
    ROSTrailer = 2,
    ROSError = 3,
    GroupHeader = 4,
    GroupTrailer = 5,
    TDCHeader = 6,
    TDCTrailer = 7,
    TDCMeasurement = 8,
    TDCError = 9,
    SCHeader = 10,
    SCTrailer = 11,
    SCData = 12,
    ROSDebug = 13,
    TDCDebug = 14,
    Control = 15
  };

Constructor & Destructor Documentation

DTROSWordType::DTROSWordType ( const uint32_t  index) [inline]

Constructor.

Definition at line 101 of file DTDDUWords.h.

References getHLTprescales::index, and word_.

                                      {
    word_ = index;
  }
DTROSWordType::DTROSWordType ( const DTROSWordType obj) [inline]

Definition at line 105 of file DTDDUWords.h.

References VarParsing::obj.

                                          {
    *this = obj;
  }
virtual DTROSWordType::~DTROSWordType ( ) [inline, virtual]

Destructor.

Definition at line 110 of file DTDDUWords.h.

{};

Member Function Documentation

enum wordTypes DTROSWordType::type ( ) [inline]

DDU word type getter.

Definition at line 133 of file DTDDUWords.h.

References Control, debugControlWord, errorControlWord, GroupHeader, GroupTrailer, headerControlWord, ROSDebug, ROSError, ROSHeader, ROSTrailer, rosTypeWord, SCData, SCHeader, SCTrailer, scTypeWord, tdcDataControlWord, TDCDebug, TDCError, TDCHeader, tdcHeaderControlWord, TDCMeasurement, TDCTrailer, tdcTrailerControlWord, trailerControlWord, word_, WORDCONTROLMASK, WORDCONTROLSHIFT, WORDTYPEMASK, and WORDTYPESHIFT.

Referenced by DTROS25Unpacker::interpretRawData().

                        {
    
    enum wordTypes wordType = Control;
    
    // ROS/ROB/SC Headers
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == headerControlWord ) {
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSHeader;
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == scTypeWord ) wordType = SCHeader;
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = GroupHeader;
    }

    // ROS/ROB/SC Trailers
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == trailerControlWord ) {
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSTrailer;
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == scTypeWord ) wordType = SCTrailer;
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = GroupTrailer;
    }

    // TDC Header
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == tdcHeaderControlWord ) 
      wordType = TDCHeader;

    // TDC Trailer
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == tdcTrailerControlWord ) 
      wordType = TDCTrailer;

    // TDC/SC Data
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == tdcDataControlWord ) {
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == scTypeWord ) wordType = SCData;
      else wordType = TDCMeasurement;
    }

    // Errors
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == errorControlWord ) {
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSError;
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = TDCError;
    }

    // ROS Debug
    if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == debugControlWord ) {
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSDebug;
      if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = TDCDebug;
    }


    return wordType;
  }

Member Data Documentation

const uint32_t DTROSWordType::debugControlWord = 7 [static]

Definition at line 189 of file DTDDUWords.h.

Referenced by DTROSDebugWord::set(), and type().

const uint32_t DTROSWordType::errorControlWord = 6 [static]

Definition at line 188 of file DTDDUWords.h.

Referenced by DTTDCErrorWord::set(), DTROSErrorWord::set(), and type().

const uint32_t DTROSWordType::headerControlWord = 0 [static]
const uint32_t DTROSWordType::rosTypeWord = 31 [static]
const uint32_t DTROSWordType::scTypeWord = 25 [static]
const uint32_t DTROSWordType::tdcDataControlWord = 4 [static]

Definition at line 187 of file DTDDUWords.h.

Referenced by DTLocalTriggerDataWord::set(), DTTDCMeasurementWord::set(), and type().

const uint32_t DTROSWordType::tdcHeaderControlWord = 2 [static]

Definition at line 185 of file DTDDUWords.h.

Referenced by DTTDCHeaderWord::set(), and type().

const uint32_t DTROSWordType::tdcTrailerControlWord = 3 [static]

Definition at line 186 of file DTDDUWords.h.

Referenced by DTTDCTrailerWord::set(), and type().

const uint32_t DTROSWordType::trailerControlWord = 1 [static]
uint32_t DTROSWordType::word_ [private]

Definition at line 198 of file DTDDUWords.h.

Referenced by DTROSWordType(), and type().