CMS 3D CMS Logo

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

MatacqRawEvent Class Reference

#include <MatacqRawEvent.h>

List of all members.

Classes

struct  ChannelData
struct  field32spec_t
struct  int16le_t
struct  uint16le_t
struct  uint32le_t

Public Types

enum  matacqError_t { errorLengthConsistency = 1<<0, errorLength = 1<<1, errorWrongBoe = 1<<2 }

Public Member Functions

int getAttenuation_dB () const
int getBoe () const
int getBxId () const
int getChannelCount () const
const std::vector< ChannelData > & getChannelData () const
unsigned getDaqLen () const
int getDccErrors () const
unsigned getDccLen () const
int getDelayA () const
int getEmtcDelay () const
int getEmtcPhase () const
unsigned getEventId () const
int getFedId () const
int getFov () const
int getFreqGHz () const
int getH1Marker () const
int getLaserPower () const
int getMatacqDataFormatVersion () const
uint32_t getOrbitId () const
int getParsedLen ()
int getPostTrig () const
unsigned getRunNum () const
int32_t getStatus () const
time_t getTimeStamp () const
void getTimeStamp (struct timeval &t) const
int getTriggerType () const
int getTrigRec () const
int getTTrigPs () const
std::vector< int > getVernier () const
 MatacqRawEvent (const unsigned char *dataBuffer, size_t bufferSize)

Static Public Member Functions

static unsigned getDccLen (unsigned char *data, size_t size)
static unsigned getOrbitId (unsigned char *data, size_t size)
static unsigned getRunNum (unsigned char *data, size_t size)

Private Member Functions

void setRawData (const unsigned char *buffer, size_t bufferSize)

Static Private Member Functions

static int read32 (uint32le_t *pData, field32spec_t spec, bool ovfTrans=false)

Private Attributes

int attenuation_dB
int boe
int bxId
int channelCount
std::vector< ChannelDatachannelData
uint32le_tdaqHeader
int dccErrors
unsigned dccLen
int delayA
int emtcDelay
int emtcPhase
int32_t error
unsigned eventId
int fedId
int fov
int fragLen
int freqGHz
int h1Marker
int laserPower
int matacqDataFormatVersion
uint32_t orbitId
int parsedLen
int postTrig
uint16le_tpSamples
unsigned runNum
struct timeval timeStamp
int triggerType
int trigRec
int tTrigPs
std::vector< int > vernier

Static Private Attributes

static const field32spec_t fov32 = {0, 0x000000F0}
static const field32spec_t fedId32 = {0, 0x000FFF00}
static const field32spec_t bxId32 = {0, 0xFFF00000}
static const field32spec_t lv132 = {1, 0x00FFFFFF}
static const field32spec_t triggerType32 = {1, 0x0F000000}
static const field32spec_t boeType32 = {1, 0xF0000000}
static const field32spec_t dccLen32 = {2, 0x00FFFFFF}
static const field32spec_t dccErrors32 = {2, 0xFF000000}
static const field32spec_t runNum32 = {3, 0x00FFFFFF}
static const field32spec_t h1Marker32 = {3, 0x3F000000}
static const field32spec_t formatVersion32 = {4, 0x0000FFFF}
static const field32spec_t freqGHz32 = {4, 0x00FF0000}
static const field32spec_t channelCount32 = {4, 0xFF000000}
static const field32spec_t timeStamp32 = {5, 0xFFFFFFFF}
static const field32spec_t tTrigPs32 = {6, 0xFFFFFFFF}
static const field32spec_t orbitId32 = {7, 0xFFFFFFFF}
static const field32spec_t trigRec32 = {11,0xFF000000}
static const field32spec_t postTrig32 = {11,0x0000FFFF}
static const field32spec_t vernier0_32 = {8, 0x0000FFFF}
static const field32spec_t vernier1_32 = {8, 0xFFFF0000}
static const field32spec_t vernier2_32 = {9, 0x0000FFFF}
static const field32spec_t vernier3_32 = {9, 0xFFFF0000}
static const field32spec_t timeStampMicroSec32 = {10,0xFFFFFFFF}
static const field32spec_t laserPower32 = {12,0x000000FF}
static const field32spec_t attenuation_dB32 = {12,0x00000F00}
static const field32spec_t emtcPhase32 = {12,0x0000F000}
static const field32spec_t emtcDelay32 = {12,0xFFFF0000}
static const field32spec_t delayA32 = {13,0x0000FFFF}
static const field32spec_t dccId32 = {13,0x003F0000}
static const field32spec_t color32 = {13,0x00600000}
static const field32spec_t trigType32 = {13,0x07000000}
static const field32spec_t side32 = {13,0x08000000}

