CMS 3D CMS Logo

Public Member Functions | Private Attributes | Static Private Attributes

L1GtfeWord Class Reference

#include <L1GtfeWord.h>

Inheritance diagram for L1GtfeWord:
L1GtfeExtWord

List of all members.

Public Member Functions

const boost::uint16_t activeBoards () const
 get/set boards contributing to EVM respectively DAQ record
const boost::uint16_t altNrBxBoard () const
 get/set alternative for number of BX per board
const boost::uint16_t boardId () const
 get/set board ID
const int bstFlag () const
 get / set BST flag: 0 or 1 - via setup version (no private member)
const boost::uint16_t bxNr () const
 get/set bunch cross number as counted in the GTFE board
const unsigned int getSize () const
 get the size of the GTFE block in GT DAQ record (in multiple of 8 bits)
 L1GtfeWord (boost::uint16_t boardIdValue, boost::uint16_t recordLength1Value, boost::uint16_t recordLengthValue, boost::uint16_t bxNrValue, boost::uint32_t setupVersionValue, boost::uint16_t activeBoardsValue, boost::uint16_t altNrBxBoardValue, boost::uint32_t totalTriggerNrValue)
 constructor from unpacked values;
 L1GtfeWord ()
 constructors
bool operator!= (const L1GtfeWord &) const
 unequal operator
bool operator== (const L1GtfeWord &) const
 equal operator
virtual void print (std::ostream &myCout) const
 pretty print the content of a L1GtfeWord
const boost::uint16_t recordLength () const
 get/set record length for alternative 0
const boost::uint16_t recordLength1 () const
 get/set record length for alternative 1
virtual void reset ()
 reset the content of a L1GtfeWord
void setActiveBoards (boost::uint16_t activeBoardsValue)
void setActiveBoards (const boost::uint64_t &word64)
void setActiveBoardsWord64 (boost::uint64_t &word64, int iWord, boost::int16_t activeBoardsValue)
void setActiveBoardsWord64 (boost::uint64_t &word64, int iWord)
void setAltNrBxBoard (boost::uint16_t altNrBxBoardValue)
void setAltNrBxBoard (const boost::uint64_t &word64)
void setAltNrBxBoardWord64 (boost::uint64_t &word64, int iWord)
void setAltNrBxBoardWord64 (boost::uint64_t &word64, int iWord, boost::int16_t altNrBxBoardValue)
void setBoardId (const boost::uint64_t &word64)
 set the BoardId value from a 64-bits word
void setBoardId (boost::uint16_t boardIdValue)
 set BoardId from a BoardId value
void setBoardIdWord64 (boost::uint64_t &word64, int iWord)
void setBstFlag (const int)
void setBxNr (boost::uint16_t bxNrValue)
void setBxNr (const boost::uint64_t &word64)
void setBxNrWord64 (boost::uint64_t &word64, int iWord)
void setRecordLength (boost::uint16_t recordLengthValue)
void setRecordLength (const boost::uint64_t &word64)
void setRecordLength1 (boost::uint16_t recordLengthValue)
void setRecordLength1 (const boost::uint64_t &word64)
void setRecordLength1Word64 (boost::uint64_t &word64, int iWord)
void setRecordLengthWord64 (boost::uint64_t &word64, int iWord)
void setSetupVersion (const boost::uint64_t &word64)
void setSetupVersion (boost::uint32_t setupVersionValue)
void setSetupVersionWord64 (boost::uint64_t &word64, int iWord)
void setTotalTriggerNr (const boost::uint64_t &word64)
void setTotalTriggerNr (boost::uint32_t totalTriggerNrValue)
void setTotalTriggerNrWord64 (boost::uint64_t &word64, int iWord)
const boost::uint32_t setupVersion () const
 get/set setup version
const boost::uint32_t totalTriggerNr () const
 get/set total number of L1A sent since start of run
virtual void unpack (const unsigned char *gtfePtr)
virtual ~L1GtfeWord ()
 destructor

Private Attributes

