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

#include <EmcConverter.h>

Public Member Functions

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

Static Public Member Functions

static EmcConverterinstance (int runMode=2)
static void destroy ()
static EmcConverterinstance (int runMode=2)
static void destroy ()
static EmcConverterinstance (int runMode=2)
static void destroy ()

Detailed Description

Member Function Documentation

◆ convert() [1/6]

StatusCode EmcConverter::convert ( const BufferHolder & src,
EmcDigiCol * des )

Definition at line 23 of file EmcConverter.cxx.

23 {
24 uint32_t REId, TEId, TETDC, TEADC, measure;
25 uint32_t nbuf = src.nBuf();
26
27 for ( uint32_t i = 0; i < nbuf; ++i )
28 { // loop the buffer
29 uint32_t* buf = src( i );
30 uint32_t* bufend = buf + src.bufSize( i );
31 for ( ; buf < bufend; ++buf )
32 { // loop the digit
33
34 m_builder.unPack( *buf, REId, TETDC, TEADC, measure );
35
36 TEId = m_builder.getTEID( REId );
37 if ( TEId == 0xFFFFFFFF ) continue;
38
39 if ( m_EmcProvider )
40 {
41 // by fucd: if not good digi, reject. Only for online mode now
42 if ( !m_EmcProvider->isGoodEmcDigi( EmcRawDataProvider::DropLow |
45 TEId, measure, TEADC, TETDC ) )
46 continue;
47 Identifier id( TEId );
48 m_EmcProvider->doCalib( id, measure, TEADC );
49 }
50
51 // create and set the DataObject
52 EmcDigi* emcDigi = new EmcDigi( Identifier( TEId ), TETDC, TEADC );
53 emcDigi->setMeasure( measure );
54 des->push_back( emcDigi );
55 }
56 }
57
58 return StatusCode::SUCCESS;
59}
void setMeasure(const unsigned int measure)

◆ convert() [2/6]

StatusCode EmcConverter::convert ( const BufferHolder & src,
EmcDigiCol * des )

◆ convert() [3/6]

StatusCode EmcConverter::convert ( const BufferHolder & src,
EmcDigiCol * des )

◆ convert() [4/6]

StatusCode EmcConverter::convert ( EmcDigiCol * src,
WriteRawEvent *& des )

Definition at line 61 of file EmcConverter.cxx.

61 {
62 return m_builder.pack( src, des );
63}

◆ convert() [5/6]

StatusCode EmcConverter::convert ( EmcDigiCol * src,
WriteRawEvent *& des )

◆ convert() [6/6]

StatusCode EmcConverter::convert ( EmcDigiCol * src,
WriteRawEvent *& des )

◆ destroy() [1/3]

void EmcConverter::destroy ( )
static

Definition at line 15 of file EmcConverter.cxx.

15 {
16 if ( s_instance != 0 )
17 {
18 delete s_instance;
19 s_instance = 0;
20 }
21}

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

◆ destroy() [2/3]

void EmcConverter::destroy ( )
static

◆ destroy() [3/3]

void EmcConverter::destroy ( )
static

◆ instance() [1/3]

EmcConverter * EmcConverter::instance ( int runMode = 2)
static

Definition at line 9 of file EmcConverter.cxx.

9 {
10 if ( s_instance == 0 ) { s_instance = new EmcConverter( runMode ); }
11
12 return s_instance;
13}

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

◆ instance() [2/3]

EmcConverter * EmcConverter::instance ( int runMode = 2)
static

◆ instance() [3/3]

EmcConverter * EmcConverter::instance ( int runMode = 2)
static

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