BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RawDataCnv/include/RawDataCnv/Util/MdcConverter.h
Go to the documentation of this file.
1#ifndef MDC_CONVERTER_H
2#define MDC_CONVERTER_H
3
4#include "GaudiKernel/StatusCode.h"
5#include "MdcRawEvent/MdcDigi.h"
6#include "RawDataCnv/EventManagement/MdcBuilder.h"
7#include "RawDataCnv/Util/BufferHolder.h"
8
9class SniperJSON;
10
11class MdcConverter {
12
13public:
14 // static interfaces
15 static MdcConverter* instance( int runMode = 2 ); // default OfflineMode
16 static void destroy();
17
18 // public interfaces
19 void init( const SniperJSON& config );
20 void setRunId( int runId ) { m_runId = runId; }
21 StatusCode convert( const BufferHolder& src, MdcDigiCol* des );
22 StatusCode convert( MdcDigiCol* src, WriteRawEvent*& des );
23
24private:
25 // private methods
26 MdcConverter( int runMode ); // get its intance via the static interface!
28
29 MdcConverter(); // stop default
30
31 // private data members
32 int m_runMode; // reference to the RunMode of RawDataInputSvc
33
34 int m_runId;
35
36 uint32_t m_mdcTag[16384][4];
37
38 MdcBuilder m_builder;
39
40 struct IdFixRule {
41 int run_from;
42 int run_to;
43 uint32_t mask;
44 uint32_t reverse_mask;
45 uint32_t value1;
46 uint32_t value2;
47 };
48
49 std::vector<IdFixRule> m_idFixRules;
50
51 // static data members
52 static MdcConverter* s_instance;
53};
54
55#endif
eformat::write::FullEventFragment WriteRawEvent
static MdcConverter * instance(int runMode=2)
static void destroy()
StatusCode convert(const BufferHolder &src, MdcDigiCol *des)
void init(const SniperJSON &config)