BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucConverter Class Reference

#include <MucConverter.h>

Public Member Functions

StatusCode convert (const BufferHolder &src, MucDigiCol *des)
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)
StatusCode convert (MucDigiCol *src, WriteRawEvent *&des)

Static Public Member Functions

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

Detailed Description

Member Function Documentation

◆ convert() [1/6]

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

Definition at line 19 of file MucConverter.cxx.

19 {
20 uint32_t REId, TEId, FecData, StrSqc;
21 uint32_t nbuf = src.nBuf();
22
23 for ( uint32_t i = 0; i < nbuf; ++i )
24 {
25 uint32_t* buf = src( i );
26 uint32_t bufSize = src.bufSize( i );
27 for ( uint32_t j = 0; j < bufSize; ++j )
28 {
29 m_builder.unPack( buf[j], REId, FecData, StrSqc );
30 TEId = m_builder.getTEID( REId );
31 if ( TEId == 0xFFFFFFFF ) continue;
32
33 uint32_t teidBase = TEId & 0xFF0FFFFF;
34 uint32_t teid;
35 for ( uint32_t k = 0; FecData != 0 && k < 16; FecData >>= 1, ++k )
36 {
37 if ( ( FecData & 1 ) == 0 ) continue;
38 if ( StrSqc == 0 ) { teid = teidBase + 15 - k; }
39 else { teid = teidBase + k; }
40 MucDigi* mucDigi = new MucDigi( teid );
41 des->push_back( mucDigi );
42 }
43 }
44 }
45
46 return StatusCode::SUCCESS;
47}

◆ convert() [2/6]

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

◆ convert() [3/6]

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

◆ convert() [4/6]

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

Definition at line 49 of file MucConverter.cxx.

49 {
50 return m_builder.pack( src, des );
51}

◆ convert() [5/6]

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

◆ convert() [6/6]

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

◆ destroy() [1/3]

void MucConverter::destroy ( )
static

Definition at line 11 of file MucConverter.cxx.

11 {
12 if ( s_instance != 0 )
13 {
14 delete s_instance;
15 s_instance = 0;
16 }
17}

Referenced by RawDataMucDigiCnv::~RawDataMucDigiCnv(), and RawEventReader::~RawEventReader().

◆ destroy() [2/3]

void MucConverter::destroy ( )
static

◆ destroy() [3/3]

void MucConverter::destroy ( )
static

◆ instance() [1/3]

MucConverter * MucConverter::instance ( )
static

Definition at line 5 of file MucConverter.cxx.

5 {
6 if ( s_instance == 0 ) { s_instance = new MucConverter(); }
7
8 return s_instance;
9}

Referenced by MixerAlg::initialize(), RawDataMucDigiCnv::initialize(), and RawEventReader::initialize().

◆ instance() [2/3]

MucConverter * MucConverter::instance ( )
static

◆ instance() [3/3]

MucConverter * MucConverter::instance ( )
static

The documentation for this class was generated from the following files: