CMS 3D CMS Logo

Public Member Functions | Private Attributes | Friends

L1GtBoardMaps Class Reference

#include <L1GtBoardMaps.h>

List of all members.

Public Member Functions

const std::vector< L1GtBoard > & gtBoardMaps () const
 get / set / print the L1 GT board map
 L1GtBoardMaps ()
void print (std::ostream &) const
void printGtBoardHexNameMap (std::ostream &myCout) const
 print L1 GT board name in hw record map
void printGtBoardSlotMap (std::ostream &myCout) const
 print L1 GT board - slot map
void printGtDaqActiveBoardsMap (std::ostream &myCout) const
 print L1 GT active boards map for DAQ record
void printGtDaqRecordMap (std::ostream &myCout) const
 print L1 GT DAQ record map
void printGtEvmActiveBoardsMap (std::ostream &myCout) const
 print L1 GT active boards map for EVM record
void printGtEvmRecordMap (std::ostream &myCout) const
 print L1 GT EVM record map
void printGtQuadToPsbMap (std::ostream &myCout) const
 print L1 quadruplet (4x16 bits)(cable) to PSB input map
void setGtBoardMaps (const std::vector< L1GtBoard > &)
virtual ~L1GtBoardMaps ()

Private Attributes

std::vector< L1GtBoardm_gtBoardMaps
 L1 GT boards and their mapping.

Friends

std::ostream & operator<< (std::ostream &, const L1GtBoardMaps &)
 output stream operator

Detailed Description

Description: map of the L1 GT boards.

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 31 of file L1GtBoardMaps.h.


Constructor & Destructor Documentation

L1GtBoardMaps::L1GtBoardMaps ( )

Definition at line 29 of file L1GtBoardMaps.cc.

{
    // empty
}
L1GtBoardMaps::~L1GtBoardMaps ( ) [virtual]

Definition at line 35 of file L1GtBoardMaps.cc.

{
    // empty
}

Member Function Documentation

const std::vector<L1GtBoard>& L1GtBoardMaps::gtBoardMaps ( ) const [inline]

get / set / print the L1 GT board map

Definition at line 45 of file L1GtBoardMaps.h.

References m_gtBoardMaps.

Referenced by L1GlobalTrigger::produce().

    {
        return m_gtBoardMaps;
    }
void L1GtBoardMaps::print ( std::ostream &  myCout) const

Definition at line 50 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

Referenced by operator<<().

{
    myCout <<  "\nL1 GT board map" << std::endl;

    myCout <<  "  Size: " << m_gtBoardMaps.size() << " boards in L1 GT." << std::endl;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        cIt->print(myCout);
        myCout << std::endl;
    }

    myCout << std::endl;

}
void L1GtBoardMaps::printGtBoardHexNameMap ( std::ostream &  myCout) const

print L1 GT board name in hw record map

Definition at line 241 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{
    myCout << "\nL1 GT board names in hw record map" << std::endl;

    int nrBoards = 0;
    int posRec = -1;
    boost::uint16_t boardId = 0;
    std::string boardName;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        posRec = cIt->gtBoardHexName();
        boardId = cIt->gtBoardId();
        boardName = cIt->gtBoardName();

        if (posRec >=0) {
            myCout
            << "  " << boardName << "  " << std::hex << boardId << std::dec
            << " has HexName " << std::hex << posRec << std::dec << std::endl;

            nrBoards++;
        }
    }

    myCout << "\n  Size: " << nrBoards << " boards in the record" << std::endl;
    myCout << std::endl;


    myCout << std::endl;

}
void L1GtBoardMaps::printGtBoardSlotMap ( std::ostream &  myCout) const

print L1 GT board - slot map

Definition at line 207 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{
    myCout << "\nL1 GT board - slot map" << std::endl;

    int nrBoards = 0;
    int posRec = -1;
    boost::uint16_t boardId = 0;
    std::string boardName;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        posRec = cIt->gtBoardSlot();
        boardId = cIt->gtBoardId();
        boardName = cIt->gtBoardName();

        if (posRec >=0) {
            myCout
            << "  " << boardName << "  " << std::hex << boardId << std::dec
            << " in slot " << posRec << std::endl;

            nrBoards++;
        }
    }

    myCout << "\n  Size: " << nrBoards << " boards in the slot map" << std::endl;
    myCout << std::endl;


    myCout << std::endl;

}
void L1GtBoardMaps::printGtDaqActiveBoardsMap ( std::ostream &  myCout) const