boost::uint16_t m_activeBoards
 active boards contributing to EVM respectively DAQ record
boost::uint16_t m_altNrBxBoard
boost::uint16_t m_boardId
 board identifier
boost::uint16_t m_bxNr
 bunch cross number as counted in the GTFE board
boost::uint16_t m_recordLength
 record length for alternative 0
boost::uint16_t m_recordLength1
 record length for alternative 1
boost::uint32_t m_setupVersion
boost::uint32_t m_totalTriggerNr
 total number of L1A sent since start of run

Static Private Attributes

static const boost::uint64_t ActiveBoardsMask = 0xFFFF000000000000ULL
static const int ActiveBoardsShift = 48
static const int ActiveBoardsWord = 1
static const boost::uint64_t AltNrBxBoardMask = 0x0000FFFF00000000ULL
static const int AltNrBxBoardShift = 32
static const int AltNrBxBoardWord = 1
static const int BlockSize = 2
static const boost::uint64_t BoardIdMask = 0xFF00000000000000ULL
static const int BoardIdShift = 56
static const int BoardIdWord = 0
static const boost::uint32_t BstFlagMask = 0x0001
static const boost::uint64_t BxNrMask = 0x00000FFF00000000ULL
static const int BxNrShift = 32
static const int BxNrWord = 0
static const boost::uint64_t RecordLength1Mask = 0x00F0000000000000ULL
static const int RecordLength1Shift = 52
static const int RecordLength1Word = 0
static const boost::uint64_t RecordLengthMask = 0x000F000000000000ULL
static const int RecordLengthShift = 48
static const int RecordLengthWord = 0
static const boost::uint64_t SetupVersionMask = 0x00000000FFFFFFFFULL
static const int SetupVersionShift = 0
static const int SetupVersionWord = 0
static const boost::uint64_t TotalTriggerNrMask = 0x00000000FFFFFFFFULL
static const int TotalTriggerNrShift = 0
static const int TotalTriggerNrWord = 1

Detailed Description

Description: L1 Global Trigger - GTFE words in the readout record.

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 32 of file L1GtfeWord.h.


Constructor & Destructor Documentation

L1GtfeWord::L1GtfeWord ( )

constructors

Definition at line 31 of file L1GtfeWord.cc.

L1GtfeWord::L1GtfeWord ( boost::uint16_t  boardIdValue,
boost::uint16_t  recordLength1Value,
boost::uint16_t  recordLengthValue,
boost::uint16_t  bxNrValue,
boost::uint32_t  setupVersionValue,
boost::uint16_t  activeBoardsValue,
boost::uint16_t  altNrBxBoardValue,
boost::uint32_t  totalTriggerNrValue 
)

constructor from unpacked values;

Definition at line 40 of file L1GtfeWord.cc.

                                                                            :
    m_boardId(boardIdValue), m_recordLength1(recordLength1Value),
            m_recordLength(recordLengthValue), m_bxNr(bxNrValue),
            m_setupVersion(setupVersionValue), m_activeBoards(activeBoardsValue), m_altNrBxBoard(
                    altNrBxBoardValue), m_totalTriggerNr(totalTriggerNrValue)

{

    // empty
}
L1GtfeWord::~L1GtfeWord ( ) [virtual]

destructor

Definition at line 56 of file L1GtfeWord.cc.

{

    // empty now

}

Member Function Documentation

const boost::uint16_t L1GtfeWord::activeBoards ( ) const [inline]
const boost::uint16_t L1GtfeWord::altNrBxBoard ( ) const [inline]

get/set alternative for number of BX per board

Definition at line 189 of file L1GtfeWord.h.

References m_altNrBxBoard.

Referenced by L1GtHwValidation::compareGTFE(), L1GTEvmDigiToRaw::produce(), L1GlobalTriggerEvmRawToDigi::produce(), L1GTDigiToRaw::produce(), and L1GlobalTriggerRawToDigi::produce().

    {
        return m_altNrBxBoard;
    }