Detailed Description

Wrapper for matacq raw event fragments. This class provides the method to interpret the data.

Definition at line 30 of file MatacqRawEvent.h.


Member Enumeration Documentation

Enumerator:
errorLengthConsistency 

Event length is specified both in the data header and the trailer. This flags indicates an inconsitency between the two indications.

errorLength 

Error in data length.

errorWrongBoe 

Wrong Begin of event flag

Definition at line 33 of file MatacqRawEvent.h.

                     {
    errorLengthConsistency = 1<<0,
    errorLength = 1<<1,
    errorWrongBoe = 1<<2
  };

Constructor & Destructor Documentation

MatacqRawEvent::MatacqRawEvent ( const unsigned char *  dataBuffer,
size_t  bufferSize 
) [inline]

Constuctor.

Parameters:
dataBufferpointer to the raw data. Beware the data are not copied, therefore the data must be kept valid during the lifetime of the constructed object. pData must be aligned at least on 32-bit words.
bufferSizesize of the buffer pointed by dataBuffer and containing the data. The data themselves are allowed to be smaller than the buffer.
Exceptions:
std::exceptionif the data cannot be decoded due to data corruption or truncation.

Definition at line 160 of file MatacqRawEvent.h.

References setRawData().

                                                                    : vernier(std::vector<int>(4)){
    setRawData(dataBuffer, bufferSize);
  }

Member Function Documentation

int MatacqRawEvent::getAttenuation_dB ( ) const [inline]

Logarithmic attenuator setting in -10dB unit. Between 0 and 5*(-10dB), 0xF if unknown.

Definition at line 353 of file MatacqRawEvent.h.

References attenuation_dB.

Referenced by MatacqDataFormatter::interpretRawData().

{ return attenuation_dB; }
int MatacqRawEvent::getBoe ( ) const [inline]

Gets the beging of event field contents (BOE). Must be 0x5.

Returns:
BOE

Definition at line 196 of file MatacqRawEvent.h.

References boeType32, daqHeader, and read32().

{ return read32(daqHeader, boeType32);}
int MatacqRawEvent::getBxId ( ) const [inline]

Gets the bunch crossing id field contents.

Returns:
BX id

Definition at line 181 of file MatacqRawEvent.h.

References bxId32, daqHeader, and read32().

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

{ return read32(daqHeader, bxId32);}
int MatacqRawEvent::getChannelCount ( ) const [inline]

Gets the matacq channel count field contents.

Returns:
number of channels

Definition at line 279 of file MatacqRawEvent.h.

References channelCount.

Referenced by MatacqTBDataFormatter::printData().

{ return /*matacqHeader->*/channelCount;}
const std::vector<ChannelData>& MatacqRawEvent::getChannelData ( ) const [inline]

