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

#include <MucMcHitBuilder.h>

Inheritance diagram for MucMcHitBuilder:

Public Member Functions

 MucMcHitBuilder ()
virtual ~MucMcHitBuilder ()
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 &, MucTruth_t &)
virtual StatusCode pack (MucMcHitCol *mucMcHitCol, WriteRawEvent *&re)
 MucMcHitBuilder ()
virtual ~MucMcHitBuilder ()
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 &, MucTruth_t &)
virtual StatusCode pack (MucMcHitCol *mucMcHitCol, WriteRawEvent *&re)
 MucMcHitBuilder ()
virtual ~MucMcHitBuilder ()
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 &, MucTruth_t &)
virtual StatusCode pack (MucMcHitCol *mucMcHitCol, WriteRawEvent *&re)

Public Attributes

uint64_t m_xCoeff
uint64_t m_yCoeff
uint64_t m_zCoeff
uint64_t m_pxCoeff
uint64_t m_pyCoeff
uint64_t m_pzCoeff

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

◆ MucMcHitBuilder() [1/3]

MucMcHitBuilder::MucMcHitBuilder ( )

Definition at line 7 of file MucMcHitBuilder.cxx.

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

◆ ~MucMcHitBuilder() [1/3]

virtual MucMcHitBuilder::~MucMcHitBuilder ( )
inlinevirtual

◆ MucMcHitBuilder() [2/3]

MucMcHitBuilder::MucMcHitBuilder ( )

◆ ~MucMcHitBuilder() [2/3]

virtual MucMcHitBuilder::~MucMcHitBuilder ( )
inlinevirtual

◆ MucMcHitBuilder() [3/3]

MucMcHitBuilder::MucMcHitBuilder ( )

◆ ~MucMcHitBuilder() [3/3]

virtual MucMcHitBuilder::~MucMcHitBuilder ( )
inlinevirtual

Member Function Documentation

◆ getREID() [1/3]

uint32_t MucMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

Definition at line 115 of file MucMcHitBuilder.cxx.

115{ return 0; }

◆ getREID() [2/3]

virtual uint32_t MucMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

◆ getREID() [3/3]

virtual uint32_t MucMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

◆ getTEID() [1/3]

uint32_t MucMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

Definition at line 113 of file MucMcHitBuilder.cxx.

113{ return 0; }

◆ getTEID() [2/3]

virtual uint32_t MucMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

◆ getTEID() [3/3]

virtual uint32_t MucMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

◆ initialize() [1/3]

StatusCode MucMcHitBuilder::initialize ( string & initFile)
virtual

Reimplemented from Builder.

Definition at line 75 of file MucMcHitBuilder.cxx.

75 {
76 ifstream f;
77
78 // read init file
79 f.open( initFile.c_str() );
80
81 if ( f.bad() )
82 {
83 cerr << "Error: could not open file " << initFile << endl;
84 return StatusCode::FAILURE;
85 }
86
87 if ( !Builder::find( f, "##MucTruthConf", initFile ) )
88 {
89 cerr << "Error: could not find '##MucTruthConf' in file " << initFile << endl;
90 return StatusCode::FAILURE;
91 }
92
93 if ( !Builder::expect( f, "#MucTruthShift", initFile ) ||
94 !Builder::expectInt( f, "trackIndex", initFile, m_trackIndexIndex, m_trackIndexMask ) ||
95 !Builder::expectInt( f, "partId", initFile, m_partIdIndex, m_partIdMask ) ||
96 !Builder::expectInt( f, "segId", initFile, m_segIdIndex, m_segIdMask ) ||
97 !Builder::expectInt( f, "gapId", initFile, m_gapIdIndex, m_gapIdMask ) ||
98 !Builder::expectInt( f, "stripId", initFile, m_stripIdIndex, m_stripIdMask ) ||
99 !Builder::expect( f, "#MucTruthCoeff", initFile ) ||
100 !Builder::expectLong( f, "x", initFile, m_xCoeff ) ||
101 !Builder::expectLong( f, "y", initFile, m_yCoeff ) ||
102 !Builder::expectLong( f, "z", initFile, m_zCoeff ) ||
103 !Builder::expectLong( f, "px", initFile, m_pxCoeff ) ||
104 !Builder::expectLong( f, "py", initFile, m_pyCoeff ) ||
105 !Builder::expectLong( f, "pz", initFile, m_pzCoeff ) )
106 return StatusCode::FAILURE;
107
108 f.close();
109
110 return StatusCode::SUCCESS;
111}
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 MucMcHitBuilder().

◆ initialize() [2/3]

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

Reimplemented from Builder.

◆ initialize() [3/3]

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

