From 8d5d2a5a8aee3c57558163cfbfe246ad0f48504c Mon Sep 17 00:00:00 2001 From: lintao <lintao51@gmail.com> Date: Thu, 7 Nov 2019 21:10:36 +0800 Subject: [PATCH] WIP: optimize the code, get hit collection at begin. --- .../DetSimAna/src/ExampleAnaElemTool.cpp | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp b/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp index b6040adf..bfc2968f 100644 --- a/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp +++ b/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp @@ -67,6 +67,17 @@ ExampleAnaElemTool::EndOfEventAction(const G4Event* anEvent) { // just skip this collection. continue; } + + plcio::SimTrackerHitCollection* tracker_col_ptr = nullptr; + + if (collect->GetName() == "VXDCollection") { + tracker_col_ptr = vxdcols; + } else { + tracker_col_ptr = trackercols; + } + + + // There are different types (new and old) dd4hep::sim::Geant4HitCollection* coll = dynamic_cast<dd4hep::sim::Geant4HitCollection*>(collect); @@ -112,16 +123,8 @@ ExampleAnaElemTool::EndOfEventAction(const G4Event* anEvent) { if (trk_hit) { info() << " cast to dd4hep::sim::Geant4TrackerHit. " << endmsg; - plcio::SimTrackerHitCollection* colptr = nullptr; - - if (collect->GetName() == "VXDCollection") { - colptr = vxdcols; - } else { - colptr = trackercols; - } - // auto edm_trk_hit = trackercols->create(); - auto edm_trk_hit = (*colptr)->create(); + auto edm_trk_hit = tracker_col_ptr->create(); // Refer to: ./DDG4/lcio/LCIOConversions.cpp edm_trk_hit->setCellID0((trk_hit->cellID >> 0 ) & 0xFFFFFFFF); -- GitLab