19 {
20
21
23 pObj = emcMcHitCol;
24
26 if ( evt == NULL )
27 {
28
29
30 return StatusCode::FAILURE;
31 }
32
33 EmcMcHit* emcMcHit;
34 EmcTruth_t m_EmcTruth;
35
37
38 std::vector<uint32_t>::const_iterator
iter = evt->
getEmcTruth().begin();
39 std::vector<uint32_t>::const_iterator eiter = evt->
getEmcTruth().end();
40
41 for (
int emcMcHitId = 0;
iter != eiter; emcMcHitId++ )
42 {
43
44 m_emcMcHitBuilder.unPack(
iter, eiter, m_EmcTruth );
45
46 Identifier ident =
48
49 emcMcHit = new EmcMcHit(
50 ident, m_EmcTruth.
trackIndex, m_EmcTruth.
x / ( m_emcMcHitBuilder.m_xCoeff * 1.0 ),
51 m_EmcTruth.
y / ( m_emcMcHitBuilder.m_yCoeff * 1.0 ),
52 m_EmcTruth.
z / ( m_emcMcHitBuilder.m_zCoeff * 1.0 ),
53 m_EmcTruth.
px / ( m_emcMcHitBuilder.m_pxCoeff * 1.0 ),
54 m_EmcTruth.
py / ( m_emcMcHitBuilder.m_pyCoeff * 1.0 ),
55 m_EmcTruth.
pz / ( m_emcMcHitBuilder.m_pzCoeff * 1.0 ),
56 m_EmcTruth.
totalEdep / ( m_emcMcHitBuilder.m_totalEdepCoeff * 1.0 ) );
57
58 emcMcHitCol->push_back( emcMcHit );
59 }
60
61 return StatusCode::SUCCESS;
62 }
ObjectVector< EmcMcHit > EmcMcHitCol
static Identifier crystal_id(const unsigned int barrel_ec, const unsigned int theta_module, const unsigned int phi_module)
For a single crystal.
const int_vector & getEmcTruth() const
IRawDataInputSvc * m_inputSvc