Reimplemented from Builder.

◆ pack() [1/3]

StatusCode MucMcHitBuilder::pack ( MucMcHitCol * mucMcHitCol,
WriteRawEvent *& re )
virtual

Definition at line 34 of file MucMcHitBuilder.cxx.

34 {
35 /*
36
37 if (mucMcHitCol == NULL) {
38 cout << "MucMcHitBuilder::pack cant get MucMcHitCol" << endl;
39 return StatusCode::FAILURE;
40 }
41
42 vector<uint32_t> *mucReMcHitVec = new vector<uint32_t>;
43 MucTruth_t m_MucTruth;
44
45 MucMcHitCol::const_iterator pMucMcHit = mucMcHitCol->begin();
46 for ( ; pMucMcHit != mucMcHitCol->end(); pMucMcHit++) {
47 //make the MucTruth data
48 makeMucTruth(pMucMcHit, m_MucTruth);
49 //pack integers in mucTruth
50 uint32_t helpVal = (m_MucTruth.trackIndex<<m_trackIndexIndex) & m_trackIndexMask;
51 helpVal |= ((m_MucTruth.partId<<m_partIdIndex) & m_partIdMask);
52 helpVal |= ((m_MucTruth.segId<<m_segIdIndex) & m_segIdMask);
53 helpVal |= ((m_MucTruth.gapId<<m_gapIdIndex) & m_gapIdMask);
54 helpVal |= ((m_MucTruth.stripId<<m_stripIdIndex) & m_stripIdMask);
55 //fill the McHit vector
56 mucReMcHitVec->push_back(helpVal);
57 mucReMcHitVec->push_back(m_MucTruth.x);
58 mucReMcHitVec->push_back(m_MucTruth.y);
59 mucReMcHitVec->push_back(m_MucTruth.z);
60 mucReMcHitVec->push_back(m_MucTruth.px);
61 mucReMcHitVec->push_back(m_MucTruth.py);
62 mucReMcHitVec->push_back(m_MucTruth.pz);
63 }
64
65 OfflineEventFormat::SubDetectorHeader sh(OfflineEventFormat::MUCTRUTH);
66 SubRawEvent *sub = new SubRawEvent(sh, mucReMcHitVec);
67 re->append(sub);
68 */
69
70 return StatusCode::SUCCESS;
71}

◆ pack() [2/3]

virtual StatusCode MucMcHitBuilder::pack ( MucMcHitCol * mucMcHitCol,
WriteRawEvent *& re )
virtual

◆ pack() [3/3]

virtual StatusCode MucMcHitBuilder::pack ( MucMcHitCol * mucMcHitCol,
WriteRawEvent *& re )
virtual

◆ unPack() [1/3]

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

Definition at line 9 of file MucMcHitBuilder.cxx.

10 {
11 uint32_t helpVal = *( iter++ );
12 assert( iter != eiter );
13 mt.x = *( iter++ );
14 assert( iter != eiter );
15 mt.y = *( iter++ );
16 assert( iter != eiter );
17 mt.z = *( iter++ );
18 assert( iter != eiter );
19 mt.px = *( iter++ );
20 assert( iter != eiter );
21 mt.py = *( iter++ );
22 assert( iter != eiter );
23 mt.pz = *( iter++ );
24
25 mt.trackIndex = ( helpVal & m_trackIndexMask ) >> m_trackIndexIndex;
26 mt.partId = ( helpVal & m_partIdMask ) >> m_partIdIndex;
27 mt.segId = ( helpVal & m_segIdMask ) >> m_segIdIndex;
28 mt.gapId = ( helpVal & m_gapIdMask ) >> m_gapIdIndex;
29 mt.stripId = ( helpVal & m_stripIdMask ) >> m_stripIdIndex;
30
31 return;
32}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)

◆ unPack() [2/3]

virtual void MucMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & ,
vector< uint32_t >::const_iterator & ,
MucTruth_t &  )
virtual

◆ unPack() [3/3]

virtual void MucMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & ,
vector< uint32_t >::const_iterator & ,
MucTruth_t &  )
virtual

Member Data Documentation

◆ m_pxCoeff

uint64_t MucMcHitBuilder::m_pxCoeff

◆ m_pyCoeff

uint64_t MucMcHitBuilder::m_pyCoeff

◆ m_pzCoeff

uint64_t MucMcHitBuilder::m_pzCoeff

◆ m_xCoeff

uint64_t MucMcHitBuilder::m_xCoeff

◆ m_yCoeff

uint64_t MucMcHitBuilder::m_yCoeff

◆ m_zCoeff

uint64_t MucMcHitBuilder::m_zCoeff

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