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

#include <MdcMcHitBuilder.h>

Inheritance diagram for MdcMcHitBuilder:

Public Member Functions

 MdcMcHitBuilder ()
virtual ~MdcMcHitBuilder ()
virtual StatusCode initialize (string &initFile)
virtual uint32_t getTEID (uint32_t teid)
virtual uint32_t getREID (uint32_t reid)
virtual void unPack (vector< uint32_t >::const_iterator &, vector< uint32_t >::const_iterator &, MdcTruth_t &)
virtual StatusCode pack (MdcMcHitCol *mdcMcHitCol, WriteRawEvent *&re)
 MdcMcHitBuilder ()
virtual ~MdcMcHitBuilder ()
virtual StatusCode initialize (string &initFile)
virtual uint32_t getTEID (uint32_t teid)
virtual uint32_t getREID (uint32_t reid)
virtual void unPack (vector< uint32_t >::const_iterator &, vector< uint32_t >::const_iterator &, MdcTruth_t &)
virtual StatusCode pack (MdcMcHitCol *mdcMcHitCol, WriteRawEvent *&re)
 MdcMcHitBuilder ()
virtual ~MdcMcHitBuilder ()
virtual StatusCode initialize (string &initFile)
virtual uint32_t getTEID (uint32_t teid)
virtual uint32_t getREID (uint32_t reid)
virtual void unPack (vector< uint32_t >::const_iterator &, vector< uint32_t >::const_iterator &, MdcTruth_t &)
virtual StatusCode pack (MdcMcHitCol *mdcMcHitCol, WriteRawEvent *&re)

Public Attributes

uint64_t m_edepCoeff
uint64_t m_driftDCoeff
uint64_t m_xCoeff
uint64_t m_yCoeff
uint64_t m_zCoeff

Additional Inherited Members