const boost::uint16_t L1GtfeWord::boardId ( ) const [inline]

get/set board ID

get BoardId value

Definition at line 67 of file L1GtfeWord.h.

References m_boardId.

Referenced by L1GtHwValidation::compareGTFE(), and L1GtDataEmulAnalyzer::compareGTFE().

    {
        return m_boardId;
    }
const int L1GtfeWord::bstFlag ( ) const

get / set BST flag: 0 or 1 - via setup version (no private member)

Definition at line 208 of file L1GtfeWord.cc.

References BstFlagMask, and m_setupVersion.

                                    {

    int bstFlagValue = 0;
    bstFlagValue = static_cast<int> (m_setupVersion & BstFlagMask);

    return bstFlagValue;

}
const boost::uint16_t L1GtfeWord::bxNr ( ) const [inline]

get/set bunch cross number as counted in the GTFE board

Definition at line 124 of file L1GtfeWord.h.

References m_bxNr.

Referenced by L1TGT::analyze(), L1Scalers::analyze(), L1GtHwValidation::compareGTFE(), and L1GtDataEmulAnalyzer::compareGTFE().

    {
        return m_bxNr;
    }
const unsigned int L1GtfeWord::getSize ( ) const [inline]

get the size of the GTFE block in GT DAQ record (in multiple of 8 bits)

Reimplemented in L1GtfeExtWord.

Definition at line 231 of file L1GtfeWord.h.

References BlockSize, and L1GlobalTriggerReadoutSetup::UnitLength.

Referenced by L1GtfeExtWord::getSize(), L1GTDigiToRaw::packGTFE(), L1GTDigiToRaw::produce(), L1GlobalTriggerRawToDigi::produce(), and L1GtfeExtWord::unpack().

    {
        int unitLengthBits = L1GlobalTriggerReadoutSetup::UnitLength;

        return BlockSize*unitLengthBits;
    }
bool L1GtfeWord::operator!= ( const L1GtfeWord result) const

unequal operator

Definition at line 105 of file L1GtfeWord.cc.

{

    return !( result == *this);

}
bool L1GtfeWord::operator== ( const L1GtfeWord result) const

equal operator

Definition at line 64 of file L1GtfeWord.cc.

References m_activeBoards, m_altNrBxBoard, m_boardId, m_bxNr, m_recordLength, m_recordLength1, m_setupVersion, and m_totalTriggerNr.

{

    if(m_boardId != result.m_boardId) {
        return false;
    }

    if(m_recordLength1 != result.m_recordLength1) {
        return false;
    }

    if(m_recordLength != result.m_recordLength) {
        return false;
    }

    if(m_bxNr != result.m_bxNr) {
        return false;
    }

    if(m_setupVersion != result.m_setupVersion) {
        return false;
    }

    if(m_activeBoards != result.m_activeBoards) {
        return false;
    }

    if(m_altNrBxBoard != result.m_altNrBxBoard) {
        return false;
    }

    if(m_totalTriggerNr != result.m_totalTriggerNr) {
        return false;
    }

    // all members identical
    return true;

}
void L1GtfeWord::print ( std::ostream &  myCout) const [virtual]

pretty print the content of a L1GtfeWord

Reimplemented in L1GtfeExtWord.

Definition at line 323 of file L1GtfeWord.cc.

References m_activeBoards, m_altNrBxBoard, m_boardId, m_bxNr, m_recordLength, m_recordLength1, m_setupVersion, and m_totalTriggerNr.

Referenced by L1GtPackUnpackAnalyzer::analyzeGT(), L1GtHwValidation::compareGTFE(), L1GtDataEmulAnalyzer::compareGTFE(), L1GlobalTriggerReadoutRecord::print(), L1GTDigiToRaw::produce(), and L1GlobalTriggerRawToDigi::produce().

