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

#include <TofMcHitBuilder.h>

Inheritance diagram for TofMcHitBuilder:

Public Member Functions

 TofMcHitBuilder ()
virtual ~TofMcHitBuilder ()
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 &, TofTruth_t &)
virtual StatusCode pack (TofMcHitCol *tofMcHitCol, WriteRawEvent *&re)
 TofMcHitBuilder ()
virtual ~TofMcHitBuilder ()
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 &, TofTruth_t &)
virtual StatusCode pack (TofMcHitCol *tofMcHitCol, WriteRawEvent *&re)
 TofMcHitBuilder ()
virtual ~TofMcHitBuilder ()
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 &, TofTruth_t &)
virtual StatusCode pack (TofMcHitCol *tofMcHitCol, 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
uint64_t m_trackLengthCoeff
uint64_t m_timeCoeff

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

◆ TofMcHitBuilder() [1/3]

TofMcHitBuilder::TofMcHitBuilder ( )

Definition at line 7 of file TofMcHitBuilder.cxx.

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

◆ ~TofMcHitBuilder() [1/3]

virtual TofMcHitBuilder::~TofMcHitBuilder ( )
inlinevirtual

◆ TofMcHitBuilder() [2/3]

TofMcHitBuilder::TofMcHitBuilder ( )

◆ ~TofMcHitBuilder() [2/3]

virtual TofMcHitBuilder::~TofMcHitBuilder ( )
inlinevirtual

◆ TofMcHitBuilder() [3/3]

TofMcHitBuilder::TofMcHitBuilder ( )

◆ ~TofMcHitBuilder() [3/3]

virtual TofMcHitBuilder::~TofMcHitBuilder ( )
inlinevirtual

Member Function Documentation

◆ getREID() [1/3]

uint32_t TofMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

Definition at line 118 of file TofMcHitBuilder.cxx.

118{ return 0; }

◆ getREID() [2/3]

virtual uint32_t TofMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

◆ getREID() [3/3]

virtual uint32_t TofMcHitBuilder::getREID ( uint32_t reid)
virtual

Implements Builder.

◆ getTEID() [1/3]

uint32_t TofMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

Definition at line 116 of file TofMcHitBuilder.cxx.

116{ return 0; }

◆ getTEID() [2/3]

virtual uint32_t TofMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

◆ getTEID() [3/3]

virtual uint32_t TofMcHitBuilder::getTEID ( uint32_t teid)
virtual

Implements Builder.

◆ initialize() [1/3]

StatusCode TofMcHitBuilder::initialize ( string & initFile)
virtual

Reimplemented from Builder.

Definition at line 77 of file TofMcHitBuilder.cxx.

77 {
78 ifstream f;
79
80 // read init file
81 f.open( initFile.c_str() );
82
83 if ( f.bad() )
84 {
85 cerr << "Error: could not open file " << initFile << endl;
86 return StatusCode::FAILURE;
87 }
88
89 if ( !Builder::find( f, "##TofTruthConf", initFile ) )
90 {
91 cerr << "Error: could not find '##TofTruthConf' in file " << initFile << endl;
92 return StatusCode::FAILURE;
93 }
94
95 if ( !Builder::expect( f, "#TofTruthShift", initFile ) ||
96 !Builder::expectInt( f, "trackIndex", initFile, m_trackIndexIndex, m_trackIndexMask ) ||
97 !Builder::expectInt( f, "partId", initFile, m_partIdIndex, m_partIdMask ) ||
98 !Builder::expectInt( f, "scinNb", initFile, m_scinNbIndex, m_scinNbMask ) ||
99 !Builder::expectInt( f, "strip", initFile, m_stripIndex, m_stripMask ) ||
100 !Builder::expect( f, "#TofTruthCoeff", initFile ) ||
101 !Builder::expectLong( f, "x", initFile, m_xCoeff ) ||
102 !Builder::expectLong( f, "y", initFile, m_yCoeff ) ||
103 !Builder::expectLong( f, "z", initFile, m_zCoeff ) ||
104 !Builder::expectLong( f, "px", initFile, m_pxCoeff ) ||
105 !Builder::expectLong( f, "py", initFile, m_pyCoeff ) ||
106 !Builder::expectLong( f, "pz", initFile, m_pzCoeff ) ||
107 !Builder::expectLong( f, "trackLength", initFile, m_trackLengthCoeff ) ||
108 !Builder::expectLong( f, "time", initFile, m_timeCoeff ) )
109 return StatusCode::FAILURE;
110
111 f.close();
112
113 return StatusCode::SUCCESS;
114}
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 TofMcHitBuilder().

◆ initialize() [2/3]

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

Reimplemented from Builder.

◆ initialize() [3/3]

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

Reimplemented from Builder.

◆ pack() [1/3]

StatusCode TofMcHitBuilder::pack ( TofMcHitCol * tofMcHitCol,
WriteRawEvent *& re )
virtual

Definition at line 37 of file TofMcHitBuilder.cxx.

37 {
38 /*
39 if (tofMcHitCol == NULL) {
40 cout << "TofMcHitBuilder::pack cant get TofMcHitCol" << endl;
41 return StatusCode::FAILURE;
42 }
43
44 vector<uint32_t> *tofReMcHitVec = new vector<uint32_t>;
45 TofTruth_t m_TofTruth;
46
47 TofMcHitCol::const_iterator pTofMcHit = tofMcHitCol->begin();
48 for ( ; pTofMcHit != tofMcHitCol->end(); pTofMcHit++) {
49 // make TofTruth_t data
50 makeTofTruth(pTofMcHit, m_TofTruth);
51 //pack the int numbers
52 uint32_t helpVal = (m_TofTruth.trackIndex<<m_trackIndexIndex) & m_trackIndexMask;
53 helpVal |= ((m_TofTruth.partId<<m_partIdIndex) & m_partIdMask);
54 helpVal |= ((m_TofTruth.scinNb<<m_scinNbIndex) & m_scinNbMask);
55 //fill the McHit vector
56 tofReMcHitVec->push_back(helpVal);
57 tofReMcHitVec->push_back(m_TofTruth.x);
58 tofReMcHitVec->push_back(m_TofTruth.y);
59 tofReMcHitVec->push_back(m_TofTruth.z);
60 tofReMcHitVec->push_back(m_TofTruth.px);
61 tofReMcHitVec->push_back(m_TofTruth.py);
62 tofReMcHitVec->push_back(m_TofTruth.pz);
63 tofReMcHitVec->push_back(m_TofTruth.trackLength);
64 tofReMcHitVec->push_back(m_TofTruth.time);
65 }
66
67 OfflineEventFormat::SubDetectorHeader sh(OfflineEventFormat::TOFTRUTH);
68 SubRawEvent *sub = new SubRawEvent(sh, tofReMcHitVec);
69 re->append(sub);
70 */
71
72 return StatusCode::SUCCESS;
73}

◆ pack() [2/3]

virtual StatusCode TofMcHitBuilder::pack ( TofMcHitCol * tofMcHitCol,
WriteRawEvent *& re )
virtual

◆ pack() [3/3]

virtual StatusCode TofMcHitBuilder::pack ( TofMcHitCol * tofMcHitCol,
WriteRawEvent *& re )
virtual

◆ unPack() [1/3]

void TofMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & iter,
vector< uint32_t >::const_iterator & eiter,
TofTruth_t & tt )
virtual

