CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Attributes
DTROSWordType Class Reference

#include <DTDDUWords.h>

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. More...
 
 DTROSWordType (const DTROSWordType &obj)
 
 DTROSWordType ()
 
enum wordTypes type ()
 DDU word type getter. More...
 
virtual ~DTROSWordType ()
 Destructor. More...
 

Static Public Attributes

static const uint32_t debugControlWord = 7
 
static const uint32_t errorControlWord = 6
 
static const uint32_t headerControlWord = 0
 Control bits definitions. More...
 
static const uint32_t rosTypeWord = 31
 Word Type bits definitions. More...
 
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.

Author
M. Zanetti - INFN Padova

Definition at line 94 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.

Constructor & Destructor Documentation

DTROSWordType::DTROSWordType ( const uint32_t  index)
inline

Constructor.

Definition at line 99 of file DTDDUWords.h.

References word_.

99  {
100  word_ = index;
101  }
uint32_t word_
Definition: DTDDUWords.h:198
DTROSWordType::DTROSWordType ( const DTROSWordType obj)
inline

Definition at line 103 of file DTDDUWords.h.

References haddnano::obj.

103  {
104  *this = obj;
105  }
DTROSWordType::DTROSWordType ( )
inline

Definition at line 107 of file DTDDUWords.h.

107 : word_(0) {};
uint32_t word_
Definition: DTDDUWords.h:198
virtual DTROSWordType::~DTROSWordType ( )
inlinevirtual

Destructor.

Definition at line 110 of file DTDDUWords.h.