{

    myCout << "\n L1GtfeWord::print \n" << std::endl;

    myCout << "  BoardId:              "
    << std::hex << " hex: " << "      " << std::setw(2) << std::setfill('0') << m_boardId
    << std::setfill(' ')
    << std::dec << " dec: " << m_boardId
    << std::endl;

    myCout << "  BX for alternative 1: "
    << std::hex << " hex: " << "       " << std::setw(1) <<  m_recordLength1
    << std::dec << " dec: " <<  m_recordLength1
    << std::endl;

    myCout << "  BX for alternative 0: "
    << std::hex << " hex: " << "       " << std::setw(1) <<  m_recordLength
    << std::dec << " dec: " <<  m_recordLength
    << std::endl;

    myCout << "  BxNr:                 "
    << std::hex << " hex: "  << "     " << std::setw(3) << std::setfill('0') << m_bxNr
    << std::setfill(' ')
    << std::dec << " dec: " << m_bxNr
    << std::endl;

    myCout << "  SetupVersion:         "
    << std::hex << " hex: " << std::setw(8) << std::setfill('0') << m_setupVersion
    << std::setfill(' ')
    << std::dec << " dec: " << m_setupVersion
    << std::endl;

    //

    myCout << "  ActiveBoards:         "
    << std::hex << " hex: " << "    " << std::setw(4) << std::setfill('0') << m_activeBoards
    << std::setfill(' ')
    << std::dec << " dec: " << m_activeBoards
    << std::endl;

    myCout << "  AltNrBxBoard:         "
    << std::hex << " hex: " << "    " << std::setw(4) << std::setfill('0') << m_altNrBxBoard
    << std::setfill(' ')
    << std::dec << " dec: " << m_altNrBxBoard
    << std::endl;

    myCout << "  TotalTriggerNr:       "
    << std::hex << " hex: " << std::setw(8) << std::setfill('0') << m_totalTriggerNr
    << std::setfill(' ')
    << std::dec << " dec: " << m_totalTriggerNr
    << std::endl;


}
const boost::uint16_t L1GtfeWord::recordLength ( ) const [inline]
const boost::uint16_t L1GtfeWord::recordLength1 ( ) const [inline]
void L1GtfeWord::reset ( void  ) [virtual]
void L1GtfeWord::setActiveBoards ( boost::uint16_t  activeBoardsValue) [inline]
void L1GtfeWord::setActiveBoards ( const boost::uint64_t &  word64)

Definition at line 226 of file L1GtfeWord.cc.

References ActiveBoardsMask, ActiveBoardsShift, and m_activeBoards.

void L1GtfeWord::setActiveBoardsWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the ActiveBoards value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 233 of file L1GtfeWord.cc.

References ActiveBoardsShift, ActiveBoardsWord, and m_activeBoards.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == ActiveBoardsWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (m_activeBoards) << ActiveBoardsShift);
    }

}
void L1GtfeWord::setActiveBoardsWord64 ( boost::uint64_t &  word64,
int  iWord,
boost::int16_t  activeBoardsValue 
)

set the ActiveBoards value in a 64-bits word, having the index iWord in the GTFE raw record from the value activeBoardsValue

Definition at line 245 of file L1GtfeWord.cc.

References ActiveBoardsShift, and ActiveBoardsWord.

{
    if (iWord == ActiveBoardsWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (activeBoardsValue) << ActiveBoardsShift);
    }

}
void L1GtfeWord::setAltNrBxBoard ( const boost::uint64_t &  word64)

Definition at line 258 of file L1GtfeWord.cc.

References AltNrBxBoardMask, AltNrBxBoardShift, and m_altNrBxBoard.

void L1GtfeWord::setAltNrBxBoard ( boost::uint16_t  altNrBxBoardValue) [inline]

Definition at line 194 of file L1GtfeWord.h.

References m_altNrBxBoard.

Referenced by L1GlobalTrigger::produce(), and unpack().

    {
        m_altNrBxBoard = altNrBxBoardValue;
    }
void L1GtfeWord::setAltNrBxBoardWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the AltNrBxBoard value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 265 of file L1GtfeWord.cc.

