BOSS 6.6.4.p03
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)
 
virtual StatusCode initialize (string &initFile)
 
virtual uint32_t getTEID (uint32_t teid)=0
 
virtual uint32_t getREID (uint32_t reid)=0
 

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
 
- 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)
 
- Protected Member Functions inherited from Builder
 Builder ()
 
virtual ~Builder ()
 
void append2event (WriteRawEvent *&re, uint32_t source_id, uint32_t size)
 
- Protected Attributes inherited from Builder
PropertyMgr m_propMgr
 
uint32_t * m_buf
 
uint32_t m_status
 
- Static Protected Attributes inherited from Builder
static string m_confFile
 

Detailed Description

Definition at line 12 of file MucMcHitBuilder.h.

Constructor & Destructor Documentation

◆ MucMcHitBuilder()

MucMcHitBuilder::MucMcHitBuilder ( )

Definition at line 7 of file MucMcHitBuilder.cxx.

◆ ~MucMcHitBuilder()

virtual MucMcHitBuilder::~MucMcHitBuilder ( )
inlinevirtual

Definition at line 17 of file MucMcHitBuilder.h.

17{};

Member Function Documentation

◆ getREID()

uint32_t MucMcHitBuilder::getREID ( uint32_t  reid)
virtual

Implements Builder.

Definition at line 120 of file MucMcHitBuilder.cxx.

121{
122 return 0;
123}

◆ getTEID()

uint32_t MucMcHitBuilder::getTEID ( uint32_t  teid)
virtual

Implements Builder.

Definition at line 114 of file MucMcHitBuilder.cxx.

115{
116 return 0;
117}

◆ initialize()

StatusCode MucMcHitBuilder::initialize ( string &  initFile)
virtual

Reimplemented from Builder.

Definition at line 76 of file MucMcHitBuilder.cxx.

77{
78 ifstream f;
79
80 //read init file
81 f.open(initFile.c_str());
82
83 if ( f.bad() ) {
84 cerr << "Error: could not open file " << initFile << endl;
85 return StatusCode::FAILURE;
86 }
87
88 if (!Builder::find( f, "##MucTruthConf", initFile)) {
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}
static bool find(ifstream &f, string msg, string fname)
Definition: Builder.cxx:60
static bool expect(ifstream &f, string msg, string fname)
Definition: Builder.cxx:28
static bool expectLong(ifstream &f, string msg, string fname, uint64_t &val)
Definition: Builder.cxx:52
static bool expectInt(ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
Definition: Builder.cxx:44
std::ifstream ifstream
Definition: bpkt_streams.h:44

Referenced by MucMcHitBuilder().

◆ pack()

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

Definition at line 34 of file MucMcHitBuilder.cxx.

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

Referenced by RawDataMucMcHitCnv::createRep().

◆ unPack()

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

Definition at line 13 of file MucMcHitBuilder.cxx.

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

Referenced by RawDataMucMcHitCnv::createObj().

Member Data Documentation

◆ m_pxCoeff

uint64_t MucMcHitBuilder::m_pxCoeff

Definition at line 43 of file MucMcHitBuilder.h.

Referenced by RawDataMucMcHitCnv::createObj(), and initialize().

◆ m_pyCoeff

uint64_t MucMcHitBuilder::m_pyCoeff

Definition at line 44 of file MucMcHitBuilder.h.

Referenced by RawDataMucMcHitCnv::createObj(), and initialize().

◆ m_pzCoeff

uint64_t MucMcHitBuilder::m_pzCoeff

Definition at line 45 of file MucMcHitBuilder.h.

Referenced by RawDataMucMcHitCnv::createObj(), and initialize().

◆ m_xCoeff

uint64_t MucMcHitBuilder::m_xCoeff

Definition at line 40 of file MucMcHitBuilder.h.

Referenced by RawDataMucMcHitCnv::createObj(), and initialize().

◆ m_yCoeff

uint64_t MucMcHitBuilder::m_yCoeff

Definition at line 41 of file MucMcHitBuilder.h.

Referenced by RawDataMucMcHitCnv::createObj(), and initialize().

◆ m_zCoeff

uint64_t MucMcHitBuilder::m_zCoeff

Definition at line 42 of file MucMcHitBuilder.h.

Referenced by RawDataMucMcHitCnv::createObj(), and initialize().


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