110 {};

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 Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::inputCommands(), DTROS25Unpacker::interpretRawData(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputCommands(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputEventContent(), and Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::properties().

133  {
134 
135  enum wordTypes wordType = Control;
136 
137  // ROS/ROB/SC Headers
139  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSHeader;
140  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == scTypeWord ) wordType = SCHeader;
141  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = GroupHeader;
142  }
143 
144  // ROS/ROB/SC Trailers
145  if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == trailerControlWord ) {
146  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSTrailer;
147  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == scTypeWord ) wordType = SCTrailer;
148  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = GroupTrailer;
149  }
150 
151  // TDC Header
152  if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == tdcHeaderControlWord )
153  wordType = TDCHeader;
154 
155  // TDC Trailer
156  if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == tdcTrailerControlWord )
157  wordType = TDCTrailer;
158 
159  // TDC/SC Data
160  if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == tdcDataControlWord ) {
161  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == scTypeWord ) wordType = SCData;
162  else wordType = TDCMeasurement;
163  }
164 
165  // Errors
166  if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == errorControlWord ) {
167  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSError;
168  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = TDCError;
169  }
170 
171  // ROS Debug
172  if ( ((word_ & WORDCONTROLMASK) >> WORDCONTROLSHIFT) == debugControlWord ) {
173  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) == rosTypeWord ) wordType = ROSDebug;
174  if ( ((word_ & WORDTYPEMASK) >> WORDTYPESHIFT) < scTypeWord ) wordType = TDCDebug;
175  }
176 
177 
178  return wordType;
179  }
#define WORDCONTROLMASK
Definition: DTDDUWords.h:10
#define WORDCONTROLSHIFT
Definition: DTDDUWords.h:11
static const uint32_t trailerControlWord
Definition: DTDDUWords.h:184
uint32_t word_
Definition: DTDDUWords.h:198
#define WORDTYPEMASK
Definition: DTDDUWords.h:12
static const uint32_t tdcHeaderControlWord
Definition: DTDDUWords.h:185
static const uint32_t errorControlWord
Definition: DTDDUWords.h:188
static const uint32_t tdcTrailerControlWord
Definition: DTDDUWords.h:186
static const uint32_t scTypeWord
Definition: DTDDUWords.h:193
#define WORDTYPESHIFT
Definition: DTDDUWords.h:13
static const uint32_t tdcDataControlWord
Definition: DTDDUWords.h:187
wordTypes
List of DT DDU Word Types.
Definition: DTDDUWords.h:113
static const uint32_t rosTypeWord
Word Type bits definitions.
Definition: DTDDUWords.h:192
static const uint32_t debugControlWord
Definition: DTDDUWords.h:189
static const uint32_t headerControlWord
Control bits definitions.
Definition: DTDDUWords.h:183

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 DTROSErrorWord::set(), DTTDCErrorWord::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 DTTDCMeasurementWord::set(), DTLocalTriggerDataWord::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 DTROBHeaderWord::bunchID(), DTTDCHeaderWord::bunchID(), DTDDUSecondStatusWord::busyROSPAF(), DTDDUSecondStatusWord::bxIDError(), DTROSErrorWord::cerosID(), DTROSDebugWord::cerosIdCerosStatus(), DTROSDebugWord::cerosIdRosStatus(), DTDDUFirstStatusWord::channelEnabled(), DTROSDebugWord::debugMessage(), DTROSDebugWord::debugType(), DTROSDebugWord::dontRead(), DTROSWordType(), DTDDUFirstStatusWord::errorFromROS(), DTROSErrorWord::errorType(), DTROBHeaderWord::eventID(), DTROBTrailerWord::eventID(), DTTDCHeaderWord::eventID(), DTTDCTrailerWord::eventID(), DTLocalTriggerHeaderWord::eventID(), DTDDUFirstStatusWord::eventTrailerLost(), DTROSTrailerWord::EventWordCount(), DTROSDebugWord::evIdMis(), DTDDUSecondStatusWord::fifoAlmostFull(), DTDDUSecondStatusWord::fifoFull(), DTLocalTriggerDataWord::getBits(), DTTDCHeaderWord::HU(), DTTDCTrailerWord::HU(), DTTDCMeasurementWord::HU(), DTTDCErrorWord::HU(), DTDDUSecondStatusWord::inputFifoAlmostFull(), DTDDUSecondStatusWord::inputFifoFull(), DTROSTrailerWord::l1AFifoOccupancy(), DTDDUSecondStatusWord::l1AIDError(), DTLocalTriggerSectorCollectorHeaderWord::Latency(), DTLocalTriggerSectorCollectorSubHeaderWord::LocalBunchCounter(), DTLocalTriggerSectorCollectorHeaderWord::NumberOf16bitWords(), DTDDUFirstStatusWord::opticalFiberSignalLost(), DTDDUSecondStatusWord::outOfSynchROSError(), DTDDUSecondStatusWord::outputFifoAlmostFull(), DTDDUSecondStatusWord::outputFifoFull(), DTTDCHeaderWord::PAF(), DTTDCTrailerWord::PAF(), DTTDCMeasurementWord::PAF(), DTTDCErrorWord::PAF(), DTTDCHeaderWord::PC(), DTTDCTrailerWord::PC(), DTTDCMeasurementWord::PC(), DTTDCErrorWord::PC(), DTROSErrorWord::robID(), DTROBHeaderWord::robID(), DTROBTrailerWord::robID(), DTDDUSecondStatusWord::rosList(), DTLocalTriggerDataWord::SCData(), DTLocalTriggerHeaderWord::SCFO(), DTTDCMeasurementWord::tdcChannel(), DTTDCErrorWord::tdcError(), DTTDCHeaderWord::tdcID(), DTTDCTrailerWord::tdcID(), DTTDCMeasurementWord::tdcID(), DTTDCErrorWord::tdcID(), DTTDCMeasurementWord::tdcTime(), DTROSTrailerWord::TFF(), DTDDUFirstStatusWord::timeout(), DTDDUFirstStatusWord::tlkPatternError(), DTDDUFirstStatusWord::tlkPropagationError(), DTDDUFirstStatusWord::tlkSignalLost(), DTROSTrailerWord::TPX(), DTLocalTriggerSectorCollectorSubHeaderWord::TriggerDelay(), DTROSHeaderWord::TTCEventCounter(), type(), DTDDUSecondStatusWord::warningROSPAF(), DTROBTrailerWord::wordCount(), DTTDCTrailerWord::wordCount(), and DTLocalTriggerTrailerWord::wordCount().