References AltNrBxBoardShift, AltNrBxBoardWord, and m_altNrBxBoard.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == AltNrBxBoardWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (m_altNrBxBoard) << AltNrBxBoardShift);
    }

}
void L1GtfeWord::setAltNrBxBoardWord64 ( boost::uint64_t &  word64,
int  iWord,
boost::int16_t  altNrBxBoardValue 
)

set the AltNrBxBoard value in a 64-bits word, having the index iWord in the GTFE raw record from the value altNrBxBoardValue

Definition at line 277 of file L1GtfeWord.cc.

References AltNrBxBoardShift, and AltNrBxBoardWord.

{
    if (iWord == AltNrBxBoardWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (altNrBxBoardValue) << AltNrBxBoardShift);
    }

}
void L1GtfeWord::setBoardId ( boost::uint16_t  boardIdValue) [inline]

set BoardId from a BoardId value

Definition at line 73 of file L1GtfeWord.h.

References m_boardId.

Referenced by L1GlobalTrigger::produce(), and unpack().

    {
        m_boardId = boardIdValue;
    }
void L1GtfeWord::setBoardId ( const boost::uint64_t &  word64)

set the BoardId value from a 64-bits word

Definition at line 115 of file L1GtfeWord.cc.

References BoardIdMask, BoardIdShift, and m_boardId.

{
    m_boardId = (word64 & BoardIdMask) >> BoardIdShift;
}
void L1GtfeWord::setBoardIdWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the BoardId value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 122 of file L1GtfeWord.cc.

References BoardIdShift, BoardIdWord, and m_boardId.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == BoardIdWord) {
        word64 = word64 | (static_cast<boost::uint64_t> (m_boardId) << BoardIdShift);
    }

}
void L1GtfeWord::setBstFlag ( const int  bstFlagValue)

Definition at line 217 of file L1GtfeWord.cc.

References BstFlagMask, and m_setupVersion.

                                                  {

    m_setupVersion = m_setupVersion | ( static_cast<boost::uint32_t> (bstFlagValue) & BstFlagMask );

}
void L1GtfeWord::setBxNr ( const boost::uint64_t &  word64)

Definition at line 171 of file L1GtfeWord.cc.

References BxNrMask, BxNrShift, and m_bxNr.

{
    m_bxNr = (word64 & BxNrMask) >> BxNrShift;
}
void L1GtfeWord::setBxNr ( boost::uint16_t  bxNrValue) [inline]

Definition at line 129 of file L1GtfeWord.h.

References m_bxNr.

Referenced by L1GlobalTrigger::produce(), and unpack().

    {
        m_bxNr = bxNrValue;
    }
void L1GtfeWord::setBxNrWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the BxNr value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 178 of file L1GtfeWord.cc.

References BxNrShift, BxNrWord, and m_bxNr.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == BxNrWord) {
        word64 = word64 | (static_cast<boost::uint64_t> (m_bxNr) << BxNrShift);
    }

}
void L1GtfeWord::setRecordLength ( boost::uint16_t  recordLengthValue) [inline]
void L1GtfeWord::setRecordLength ( const boost::uint64_t &  word64)

Definition at line 152 of file L1GtfeWord.cc.

References m_recordLength, RecordLengthMask, and RecordLengthShift.

void L1GtfeWord::setRecordLength1 ( boost::uint16_t  recordLengthValue) [inline]
void L1GtfeWord::setRecordLength1 ( const boost::uint64_t &  word64)
void L1GtfeWord::setRecordLength1Word64 ( boost::uint64_t &  word64,
int  iWord 
)

set the RecordLength value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 140 of file L1GtfeWord.cc.

References m_recordLength1, RecordLength1Shift, and RecordLength1Word.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == RecordLength1Word) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (m_recordLength1) << RecordLength1Shift);
    }

}
void L1GtfeWord::setRecordLengthWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the RecordLength value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 159 of file L1GtfeWord.cc.

