diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp index 9ef16425454ad9a520659b07536d7ebf344018cc..954664bf21a5897f86285f1380299bf16068df1a 100644 --- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp +++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp @@ -173,7 +173,7 @@ Edm4hepWriterAnaElemTool::EndOfEventAction(const G4Event* anEvent) { } dd4hep::sim::Geant4TrackerHit* trk_hit = dynamic_cast<dd4hep::sim::Geant4TrackerHit*>(h); - if (trk_hit) { + if (trk_hit && tracker_col_ptr) { ++n_trk_hit; // auto edm_trk_hit = trackercols->create(); auto edm_trk_hit = tracker_col_ptr->create(); @@ -192,10 +192,11 @@ Edm4hepWriterAnaElemTool::EndOfEventAction(const G4Event* anEvent) { trk_hit->momentum.y()/CLHEP::GeV, trk_hit->momentum.z()/CLHEP::GeV}; edm_trk_hit.setMomentum(edm4hep::Vector3f(mom)); + } dd4hep::sim::Geant4CalorimeterHit* cal_hit = dynamic_cast<dd4hep::sim::Geant4CalorimeterHit*>(h); - if (cal_hit) { + if (cal_hit && calo_col_ptr) { ++n_cal_hit; auto edm_calo_hit = calo_col_ptr->create(); edm_calo_hit.setCellID(cal_hit->cellID); diff --git a/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp b/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp index 0212a0e3d9b2c6fae5e608fcc540d57fa062b693..e78170bc5eaf9534a29126630458285166421772 100644 --- a/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp +++ b/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp @@ -115,7 +115,7 @@ AnExampleDetElemTool::ConstructSDandField() { m_driftchamber_sdtool = ToolHandle<ISensDetTool>("DriftChamberSensDetTool"); if (m_driftchamber_sdtool) { info() << "Find the DriftChamberSensDetTool" << endmsg; - g4sd = m_calo_sdtool->createSD(nam); + g4sd = m_driftchamber_sdtool->createSD(nam); } else { warning() << "DriftChamberSensDetTool is not found. " << endmsg; }