Definition at line 9 of file TofMcHitBuilder.cxx.

10 {
11 uint32_t helpVal = *( iter++ );
12 assert( iter != eiter );
13 tt.x = *( iter++ );
14 assert( iter != eiter );
15 tt.y = *( iter++ );
16 assert( iter != eiter );
17 tt.z = *( iter++ );
18 assert( iter != eiter );
19 tt.px = *( iter++ );
20 assert( iter != eiter );
21 tt.py = *( iter++ );
22 assert( iter != eiter );
23 tt.pz = *( iter++ );
24 assert( iter != eiter );
25 tt.trackLength = *( iter++ );
26 assert( iter != eiter );
27 tt.time = *( iter++ );
28
29 tt.trackIndex = ( helpVal & m_trackIndexMask ) >> m_trackIndexIndex;
30 tt.partId = ( helpVal & m_partIdMask ) >> m_partIdIndex;
31 tt.scinNb = ( helpVal & m_scinNbMask ) >> m_scinNbIndex;
32 tt.strip = ( helpVal & m_stripMask ) >> m_stripIndex;
33
34 return;
35}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)

◆ unPack() [2/3]

virtual void TofMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & ,
vector< uint32_t >::const_iterator & ,
TofTruth_t &  )
virtual

◆ unPack() [3/3]

virtual void TofMcHitBuilder::unPack ( vector< uint32_t >::const_iterator & ,
vector< uint32_t >::const_iterator & ,
TofTruth_t &  )
virtual

Member Data Documentation

◆ m_pxCoeff

uint64_t TofMcHitBuilder::m_pxCoeff

◆ m_pyCoeff

uint64_t TofMcHitBuilder::m_pyCoeff

◆ m_pzCoeff

uint64_t TofMcHitBuilder::m_pzCoeff

◆ m_timeCoeff

uint64_t TofMcHitBuilder::m_timeCoeff

◆ m_trackLengthCoeff

uint64_t TofMcHitBuilder::m_trackLengthCoeff

◆ m_xCoeff

uint64_t TofMcHitBuilder::m_xCoeff

◆ m_yCoeff

uint64_t TofMcHitBuilder::m_yCoeff

◆ m_zCoeff

uint64_t TofMcHitBuilder::m_zCoeff

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