References m_recordLength, RecordLengthShift, and RecordLengthWord.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == RecordLengthWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (m_recordLength) << RecordLengthShift);
    }

}
void L1GtfeWord::setSetupVersion ( const boost::uint64_t &  word64)

Definition at line 189 of file L1GtfeWord.cc.

References m_setupVersion, SetupVersionMask, and SetupVersionShift.

void L1GtfeWord::setSetupVersion ( boost::uint32_t  setupVersionValue) [inline]

Definition at line 147 of file L1GtfeWord.h.

References m_setupVersion.

Referenced by unpack().

    {
        m_setupVersion = setupVersionValue;
    }
void L1GtfeWord::setSetupVersionWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the SetupVersion value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 196 of file L1GtfeWord.cc.

References m_setupVersion, SetupVersionShift, and SetupVersionWord.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == SetupVersionWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (m_setupVersion) << SetupVersionShift);
    }

}
void L1GtfeWord::setTotalTriggerNr ( boost::uint32_t  totalTriggerNrValue) [inline]

Definition at line 218 of file L1GtfeWord.h.

References m_totalTriggerNr.

Referenced by L1GlobalTrigger::produce(), and unpack().

    {
        m_totalTriggerNr = totalTriggerNrValue;
    }
void L1GtfeWord::setTotalTriggerNr ( const boost::uint64_t &  word64)
void L1GtfeWord::setTotalTriggerNrWord64 ( boost::uint64_t &  word64,
int  iWord 
)

set the TotalTriggerNr value in a 64-bits word, having the index iWord in the GTFE raw record

Definition at line 295 of file L1GtfeWord.cc.

References m_totalTriggerNr, TotalTriggerNrShift, and TotalTriggerNrWord.

Referenced by L1GTDigiToRaw::packGTFE(), and L1GTEvmDigiToRaw::packGTFE().

{

    if (iWord == TotalTriggerNrWord) {
        word64 = word64 |
                 (static_cast<boost::uint64_t> (m_totalTriggerNr) << TotalTriggerNrShift);
    }

}
const boost::uint32_t L1GtfeWord::setupVersion ( ) const [inline]

get/set setup version

Definition at line 142 of file L1GtfeWord.h.

References m_setupVersion.

Referenced by L1TGT::analyze(), L1GtHwValidation::compareGTFE(), and L1GtDataEmulAnalyzer::compareGTFE().

    {
        return m_setupVersion;
    }
const boost::uint32_t L1GtfeWord::totalTriggerNr ( ) const [inline]

get/set total number of L1A sent since start of run

Definition at line 213 of file L1GtfeWord.h.

References m_totalTriggerNr.

Referenced by L1GtHwValidation::compareGTFE(), and L1GtDataEmulAnalyzer::compareGTFE().

    {
        return m_totalTriggerNr;
    }
void L1GtfeWord::unpack ( const unsigned char *  gtfePtr) [virtual]

unpack GTFE gtfePtr pointer to the beginning of the GTFE block in the raw data

Reimplemented in L1GtfeExtWord.

Definition at line 382 of file L1GtfeWord.cc.

References ActiveBoardsWord, AltNrBxBoardWord, BlockSize, BoardIdWord, BxNrWord, edm::isDebugEnabled(), LogDebug, LogTrace, RecordLength1Word, RecordLengthWord, setActiveBoards(), setAltNrBxBoard(), setBoardId(), setBxNr(), setRecordLength(), setRecordLength1(), setSetupVersion(), setTotalTriggerNr(), SetupVersionWord, and TotalTriggerNrWord.

Referenced by L1GlobalTriggerRawToDigi::produce().