Gets the matacq channel data. Beware that no copy is done and that the returned data will be invalidated if the data contains in the buffer is modified (see constructor and setRawData().

Returns:
matacq channel data.

Definition at line 286 of file MatacqRawEvent.h.

References channelData.

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

                                                      {
    return channelData;
  }
unsigned MatacqRawEvent::getDaqLen ( ) const [inline]

Gets the event length specifies in the DAQ trailer

Returns:
event length

Definition at line 241 of file MatacqRawEvent.h.

References fragLen.

{ return fragLen;}
int MatacqRawEvent::getDccErrors ( ) const [inline]

Gets the contents of the DCC error field. Currently Not used for Matacq.

Returns:
dcc error

Definition at line 247 of file MatacqRawEvent.h.

References daqHeader, dccErrors32, and read32().

Referenced by MatacqTBDataFormatter::printData().

static unsigned MatacqRawEvent::getDccLen ( unsigned char *  data,
size_t  size 
) [inline, static]

Gets the event length specifies in the DCC-type header of a matacq event.

Parameters:
databuffer. Needs to contains at least the 3 first 32-bit words of the event.
buffersize
Returns:
event length, 0xFFFFFFFF if failed to retrieve dcc length

Definition at line 209 of file MatacqRawEvent.h.

References dccLen32, MatacqRawEvent::field32spec_t::offset, and read32().

                                                              {
     if(size<(unsigned)(dccLen32.offset+1)*4) return (unsigned)-1;
     return read32((uint32le_t*) data, dccLen32);
   }
unsigned MatacqRawEvent::getDccLen ( ) const [inline]

Gets the event length specifies in the "a la DCC" header.

Returns:
event length

Definition at line 201 of file MatacqRawEvent.h.

References daqHeader, dccLen32, and read32().

Referenced by MatacqProducer::addMatacqData(), MatacqProducer::getMatacqEvent(), MatacqProducer::PosEstimator::init(), and MatacqTBDataFormatter::printData().

{ return read32(daqHeader, dccLen32);}
int MatacqRawEvent::getDelayA ( ) const [inline]

"Delay A" setting of laser delay box in ns.

Definition at line 340 of file MatacqRawEvent.h.

References delayA.

Referenced by MatacqDataFormatter::interpretRawData().

{ return delayA; }
int MatacqRawEvent::getEmtcDelay ( ) const [inline]

WTE-to-Laser delay of EMTC in LHC clock unit.

Definition at line 344 of file MatacqRawEvent.h.

References emtcDelay.

Referenced by MatacqDataFormatter::interpretRawData().

{ return emtcDelay; }
int MatacqRawEvent::getEmtcPhase ( ) const [inline]

EMTC laser phase in 1/8th LHC clock unit.

Definition at line 348 of file MatacqRawEvent.h.

References emtcPhase.

Referenced by MatacqDataFormatter::interpretRawData().

{ return emtcPhase; }
unsigned MatacqRawEvent::getEventId ( ) const [inline]

Gets the LV1 field contents.

Returns:
LV1 id

Definition at line 186 of file MatacqRawEvent.h.

References daqHeader, lv132, and read32().

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

{ return read32(daqHeader, lv132);}
int MatacqRawEvent::getFedId ( ) const [inline]

Gets the FED ID field contents. Should be 655.

Returns:
FED ID

Definition at line 176 of file MatacqRawEvent.h.

References daqHeader, fedId32, and read32().

Referenced by MatacqTBDataFormatter::printData().

{ return read32(daqHeader, fedId32);}
int MatacqRawEvent::getFov ( ) const [inline]

Gets the Fed event fragment data format (FOV) field content. Currently the FOV is not used for MATACQ. Note that matacq data format has its own internal version. See getMatacqDataFormatVersion()

Returns:
FOV

Definition at line 171 of file MatacqRawEvent.h.

References daqHeader, fov32, and read32().

Referenced by MatacqTBDataFormatter::printData().

{ return read32(daqHeader, fov32);}
int MatacqRawEvent::getFreqGHz ( ) const [inline]

Gets the matacq sampling frequency field contents.

Returns:
sampling frequency in GHz: 1 or 2

Definition at line 274 of file MatacqRawEvent.h.

References freqGHz.

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

{ return /*matacqHeader->*/freqGHz;}
int MatacqRawEvent::getH1Marker ( ) const [inline]

Gets the header marker field contents. Must be 1

Returns:
H1 header marker

Definition at line 257 of file MatacqRawEvent.h.

References daqHeader, h1Marker32, and read32().

int MatacqRawEvent::getLaserPower ( ) const [inline]

Laser power in percents (set with the linear attenuator).

Definition at line 357 of file MatacqRawEvent.h.

References laserPower.

Referenced by MatacqDataFormatter::interpretRawData().

{ return laserPower; }
int MatacqRawEvent::getMatacqDataFormatVersion ( ) const [inline]

Gets the matcq data format version

Returns:
data version

Definition at line 263 of file MatacqRawEvent.h.

References matacqDataFormatVersion.

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

static unsigned MatacqRawEvent::getOrbitId ( unsigned char *  data,
size_t  size 
) [inline, static]

Gets the orbit id from the header of a matacq event. Data format of the event must be >=3.

Parameters:
databuffer. Needs to contains at least the 8 first 32-bit words of the event.
buffersize
Returns:
event length, 0xFFFFFFFF if failed to retrieve dcc length

Definition at line 221 of file MatacqRawEvent.h.

References MatacqRawEvent::field32spec_t::offset, orbitId32, and read32().

Referenced by MatacqProducer::addMatacqData(), and MatacqDataFormatter::interpretRawData().

                                                               {
     if(size<(unsigned)(orbitId32.offset+1)*8) return (unsigned)-1;
     return read32((uint32le_t*) data, orbitId32);
   }
uint32_t MatacqRawEvent::getOrbitId ( ) const [inline]

Gets the LHC orbit ID of the event Available only for Matacq data format version >=3 and for P5 data.

Returns:
the LHC orbit ID

Definition at line 320 of file MatacqRawEvent.h.

References orbitId.

{ return orbitId; }
int MatacqRawEvent::getParsedLen ( ) [inline]

Gets the data length in number of 64-bit words computed by the data parser.

Returns:
event length

Definition at line 294 of file MatacqRawEvent.h.

References parsedLen.

Referenced by MatacqProducer::addMatacqData().

{  return parsedLen; }
int MatacqRawEvent::getPostTrig ( ) const [inline]

Posttrig value (see Matacq documentation). Available only for Matacq data format version >=3.

Definition at line 331 of file MatacqRawEvent.h.

References postTrig.

Referenced by MatacqDataFormatter::interpretRawData().

{ return postTrig; }
static unsigned MatacqRawEvent::getRunNum ( unsigned char *  data,
size_t  size 
) [inline, static]

Gets the run number from the header of a matacq event.

Parameters:
databuffer. Needs to contains at least the 4 first 32-bit words of the event.
buffersize
Returns:
event length, 0xFFFFFFFF if failed to retrieve dcc length

Definition at line 232 of file MatacqRawEvent.h.

References MatacqRawEvent::field32spec_t::offset, read32(), and runNum32.

Referenced by MatacqTBDataFormatter::printData().

                                                              {
     if(size<(unsigned)(runNum32.offset+1)*8) return (unsigned)-1;
     return read32((uint32le_t*) data, runNum32);
   }
unsigned MatacqRawEvent::getRunNum ( ) const [inline]

Gets the run number field contents.

Returns:
run number

Definition at line 252 of file MatacqRawEvent.h.

References daqHeader, read32(), and runNum32.

Referenced by MatacqProducer::getMatacqEvent().

{ return read32(daqHeader, runNum32);}
int32_t MatacqRawEvent::getStatus ( void  ) const [inline]

Gets the raw data status. Bitwise OR of the error flags defined by matcqError_t

Returns:
status

Definition at line 269 of file MatacqRawEvent.h.

References error.

Referenced by MatacqTBDataFormatter::printData().

{ return error;}
time_t MatacqRawEvent::getTimeStamp ( ) const [inline]

Gets the matacq data timestamp field contents:

Returns:
acquisition date of the data expressed in number of "elapsed" second since the EPOCH as defined in POSIX.1. See time() standard c function.

Definition at line 301 of file MatacqRawEvent.h.

References timeStamp.

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

{ return /*matacqHeader->*/timeStamp.tv_sec; }
void MatacqRawEvent::getTimeStamp ( struct timeval &  t) const [inline]

Gets the matacq data timestamp with fine granularity (89.1us)

Returns:
acquisition date of the data expressed in number of "elapsed" second and microseconds since the EPOCH as defined in POSIX.1. See time() standard c function and gettimeofday UNIX function.

Definition at line 308 of file MatacqRawEvent.h.

References timeStamp.

{ t = timeStamp; }
int MatacqRawEvent::getTriggerType ( void  ) const [inline]

Gets the trigger type field contents.

Returns:
trigger type

Definition at line 191 of file MatacqRawEvent.h.

References daqHeader, read32(), and triggerType32.

Referenced by MatacqDataFormatter::interpretRawData(), and MatacqTBDataFormatter::printData().

int MatacqRawEvent::getTrigRec ( ) const [inline]

Gets the Trig Rec value (see Matacq documentation) Available only for Matacq data format version >=3.

Returns:
the Trig Rec value

Definition at line 326 of file MatacqRawEvent.h.

References trigRec.

Referenced by MatacqDataFormatter::interpretRawData().

{ return trigRec; }
int MatacqRawEvent::getTTrigPs ( ) const [inline]

Gets the Matacq trigger time.

Returns:
(t_trig-t_0) in ps, with t_0 the time of the first sample and t_trig the trigger time.

Definition at line 314 of file MatacqRawEvent.h.

References tTrigPs.

Referenced by MatacqDataFormatter::interpretRawData().

{ return tTrigPs; }
std::vector<int> MatacqRawEvent::getVernier ( ) const [inline]

Vernier values (see Matacq documentation) Available only for Matacq data format version >=3.

Definition at line 336 of file MatacqRawEvent.h.

References vernier.

Referenced by MatacqDataFormatter::interpretRawData().

{ return vernier; }
int MatacqRawEvent::read32 ( uint32le_t pData,
field32spec_t  spec,
bool  ovfTrans = false 
) [static, private]

Help function to decode header content.

Parameters:
datapointer
specspecification of the data field to read
ovfTransswitch of overflow translation. If true the MSB of the data field is interpreted as an overflow bit. If it is set, then -1 is returned.
Returns:
content of data field specified by 'spec'

Definition at line 204 of file MatacqRawEvent.cc.

References MatacqRawEvent::field32spec_t::mask, MatacqRawEvent::field32spec_t::offset, and query::result.

Referenced by getBoe(), getBxId(), getDccErrors(), getDccLen(), getEventId(), getFedId(), getFov(), getH1Marker(), getOrbitId(), getRunNum(), and getTriggerType().

                                         {
  uint32_t result =  pData[spec32.offset] & spec32.mask;
  uint32_t mask = spec32.mask;
  while((mask&0x1) == 0){
      mask >>= 1;
      result >>= 1;
  }
  if(ovfTrans){
    //overflow bit (MSB) mask:
    mask = ((mask >>1) + 1);
    if(result & mask)  result = (uint32_t)-1;
  }
  return result;
}
void MatacqRawEvent::setRawData ( const unsigned char *  buffer,
size_t  bufferSize 
) [private]

Help function to get the maximum value of a data field

Parameters:
spec32data field specification
Returns:
maximum value Changes the raw data pointer and updates accordingly this object.
Parameters:
buffernew pointer to the data buffer. Must be aligned at least on 32-bit words.
sizeof the data buffer.
Exceptions:
std::exceptionif the data cannot be decoded due to data corruption or truncation.

Definition at line 82 of file MatacqRawEvent.cc.

References begin, error, max(), throwExcept(), and stor::utils::timeStamp().

Referenced by MatacqRawEvent().

                                                                         {
  error = 0;
  unsigned char* begin = (unsigned char*) pData;
  int16le_t* begin16 = (int16le_t*) pData;
  uint32le_t* begin32 = (uint32le_t*) pData;
  int16le_t* pData16 = begin16;
  const int daqHeaderLen = 16; //in bytes
  if(maxSize < 6*4){
    error = errorLength;
    return;
  }
  pData16 += daqHeaderLen/sizeof(pData16[0]);
  //  matacqHeader = (matacqHeader_t*) pData16;
  daqHeader = begin32;
  matacqDataFormatVersion = read32(begin32, formatVersion32);
  freqGHz                 = read32(begin32, freqGHz32);
  channelCount            = read32(begin32, channelCount32);
  timeStamp.tv_sec        = read32(begin32, timeStamp32);
  int headerLen = 24; //in bytes
  if(matacqDataFormatVersion>=2){
    tTrigPs       = read32(begin32, tTrigPs32);
    headerLen += 4;
  } else{
    tTrigPs = numeric_limits<int>::max();
  }

  if(matacqDataFormatVersion>=3){
    orbitId           = read32(begin32, orbitId32);
    vernier[0]        = read32(begin32, vernier0_32);
    vernier[1]        = read32(begin32, vernier1_32);
    vernier[2]        = read32(begin32, vernier2_32);
    vernier[3]        = read32(begin32, vernier3_32);
    timeStamp.tv_usec = read32(begin32, timeStampMicroSec32);
    trigRec           = read32(begin32, trigRec32, true);
    postTrig          = read32(begin32, postTrig32);
    delayA            = read32(begin32, delayA32, true);
    emtcDelay         = read32(begin32, emtcDelay32, true);
    emtcPhase         = read32(begin32, emtcPhase32, true);
    attenuation_dB    = read32(begin32, attenuation_dB32, true);
    laserPower        = read32(begin32, laserPower32, true);
    headerLen = 64;
  } else{
    orbitId = 0;
    vernier[0] = -1;
    vernier[1] = -1;
    vernier[2] = -1;
    vernier[3] = -1;
    trigRec = -1;
    postTrig = -1;
    delayA = -1;
    emtcDelay = -1;
    emtcPhase = -1;
    attenuation_dB = -1;
    laserPower = -1;
  }
    
  const int nCh = getChannelCount();
  channelData.resize(nCh);

  pData16 = (int16le_t*) (begin+headerLen); 

  for(int iCh=0; iCh<nCh; ++iCh){
    if((size_t)(pData16-begin16)>maxSize){
      throwExcept(string("Corrupted or truncated data"));
    }
    //channel id:
    channelData[iCh].chId = *(pData16++);
    //number of time samples for this channel:
    channelData[iCh].nSamples = *(pData16++);
    //pointer to time sample data of this channel:
    channelData[iCh].samples = pData16;
    //moves to next channel data block:
    if(channelData[iCh].nSamples<0){
      throwExcept(string("Corrupted or truncated data"));
    }
    pData16 += channelData[iCh].nSamples;
  }
  
  //data trailer chekes:
  //FED header is aligned on 64-bit=>padding to skip
  int padding = (4-(pData16-begin16))%4;
  if(padding<0) padding+=4;
  pData16 += padding;
  if((size_t)(pData16-begin16)>maxSize){
    throwExcept(string("Corrupted or truncated data"));
  }
  uint32le_t* trailer32 = (uint32le_t*)(pData16);
  fragLen = trailer32[1]&0xFFFFFF;
  
  //cout << "Event fragment length including headers: " << fragLen
  //     << " 64-bit words\n";
  
  //FIXME: I am expecting the event length specifies in the header to
  //include the header, while it is not the case in current TB 2006 data
  const int nHeaders = 3;
  if(fragLen!=read32(begin32,dccLen32)+nHeaders
     && fragLen != read32(begin32,dccLen32)){
    //cout << "Error: fragment length is not consistent with DCC "
    //  "length\n";
    error |= errorLengthConsistency;
  }
  
  //skip trailers
  const int trailerLen = 4;
  pData16 += trailerLen;
  
  parsedLen = (pData16-begin16) / 4;

  if((pData16-begin16)!=(4*fragLen)){
    error |= errorLength;
  }

  if((size_t)(pData16-begin16)>maxSize){
    throwExcept(string("Corrupted or truncated data"));
  }

  //some checks
  if(getBoe()!=0x5){
    error |= errorWrongBoe;
  }
}

Member Data Documentation

Logarithmic attenuator setting in -10dB unit. Between 0 and 5*(-10dB), 0xF if unknown.

Definition at line 506 of file MatacqRawEvent.h.

Referenced by getAttenuation_dB().

const MatacqRawEvent::field32spec_t MatacqRawEvent::attenuation_dB32 = {12,0x00000F00} [static, private]

Definition at line 138 of file MatacqRawEvent.h.

int MatacqRawEvent::boe [private]

Begin Of Event marker

Definition at line 389 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::boeType32 = {1, 0xF0000000} [static, private]

Definition at line 113 of file MatacqRawEvent.h.

Referenced by getBoe().

int MatacqRawEvent::bxId [private]

Bunch crossing Id

Definition at line 393 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::bxId32 = {0, 0xFFF00000} [static, private]

Definition at line 110 of file MatacqRawEvent.h.

Referenced by getBxId().

Number of matacq channels in the data.

Definition at line 397 of file MatacqRawEvent.h.

Referenced by getChannelCount().

const MatacqRawEvent::field32spec_t MatacqRawEvent::channelCount32 = {4, 0xFF000000} [static, private]

Definition at line 125 of file MatacqRawEvent.h.

std::vector<ChannelData> MatacqRawEvent::channelData [private]

Channel samples

Definition at line 401 of file MatacqRawEvent.h.

Referenced by getChannelData().

const MatacqRawEvent::field32spec_t MatacqRawEvent::color32 = {13,0x00600000} [static, private]

Definition at line 143 of file MatacqRawEvent.h.

Pointer to the standard CMS DAQ header

Definition at line 405 of file MatacqRawEvent.h.

Referenced by getBoe(), getBxId(), getDccErrors(), getDccLen(), getEventId(), getFedId(), getFov(), getH1Marker(), getRunNum(), and getTriggerType().

DCC error field content.

Definition at line 409 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::dccErrors32 = {2, 0xFF000000} [static, private]

Definition at line 115 of file MatacqRawEvent.h.

Referenced by getDccErrors().

const MatacqRawEvent::field32spec_t MatacqRawEvent::dccId32 = {13,0x003F0000} [static, private]

Definition at line 142 of file MatacqRawEvent.h.

unsigned MatacqRawEvent::dccLen [private]

Event length specified in 'DCC' header

Definition at line 413 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::dccLen32 = {2, 0x00FFFFFF} [static, private]

Definition at line 114 of file MatacqRawEvent.h.

Referenced by getDccLen().

int MatacqRawEvent::delayA [private]

"Delay A" setting of laser delay box in ns.

Definition at line 493 of file MatacqRawEvent.h.

Referenced by getDelayA().

const MatacqRawEvent::field32spec_t MatacqRawEvent::delayA32 = {13,0x0000FFFF} [static, private]

Definition at line 141 of file MatacqRawEvent.h.

WTE-to-Laser delay of EMTC in LHC clock unit.

Definition at line 497 of file MatacqRawEvent.h.

Referenced by getEmtcDelay().

const MatacqRawEvent::field32spec_t MatacqRawEvent::emtcDelay32 = {12,0xFFFF0000} [static, private]

Definition at line 140 of file MatacqRawEvent.h.

EMTC laser phase in 1/8th LHC clock unit.

Definition at line 501 of file MatacqRawEvent.h.

Referenced by getEmtcPhase().

const MatacqRawEvent::field32spec_t MatacqRawEvent::emtcPhase32 = {12,0x0000F000} [static, private]

Definition at line 139 of file MatacqRawEvent.h.

int32_t MatacqRawEvent::error [private]

Error code or 0 if no error.

Definition at line 421 of file MatacqRawEvent.h.

Referenced by getStatus().

unsigned MatacqRawEvent::eventId [private]

Event id. Actually LV1 ID.

Definition at line 417 of file MatacqRawEvent.h.

int MatacqRawEvent::fedId [private]

FED ID

Definition at line 425 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::fedId32 = {0, 0x000FFF00} [static, private]

Definition at line 109 of file MatacqRawEvent.h.

Referenced by getFedId().

const MatacqRawEvent::field32spec_t MatacqRawEvent::formatVersion32 = {4, 0x0000FFFF} [static, private]

Matacq header field specifications.

Definition at line 123 of file MatacqRawEvent.h.

int MatacqRawEvent::fov [private]

FED data format version

Definition at line 429 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::fov32 = {0, 0x000000F0} [static, private]

DAQ header field specifications.

Definition at line 108 of file MatacqRawEvent.h.

Referenced by getFov().

int MatacqRawEvent::fragLen [private]

event fragment length as read in the std DAQ trailer. In 64-bit words

Definition at line 433 of file MatacqRawEvent.h.

Referenced by getDaqLen().

int MatacqRawEvent::freqGHz [private]

MATACQ sampling frequency in GHz

Definition at line 437 of file MatacqRawEvent.h.

Referenced by getFreqGHz().

const MatacqRawEvent::field32spec_t MatacqRawEvent::freqGHz32 = {4, 0x00FF0000} [static, private]

Definition at line 124 of file MatacqRawEvent.h.

int MatacqRawEvent::h1Marker [private]

header marker

Definition at line 441 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::h1Marker32 = {3, 0x3F000000} [static, private]

Definition at line 117 of file MatacqRawEvent.h.

Referenced by getH1Marker().

Laser power in percents (set with the linear attenuator).

Definition at line 510 of file MatacqRawEvent.h.

Referenced by getLaserPower().

const MatacqRawEvent::field32spec_t MatacqRawEvent::laserPower32 = {12,0x000000FF} [static, private]

Definition at line 137 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::lv132 = {1, 0x00FFFFFF} [static, private]

Definition at line 111 of file MatacqRawEvent.h.

Referenced by getEventId().

Matacq header: MATACQ data format internal version

Definition at line 449 of file MatacqRawEvent.h.

Referenced by getMatacqDataFormatVersion().

uint32_t MatacqRawEvent::orbitId [private]

Definition at line 477 of file MatacqRawEvent.h.

Referenced by getOrbitId().

const MatacqRawEvent::field32spec_t MatacqRawEvent::orbitId32 = {7, 0xFFFFFFFF} [static, private]

Definition at line 128 of file MatacqRawEvent.h.

Referenced by getOrbitId().

event lenght computed by the raw data parser

Definition at line 453 of file MatacqRawEvent.h.

Referenced by getParsedLen().

int MatacqRawEvent::postTrig [private]

Posttrig value (see Matacq documentation)

Definition at line 485 of file MatacqRawEvent.h.

Referenced by getPostTrig().

const MatacqRawEvent::field32spec_t MatacqRawEvent::postTrig32 = {11,0x0000FFFF} [static, private]

Definition at line 130 of file MatacqRawEvent.h.

Pointer to MATACQ samples block

Definition at line 457 of file MatacqRawEvent.h.

unsigned MatacqRawEvent::runNum [private]

Run number

Definition at line 461 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::runNum32 = {3, 0x00FFFFFF} [static, private]

Definition at line 116 of file MatacqRawEvent.h.

Referenced by getRunNum().

const MatacqRawEvent::field32spec_t MatacqRawEvent::side32 = {13,0x08000000} [static, private]

Definition at line 145 of file MatacqRawEvent.h.

struct timeval MatacqRawEvent::timeStamp [private]

Matacq acquisition time stamp

Definition at line 465 of file MatacqRawEvent.h.

Referenced by getTimeStamp().

const MatacqRawEvent::field32spec_t MatacqRawEvent::timeStamp32 = {5, 0xFFFFFFFF} [static, private]

Definition at line 126 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::timeStampMicroSec32 = {10,0xFFFFFFFF} [static, private]

Definition at line 135 of file MatacqRawEvent.h.

Trigger type

Definition at line 473 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::triggerType32 = {1, 0x0F000000} [static, private]

Definition at line 112 of file MatacqRawEvent.h.

Referenced by getTriggerType().

int MatacqRawEvent::trigRec [private]

Trig Rec value (see Matacq documentation)

Definition at line 481 of file MatacqRawEvent.h.

Referenced by getTrigRec().

const MatacqRawEvent::field32spec_t MatacqRawEvent::trigRec32 = {11,0xFF000000} [static, private]

Definition at line 129 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::trigType32 = {13,0x07000000} [static, private]

Definition at line 144 of file MatacqRawEvent.h.

int MatacqRawEvent::tTrigPs [private]

MATACQ trigger time position in ps

Definition at line 469 of file MatacqRawEvent.h.

Referenced by getTTrigPs().

const MatacqRawEvent::field32spec_t MatacqRawEvent::tTrigPs32 = {6, 0xFFFFFFFF} [static, private]

Definition at line 127 of file MatacqRawEvent.h.

std::vector<int> MatacqRawEvent::vernier [private]

Vernier values (see Matacq documentation)

Definition at line 489 of file MatacqRawEvent.h.

Referenced by getVernier().

const MatacqRawEvent::field32spec_t MatacqRawEvent::vernier0_32 = {8, 0x0000FFFF} [static, private]

Definition at line 131 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::vernier1_32 = {8, 0xFFFF0000} [static, private]

Definition at line 132 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::vernier2_32 = {9, 0x0000FFFF} [static, private]

Definition at line 133 of file MatacqRawEvent.h.

const MatacqRawEvent::field32spec_t MatacqRawEvent::vernier3_32 = {9, 0xFFFF0000} [static, private]

Definition at line 134 of file MatacqRawEvent.h.