Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MucConverter Class Reference

#include <MucConverter.h>

List of all members.

Public Member Functions

StatusCode convert (MucDigiCol *src, WriteRawEvent *&des)
StatusCode convert (const BufferHolder &src, MucDigiCol *des)
StatusCode convert (MucDigiCol *src, WriteRawEvent *&des)
StatusCode convert (const BufferHolder &src, MucDigiCol *des)

Static Public Member Functions

void destroy ()
void destroy ()
MucConverterinstance ()
MucConverterinstance ()

Private Member Functions

 MucConverter ()
 MucConverter ()
 ~MucConverter ()
 ~MucConverter ()

Private Attributes

MucBuilder m_builder

Static Private Attributes

MucConverters_instance
MucConverters_instance = 0


Constructor & Destructor Documentation

MucConverter::MucConverter  )  [private]
 

00060 {
00061 }

MucConverter::~MucConverter  )  [private]
 

00064 {
00065 }

MucConverter::MucConverter  )  [private]
 

MucConverter::~MucConverter  )  [private]
 


Member Function Documentation

StatusCode MucConverter::convert MucDigiCol src,
WriteRawEvent *&  des
 

StatusCode MucConverter::convert const BufferHolder src,
MucDigiCol des
 

StatusCode MucConverter::convert MucDigiCol src,
WriteRawEvent *&  des
 

00055 {
00056    return m_builder.pack(src, des);
00057 }

StatusCode MucConverter::convert const BufferHolder src,
MucDigiCol des
 

00023 {
00024    uint32_t REId, TEId, FecData, StrSqc;
00025    uint32_t nbuf = src.nBuf();
00026 
00027    for (uint32_t i = 0; i < nbuf; ++i) {
00028       uint32_t* buf = src(i);
00029       uint32_t  bufSize = src.bufSize(i);
00030       for (uint32_t j = 0; j < bufSize; ++j) {
00031          m_builder.unPack(buf[j], REId, FecData, StrSqc);
00032          TEId = m_builder.getTEID( REId );
00033          if ( TEId == 0xFFFFFFFF )  continue;
00034 
00035          uint32_t teidBase = TEId & 0xFF0FFFFF;
00036          uint32_t teid;
00037          for (uint32_t k = 0; FecData != 0 && k < 16; FecData >>= 1, ++k) {
00038             if ((FecData & 1) == 0) continue;
00039             if (StrSqc == 0) {
00040                teid = teidBase + 15 -k;
00041             }
00042             else {
00043                teid = teidBase + k;
00044             }
00045             MucDigi* mucDigi = new MucDigi(teid);
00046             des->push_back( mucDigi );
00047          }
00048       }
00049    }
00050 
00051    return StatusCode::SUCCESS;
00052 }

void MucConverter::destroy  )  [static]
 

void MucConverter::destroy  )  [static]
 

00015 {
00016    if ( s_instance != 0 ) {
00017       delete s_instance;
00018       s_instance = 0;
00019    }
00020 }

MucConverter* MucConverter::instance  )  [static]
 

MucConverter * MucConverter::instance  )  [static]
 

00006 {
00007    if ( s_instance == 0 ) {
00008       s_instance = new MucConverter();
00009    }
00010 
00011    return s_instance;
00012 }


Member Data Documentation

MucBuilder MucConverter::m_builder [private]
 

MucConverter* MucConverter::s_instance [static, private]
 

MucConverter * MucConverter::s_instance = 0 [static, private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:33:47 2011 for BOSS6.5.5 by  doxygen 1.3.9.1