{
    LogDebug("L1GtfeWord")
    << "\nUnpacking GTFE block.\n"
    << std::endl;

    const boost::uint64_t* payload =
        reinterpret_cast<boost::uint64_t*>(const_cast<unsigned char*>(gtfePtr));

    setBoardId(payload[BoardIdWord]);
    setRecordLength1(payload[RecordLength1Word]);
    setRecordLength(payload[RecordLengthWord]);
    setBxNr(payload[BxNrWord]);
    setSetupVersion(payload[SetupVersionWord]);
    setActiveBoards(payload[ActiveBoardsWord]);
    setAltNrBxBoard(payload[AltNrBxBoardWord]);
    setTotalTriggerNr(payload[TotalTriggerNrWord]);


    if ( edm::isDebugEnabled() ) {

        for (int iWord = 0; iWord < BlockSize; ++iWord) {
            LogTrace("L1GtfeWord")
            << std::setw(4) << iWord << "  "
            << std::hex << std::setfill('0')
            << std::setw(16) << payload[iWord]
            << std::dec << std::setfill(' ')
            << std::endl;
        }

    }

}

Member Data Documentation

const boost::uint64_t L1GtfeWord::ActiveBoardsMask = 0xFFFF000000000000ULL [static, private]

Definition at line 283 of file L1GtfeWord.h.

Referenced by setActiveBoards().

const int L1GtfeWord::ActiveBoardsShift = 48 [static, private]

Definition at line 287 of file L1GtfeWord.h.

Referenced by setActiveBoards(), and setActiveBoardsWord64().

const int L1GtfeWord::ActiveBoardsWord = 1 [static, private]

Definition at line 279 of file L1GtfeWord.h.

Referenced by setActiveBoardsWord64(), and unpack().

const boost::uint64_t L1GtfeWord::AltNrBxBoardMask = 0x0000FFFF00000000ULL [static, private]

Definition at line 284 of file L1GtfeWord.h.

Referenced by setAltNrBxBoard().

const int L1GtfeWord::AltNrBxBoardShift = 32 [static, private]

Definition at line 288 of file L1GtfeWord.h.

Referenced by setAltNrBxBoard(), and setAltNrBxBoardWord64().

const int L1GtfeWord::AltNrBxBoardWord = 1 [static, private]

Definition at line 280 of file L1GtfeWord.h.

Referenced by setAltNrBxBoardWord64(), and unpack().

const int L1GtfeWord::BlockSize = 2 [static, private]

Definition at line 255 of file L1GtfeWord.h.

Referenced by getSize(), and unpack().

const boost::uint64_t L1GtfeWord::BoardIdMask = 0xFF00000000000000ULL [static, private]

Definition at line 263 of file L1GtfeWord.h.

Referenced by setBoardId().

const int L1GtfeWord::BoardIdShift = 56 [static, private]

Definition at line 272 of file L1GtfeWord.h.

Referenced by setBoardId(), and setBoardIdWord64().

const int L1GtfeWord::BoardIdWord = 0 [static, private]

Definition at line 257 of file L1GtfeWord.h.

Referenced by setBoardIdWord64(), and unpack().

const boost::uint32_t L1GtfeWord::BstFlagMask = 0x0001 [static, private]

Definition at line 269 of file L1GtfeWord.h.

Referenced by bstFlag(), and setBstFlag().

const boost::uint64_t L1GtfeWord::BxNrMask = 0x00000FFF00000000ULL [static, private]

Definition at line 266 of file L1GtfeWord.h.

Referenced by setBxNr().

const int L1GtfeWord::BxNrShift = 32 [static, private]

Definition at line 275 of file L1GtfeWord.h.

Referenced by setBxNr(), and setBxNrWord64().

const int L1GtfeWord::BxNrWord = 0 [static, private]

Definition at line 260 of file L1GtfeWord.h.

Referenced by setBxNrWord64(), and unpack().

boost::uint16_t L1GtfeWord::m_activeBoards [private]

active boards contributing to EVM respectively DAQ record

Definition at line 308 of file L1GtfeWord.h.

Referenced by activeBoards(), operator==(), print(), reset(), setActiveBoards(), and setActiveBoardsWord64().

boost::uint16_t L1GtfeWord::m_altNrBxBoard [private]

alternative for number of BX per board correlated with active boards bit value is 0: take alternative 0 bit value is 1: take alternative 1

Definition at line 314 of file L1GtfeWord.h.