print L1 GT active boards map for DAQ record

Definition at line 138 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{
    myCout << "\nL1 GT DAQ \"active boards\" record map" << std::endl;

    int nrBoards = 0;
    int posRec = -1;
    boost::uint16_t boardId = 0;
    std::string boardName;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        posRec = cIt->gtBitDaqActiveBoards();
        boardId = cIt->gtBoardId();
        boardName = cIt->gtBoardName();

        if (posRec >=0) {
            myCout
            << "  " << boardName << "  " << std::hex << boardId << std::dec
            << " at bit " << posRec << std::endl;

            nrBoards++;
        }
    }

    myCout << "\n  Size: " << nrBoards << " boards in the record" << std::endl;
    myCout << std::endl;


    myCout << std::endl;

}
void L1GtBoardMaps::printGtDaqRecordMap ( std::ostream &  myCout) const

print L1 GT DAQ record map

Definition at line 68 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{
    myCout << "\nL1 GT DAQ record map" << std::endl;

    int nrBoards = 0;
    int posRec = -1;
    boost::uint16_t boardId = 0;
    std::string boardName;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        posRec = cIt->gtPositionDaqRecord();
        boardId = cIt->gtBoardId();
        boardName = cIt->gtBoardName();

        if (posRec >=0) {
            myCout
            << "  " << boardName << "  " << std::hex << boardId << std::dec
            << " at position " << posRec << std::endl;

            nrBoards++;
        }
    }

    myCout << "\n  Size: " << nrBoards << " boards in the record" << std::endl;
    myCout << "  Header and trailer are automatically added to the hardware record.\n"
    << std::endl;


    myCout << std::endl;

}
void L1GtBoardMaps::printGtEvmActiveBoardsMap ( std::ostream &  myCout) const

print L1 GT active boards map for EVM record

Definition at line 172 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{
    myCout << "\nL1 GT EVM \"active boards\" record map" << std::endl;

    int nrBoards = 0;
    int posRec = -1;
    boost::uint16_t boardId = 0;
    std::string boardName;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        posRec = cIt->gtBitEvmActiveBoards();
        boardId = cIt->gtBoardId();
        boardName = cIt->gtBoardName();

        if (posRec >=0) {
            myCout
            << "  " << boardName << "  " << std::hex << boardId << std::dec
            << " at bit " << posRec << std::endl;

            nrBoards++;
        }
    }

    myCout << "\n  Size: " << nrBoards << " boards in the record" << std::endl;
    myCout << std::endl;


    myCout << std::endl;

}
void L1GtBoardMaps::printGtEvmRecordMap ( std::ostream &  myCout) const

print L1 GT EVM record map

Definition at line 103 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{
    myCout << "\nL1 GT EVM record map" << std::endl;

    int nrBoards = 0;
    int posRec = -1;
    boost::uint16_t boardId = 0;
    std::string boardName;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        posRec = cIt->gtPositionEvmRecord();
        boardId = cIt->gtBoardId();
        boardName = cIt->gtBoardName();

        if (posRec >=0) {
            myCout
            << "  " << boardName << "  " << std::hex << boardId << std::dec
            << " at position " << posRec << std::endl;

            nrBoards++;
        }
    }

    myCout << "\n  Size: " << nrBoards << " boards in the record" << std::endl;
    myCout << "  Header and trailer are automatically added to the hardware record.\n"
    << std::endl;


    myCout << std::endl;

}
void L1GtBoardMaps::printGtQuadToPsbMap ( std::ostream &  myCout) const

print L1 quadruplet (4x16 bits)(cable) to PSB input map

Definition at line 275 of file L1GtBoardMaps.cc.

