32 if (!inputCollection.
isValid()) {
33 ATH_MSG_ERROR(
"Could not get input hits collection " << inputCollection.
name() <<
" from store " << inputCollection.
store());
34 return StatusCode::FAILURE;
36 ATH_MSG_DEBUG(
"Found input hits collection " << inputCollection.
name() <<
" in store " << inputCollection.
store());
39 ATH_CHECK(outputCollection.record(std::make_unique<sTGCSimHitCollection>()));
40 if (!outputCollection.isValid()) {
41 ATH_MSG_ERROR(
"Could not record output hits collection " << outputCollection.name() <<
" to store " << outputCollection.store());
42 return StatusCode::FAILURE;
44 ATH_MSG_DEBUG(
"Recorded output hits collection " << outputCollection.name() <<
" in store " << outputCollection.store());
50 for (
const sTGCSimHit &hit : *inputCollection) {
52 int id = hit.sTGCId();
53 double time = hit.globalTime();
55 int pdgID = hit.particleEncoding();
57 double energyDeposit = hit.depositEnergy();
58 double kineticEnergy = hit.kineticEnergy();
61 outputCollection->Emplace(
id, time, position, pdgID, direction, energyDeposit, particleLink, kineticEnergy, preposition);
64 return StatusCode::SUCCESS;
a link optimized in size for a GenParticle in a McEventCollection