Referenced by altNrBxBoard(), operator==(), print(), reset(), setAltNrBxBoard(), and setAltNrBxBoardWord64().

boost::uint16_t L1GtfeWord::m_boardId [private]

board identifier

Definition at line 295 of file L1GtfeWord.h.

Referenced by boardId(), operator==(), print(), reset(), setBoardId(), and setBoardIdWord64().

boost::uint16_t L1GtfeWord::m_bxNr [private]

bunch cross number as counted in the GTFE board

Definition at line 304 of file L1GtfeWord.h.

Referenced by bxNr(), operator==(), print(), reset(), setBxNr(), and setBxNrWord64().

boost::uint16_t L1GtfeWord::m_recordLength [private]

record length for alternative 0

Definition at line 301 of file L1GtfeWord.h.

Referenced by operator==(), print(), recordLength(), reset(), setRecordLength(), and setRecordLengthWord64().

boost::uint16_t L1GtfeWord::m_recordLength1 [private]

record length for alternative 1

Definition at line 298 of file L1GtfeWord.h.

Referenced by operator==(), print(), recordLength1(), reset(), setRecordLength1(), and setRecordLength1Word64().

boost::uint32_t L1GtfeWord::m_setupVersion [private]
boost::uint32_t L1GtfeWord::m_totalTriggerNr [private]

total number of L1A sent since start of run

Definition at line 317 of file L1GtfeWord.h.

Referenced by operator==(), print(), reset(), setTotalTriggerNr(), setTotalTriggerNrWord64(), and totalTriggerNr().

const boost::uint64_t L1GtfeWord::RecordLength1Mask = 0x00F0000000000000ULL [static, private]

Definition at line 264 of file L1GtfeWord.h.

Referenced by setRecordLength1().

const int L1GtfeWord::RecordLength1Shift = 52 [static, private]

Definition at line 273 of file L1GtfeWord.h.

Referenced by setRecordLength1(), and setRecordLength1Word64().

const int L1GtfeWord::RecordLength1Word = 0 [static, private]

Definition at line 258 of file L1GtfeWord.h.

Referenced by setRecordLength1Word64(), and unpack().

const boost::uint64_t L1GtfeWord::RecordLengthMask = 0x000F000000000000ULL [static, private]

Definition at line 265 of file L1GtfeWord.h.

Referenced by setRecordLength().

const int L1GtfeWord::RecordLengthShift = 48 [static, private]

Definition at line 274 of file L1GtfeWord.h.

Referenced by setRecordLength(), and setRecordLengthWord64().

const int L1GtfeWord::RecordLengthWord = 0 [static, private]

Definition at line 259 of file L1GtfeWord.h.

Referenced by setRecordLengthWord64(), and unpack().

const boost::uint64_t L1GtfeWord::SetupVersionMask = 0x00000000FFFFFFFFULL [static, private]

Definition at line 267 of file L1GtfeWord.h.

Referenced by setSetupVersion().

const int L1GtfeWord::SetupVersionShift = 0 [static, private]

Definition at line 276 of file L1GtfeWord.h.

Referenced by setSetupVersion(), and setSetupVersionWord64().

const int L1GtfeWord::SetupVersionWord = 0 [static, private]

Definition at line 261 of file L1GtfeWord.h.

Referenced by setSetupVersionWord64(), and unpack().

const boost::uint64_t L1GtfeWord::TotalTriggerNrMask = 0x00000000FFFFFFFFULL [static, private]

Definition at line 285 of file L1GtfeWord.h.

Referenced by setTotalTriggerNr().

const int L1GtfeWord::TotalTriggerNrShift = 0 [static, private]

Definition at line 289 of file L1GtfeWord.h.

Referenced by setTotalTriggerNr(), and setTotalTriggerNrWord64().

const int L1GtfeWord::TotalTriggerNrWord = 1 [static, private]

Definition at line 281 of file L1GtfeWord.h.

Referenced by setTotalTriggerNrWord64(), and unpack().