References CenJetQ, ESumsQ, ForJetQ, Free, HfQ, IsoEGQ, JetCountsQ, m_gtBoardMaps, MQB1, MQB10, MQB2, MQB5, MQB6, MQB9, MQF11, MQF12, MQF3, MQF4, MQF7, MQF8, NoIsoEGQ, PSB, TauJetQ, and TechTr.

{

    myCout << "\nL1 GT \"cables to PSB\" input map (4x16 bits per cable) - DEPRECATED" << std::endl;

    int nrBoards = 0;
    int nrCable = 0;

    for (std::vector<L1GtBoard>::const_iterator
            cIt = m_gtBoardMaps.begin(); cIt != m_gtBoardMaps.end(); ++cIt) {

        if (cIt->gtBoardType() == PSB) {

            myCout << "\n  PSB_" << cIt->gtBoardIndex() << "\n      ";

            nrBoards++;

            std::vector<L1GtPsbQuad> quadInPsb = cIt->gtQuadInPsb();
            std::string objType;

            for (std::vector<L1GtPsbQuad>::const_iterator
                    cItQuad = quadInPsb.begin(); cItQuad != quadInPsb.end(); ++cItQuad) {

                nrCable++;

                if ( *cItQuad == TechTr ) {
                    objType = "TechTr";
                } else if ( *cItQuad == IsoEGQ ) {
                    objType = "IsoEGQ";
                } else if ( *cItQuad == NoIsoEGQ ) {
                    objType = "NoIsoEGQ";
                } else if ( *cItQuad == CenJetQ ) {
                    objType = "CenJetQ";
                } else if ( *cItQuad == ForJetQ ) {
                    objType = "ForJetQ";
                } else if ( *cItQuad == TauJetQ ) {
                    objType = "TauJetQ";
                } else if ( *cItQuad == ESumsQ ) {
                    objType = "ESumsQ";
                } else if ( *cItQuad == JetCountsQ ) {
                    objType = "JetCountsQ";
                } else if ( *cItQuad == MQB1 ) {
                    objType = "MQB1";
                } else if ( *cItQuad == MQB2 ) {
                    objType = "MQB2";
                } else if ( *cItQuad == MQF3 ) {
                    objType = "MQF3";
                } else if ( *cItQuad == MQF4 ) {
                    objType = "MQF4";
                } else if ( *cItQuad == MQB5 ) {
                    objType = "MQB5";
                } else if ( *cItQuad == MQB6 ) {
                    objType = "MQB6";
                } else if ( *cItQuad == MQF7 ) {
                    objType = "MQF7";
                } else if ( *cItQuad == MQF8 ) {
                    objType = "MQF8";
                } else if ( *cItQuad == MQB9 ) {
                    objType = "MQB9";
                } else if ( *cItQuad == MQB10 ) {
                    objType = "MQB10";
                } else if ( *cItQuad == MQF11 ) {
                    objType = "MQF11";
                } else if ( *cItQuad == MQF12 ) {
                    objType = "MQF12";
                } else if ( *cItQuad == Free ) {
                    objType = "Free";
                } else if ( *cItQuad == HfQ ) {
                    objType = "HfQ";
                } else {
                    myCout << "\n\nError: no such member " <<  (*cItQuad)
                    << " in enum L1GtPsbQuad\n\n" << std::endl;
                    objType = "ERROR";
                }

                myCout << objType << " ";
            }


        }
    }


    myCout << "\n\n  Size: " << nrCable << " cables for " << nrBoards << " PSB boards"
    << std::endl;

    myCout << std::endl;

}
void L1GtBoardMaps::setGtBoardMaps ( const std::vector< L1GtBoard > &  gtBoardMapsValue)

Definition at line 43 of file L1GtBoardMaps.cc.

References m_gtBoardMaps.

{

    m_gtBoardMaps = gtBoardMapsValue;

}

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const L1GtBoardMaps result 
) [friend]

output stream operator

Definition at line 366 of file L1GtBoardMaps.cc.

{
    result.print(os);
    return os;

}

Member Data Documentation

std::vector<L1GtBoard> L1GtBoardMaps::m_gtBoardMaps [private]