From 0cbb0430b1e358b4614f9b1da4f6e6eb7e30cf97 Mon Sep 17 00:00:00 2001 From: wenxingfang <1473717798@qq.com> Date: Thu, 9 Nov 2023 14:42:22 +0800 Subject: [PATCH] save the data in DriftChamberSensitiveDetector --- .../DetSimAna/src/Edm4hepWriterAnaElemTool.cpp | 16 +--------------- .../DetSimAna/src/Edm4hepWriterAnaElemTool.h | 3 --- Simulation/DetSimDedx/src/TrackHeedSimTool.h | 10 +++++----- .../DetSimSD/src/DriftChamberSensDetTool.cpp | 1 - .../src/DriftChamberSensitiveDetector.cpp | 3 ++- 5 files changed, 8 insertions(+), 25 deletions(-) diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp index 4d7c3406..b6ab38e6 100644 --- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp +++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp @@ -89,10 +89,6 @@ Edm4hepWriterAnaElemTool::BeginOfEventAction(const G4Event* anEvent) { m_track2primary.clear(); auto SimPIonCol = m_SimPrimaryIonizationCol.createAndPut(); - if(hasTrackHeedSimTool){ - debug() << "reset TrackHeedSimTool" << endmsg; - m_TrackHeedSimTool->reset(); - } } @@ -102,11 +98,7 @@ Edm4hepWriterAnaElemTool::EndOfEventAction(const G4Event* anEvent) { msg() << "mcCol size (after simulation) : " << mcCol->size() << endmsg; // save all data auto SimPrimaryIonizationCol = m_SimPrimaryIonizationCol.get(); - msg() << "SimPrimaryIonizationCol size ="<<SimPrimaryIonizationCol->size()<<endmsg; - if(hasTrackHeedSimTool){ - debug() << "call endOfEvent() for TrackHeedSimTool" << endmsg; - m_TrackHeedSimTool->endOfEvent(); - } + //msg() << "SimPrimaryIonizationCol size ="<<SimPrimaryIonizationCol->size()<<endmsg; // create collections. auto trackercols = m_trackerCol.createAndPut(); auto calorimetercols = m_calorimeterCol.createAndPut(); @@ -573,12 +565,6 @@ StatusCode Edm4hepWriterAnaElemTool::initialize() { StatusCode sc; - m_TrackHeedSimTool = ToolHandle<IDedxSimTool>("TrackHeedSimTool",nullptr,false); - if(m_TrackHeedSimTool){ - msg() << "find TrackHeedSimTool" << endmsg; - hasTrackHeedSimTool = true; - } - return sc; } diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h index 6aedbdc6..60cc930a 100644 --- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h +++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h @@ -16,7 +16,6 @@ #include "edm4hep/SimCalorimeterHitCollection.h" #include "edm4hep/CaloHitContributionCollection.h" #include "edm4hep/SimPrimaryIonizationClusterCollection.h" -#include <DetSimInterface/IDedxSimTool.h> class Edm4hepWriterAnaElemTool: public extends<AlgTool, IAnaElemTool> { @@ -156,8 +155,6 @@ private: double Z = 0; bool verboseOutput = false; - ToolHandle<IDedxSimTool> m_TrackHeedSimTool; - bool hasTrackHeedSimTool = false; }; #endif diff --git a/Simulation/DetSimDedx/src/TrackHeedSimTool.h b/Simulation/DetSimDedx/src/TrackHeedSimTool.h index 46a9bd89..8696d4f6 100644 --- a/Simulation/DetSimDedx/src/TrackHeedSimTool.h +++ b/Simulation/DetSimDedx/src/TrackHeedSimTool.h @@ -102,19 +102,19 @@ class TrackHeedSimTool: public extends<AlgTool, IDedxSimTool> { Sensor* m_sensor; std::map<int, std::string> m_particle_map; - int m_previous_track_ID; - float m_previous_KE; + int m_previous_track_ID=0; + float m_previous_KE=0; int m_current_track_ID; int m_current_Parent_ID; int m_pdg_code; G4StepPoint* m_pre_point; G4StepPoint* m_post_point; G4double m_total_range; - bool m_isFirst; + bool m_isFirst=true; bool m_change_track; edm4hep::MCParticle m_mc_paricle; - float m_tot_edep; - float m_tot_length; + float m_tot_edep=0; + float m_tot_length=0; float m_pa_KE; G4double m_pre_x ; diff --git a/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp b/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp index c911d470..58c49d6c 100644 --- a/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp +++ b/Simulation/DetSimSD/src/DriftChamberSensDetTool.cpp @@ -22,7 +22,6 @@ StatusCode DriftChamberSensDetTool::initialize() { error() << "Failed to find dedx simtoo." << endmsg; return StatusCode::FAILURE; } - return sc; } diff --git a/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp b/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp index c6ff3db0..c1d76802 100644 --- a/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp +++ b/Simulation/DetSimSD/src/DriftChamberSensitiveDetector.cpp @@ -71,5 +71,6 @@ DriftChamberSensitiveDetector::ProcessHits(G4Step* step, G4TouchableHistory*) { void DriftChamberSensitiveDetector::EndOfEvent(G4HCofThisEvent* HCE) { - + m_dedx_simtool->endOfEvent(); + m_dedx_simtool->reset(); } -- GitLab