Public Types inherited from Builder
typedef std::map< uint32_t, uint32_t > TE2REMAP
typedef std::map< uint32_t, uint32_t > TE2REMAP
typedef std::map< uint32_t, uint32_t > TE2REMAP
Static Public Member Functions inherited from Builder
static bool expect (ifstream &f, string msg, string fname)
static bool expectInt (ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
static bool expectLong (ifstream &f, string msg, string fname, uint64_t &val)
static bool find (ifstream &f, string msg, string fname)
static bool expect (ifstream &f, string msg, string fname)
static bool expectInt (ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
static bool expectLong (ifstream &f, string msg, string fname, uint64_t &val)
static bool find (ifstream &f, string msg, string fname)
static bool expect (ifstream &f, string msg, string fname)
static bool expectInt (ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
static bool expectLong (ifstream &f, string msg, string fname, uint64_t &val)
static bool find (ifstream &f, string msg, string fname)
Protected Member Functions inherited from Builder
 Builder ()
virtual ~Builder ()
void append2event (WriteRawEvent *&re, uint32_t source_id, uint32_t size, uint32_t shift=0)
 Builder ()
virtual ~Builder ()
void append2event (WriteRawEvent *&re, uint32_t source_id, uint32_t size, uint32_t shift=0)
 Builder ()
virtual ~Builder ()
void append2event (WriteRawEvent *&re, uint32_t source_id, uint32_t size, uint32_t shift=0)
Protected Attributes inherited from Builder
uint32_t * m_buf
uint32_t m_status
Static Protected Attributes inherited from Builder
static string m_confFile

Detailed Description

Constructor & Destructor Documentation

◆ MdcMcHitBuilder() [1/3]

MdcMcHitBuilder::MdcMcHitBuilder ( )

Definition at line 7 of file MdcMcHitBuilder.cxx.

Builder()
Definition Builder.cxx:11
virtual StatusCode initialize(string &initFile)

◆ ~MdcMcHitBuilder() [1/3]

virtual MdcMcHitBuilder::~MdcMcHitBuilder ( )
inlinevirtual

◆ MdcMcHitBuilder() [2/3]

MdcMcHitBuilder::MdcMcHitBuilder ( )

◆ ~MdcMcHitBuilder() [2/3]

virtual MdcMcHitBuilder::~MdcMcHitBuilder ( )
inlinevirtual

◆ MdcMcHitBuilder() [3/3]

MdcMcHitBuilder::MdcMcHitBuilder ( )

◆ ~MdcMcHitBuilder() [3/3]

virtual MdcMcHitBuilder::~MdcMcHitBuilder ( )
inlinevirtual

Member Function Documentation

◆ getREID() [1/3]

uint32_t MdcMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

Definition at line 107 of file MdcMcHitBuilder.cxx.

107{ return 0; }

◆ getREID() [2/3]

virtual uint32_t MdcMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

◆ getREID() [3/3]

virtual uint32_t MdcMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

◆ getTEID() [1/3]

uint32_t MdcMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

Definition at line 105 of file MdcMcHitBuilder.cxx.

105{ return 0; }

◆ getTEID() [2/3]

virtual uint32_t MdcMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

◆ getTEID() [3/3]

virtual uint32_t MdcMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

◆ initialize() [1/3]

StatusCode MdcMcHitBuilder::initialize ( string & initFile)
virtual

Reimplemented from Builder.

Definition at line 69 of file MdcMcHitBuilder.cxx.

69 {
70 ifstream f;
71
72 // read init file
73 f.open( initFile.c_str() );
74
75 if ( f.bad() )
76 {
77 cerr << "Error: could not open file " << initFile << endl;
78 return StatusCode::FAILURE;
79 }
80
81 if ( !Builder::find( f, "##MdcTruthConf", initFile ) )
82 {
83 cerr << "Error: could not find '##MdcTruthConf' in file " << initFile << endl;
84 return StatusCode::FAILURE;
85 }
86
87 if ( !Builder::expect( f, "#MdcTruthShift", initFile ) ||
88 !Builder::expectInt( f, "trackIndex", initFile, m_trackIndexIndex, m_trackIndexMask ) ||
89 !Builder::expectInt( f, "layerId", initFile, m_layerIdIndex, m_layerIdMask ) ||
90 !Builder::expectInt( f, "cellId", initFile, m_cellIdIndex, m_cellIdMask ) ||
91 !Builder::expectInt( f, "posFlag", initFile, m_posFlagIndex, m_posFlagMask ) ||
92 !Builder::expect( f, "#MdcTruthCoeff", initFile ) ||
93 !Builder::expectLong( f, "edep", initFile, m_edepCoeff ) ||
94 !Builder::expectLong( f, "driftD", initFile, m_driftDCoeff ) ||
95 !Builder::expectLong( f, "x", initFile, m_xCoeff ) ||
96 !Builder::expectLong( f, "y", initFile, m_yCoeff ) ||
97 !Builder::expectLong( f, "z", initFile, m_zCoeff ) )
98 return StatusCode::FAILURE;
99
100 f.close();
101
102 return StatusCode::SUCCESS;
103}
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
static bool find(ifstream &f, string msg, string fname)
Definition Builder.cxx:52
static bool expect(ifstream &f, string msg, string fname)
Definition Builder.cxx:25
static bool expectLong(ifstream &f, string msg, string fname, uint64_t &val)
Definition Builder.cxx:46
static bool expectInt(ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
Definition Builder.cxx:39

Referenced by MdcMcHitBuilder().

◆ initialize() [2/3]

virtual StatusCode MdcMcHitBuilder::initialize ( string & initFile)
virtual

Reimplemented from Builder.

◆ initialize() [3/3]

virtual StatusCode MdcMcHitBuilder::initialize ( string & initFile)
virtual

Reimplemented from Builder.

◆ pack() [1/3]

StatusCode MdcMcHitBuilder::pack ( MdcMcHitCol * mdcMcHitCol,
WriteRawEvent *& re )
virtual

Definition at line 31 of file MdcMcHitBuilder.cxx.

31 {
32 /*
33 if (mdcMcHitCol == NULL) {
34 cout << "MdcMcHitBuilder::pack cant get MdcMcHitCol" << endl;
35 return StatusCode::FAILURE;
36 }
37
38 MdcTruth_t m_MdcTruth;
39 vector<uint32_t> *mdcReMcHitVec = new vector<uint32_t>;
40
41 MdcMcHitCol::const_iterator pMdcMcHit = mdcMcHitCol->begin();
42 for ( ; pMdcMcHit != mdcMcHitCol->end(); pMdcMcHit++) {
43 // Make MdcTruth data
44 makeMdcTruth(pMdcMcHit, m_MdcTruth);
45 // pack the trackIndex, layerId and cellId.
46 uint32_t helpVal = (m_MdcTruth.trackIndex<<m_trackIndexIndex) & m_trackIndexMask;
47 helpVal |= ((m_MdcTruth.layerId<<m_layerIdIndex) & m_layerIdMask);
48 helpVal |= ((m_MdcTruth.cellId<<m_cellIdIndex) & m_cellIdMask);
49 if (m_MdcTruth.posFlag) helpVal |= ((0x1<<m_posFlagIndex) & m_posFlagMask);
50 //fill the McHit Vector
51 mdcReMcHitVec->push_back(helpVal);
52 mdcReMcHitVec->push_back(m_MdcTruth.edep);
53 mdcReMcHitVec->push_back(m_MdcTruth.driftD);
54 mdcReMcHitVec->push_back(m_MdcTruth.x);
55 mdcReMcHitVec->push_back(m_MdcTruth.y);
56 mdcReMcHitVec->push_back(m_MdcTruth.z);
57 }
58
59 OfflineEventFormat::SubDetectorHeader sh(OfflineEventFormat::MDCTRUTH);
60 SubRawEvent *sub = new SubRawEvent(sh, mdcReMcHitVec);
61 re->append(sub);
62 */
63
64 return StatusCode::SUCCESS;
65}

◆ pack() [2/3]

virtual StatusCode MdcMcHitBuilder::pack ( MdcMcHitCol * mdcMcHitCol,
WriteRawEvent *& re )
virtual

◆ pack() [3/3]

virtual StatusCode MdcMcHitBuilder::pack ( MdcMcHitCol * mdcMcHitCol,
WriteRawEvent *& re )
virtual

◆ unPack() [1/3]

void MdcMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & iter,
vector< uint32_t >::const_iterator & eiter,
MdcTruth_t & mt )
virtual

Definition at line 9 of file MdcMcHitBuilder.cxx.

10 {
11 uint32_t helpVal = *( iter++ );
12 assert( iter != eiter );
13 mt.edep = *( iter++ );
14 assert( iter != eiter );
15 mt.driftD = *( iter++ );
16 assert( iter != eiter );
17 mt.x = *( iter++ );
18 assert( iter != eiter );
19 mt.y = *( iter++ );
20 assert( iter != eiter );
21 mt.z = *( iter++ );
22
23 mt.trackIndex = ( helpVal & m_trackIndexMask ) >> m_trackIndexIndex;
24 mt.layerId = ( helpVal & m_layerIdMask ) >> m_layerIdIndex;
25 mt.cellId = ( helpVal & m_cellIdMask ) >> m_cellIdIndex;
26 mt.posFlag = ( helpVal & m_posFlagMask ) ? 1 : 0;
27
28 return;
29}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)

◆ unPack() [2/3]

virtual void MdcMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & ,
vector< uint32_t >::const_iterator & ,
MdcTruth_t &  )
virtual

◆ unPack() [3/3]

virtual void MdcMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & ,
vector< uint32_t >::const_iterator & ,
MdcTruth_t &  )
virtual

Member Data Documentation

◆ m_driftDCoeff

uint64_t MdcMcHitBuilder::m_driftDCoeff

◆ m_edepCoeff

uint64_t MdcMcHitBuilder::m_edepCoeff

◆ m_xCoeff

uint64_t MdcMcHitBuilder::m_xCoeff

◆ m_yCoeff

uint64_t MdcMcHitBuilder::m_yCoeff

◆ m_zCoeff

uint64_t MdcMcHitBuilder::m_zCoeff

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