diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4DetectorConstruction.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4DetectorConstruction.cxx index 64807bc327b7bb695986f69e3d0df0783e727161..a5c8db1a01cbcfdeea166f37cacb7115036bd14e 100644 --- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4DetectorConstruction.cxx +++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4DetectorConstruction.cxx @@ -26,8 +26,13 @@ G4Material* G4DetectorConstruction::s_g4vacuum = new G4Material("Vacuum",1.,1.01 kStateGas,0.1*CLHEP::kelvin, 1.e-19*CLHEP::pascal); G4DetectorConstruction::G4DetectorConstruction() - : m_worldLog(0), - m_worldPhys(0) + : m_material(nullptr), + m_worldLog(nullptr), + m_detectorLog(nullptr), + m_layerLog(nullptr), + m_worldPhys(nullptr), + m_detectorPhys(nullptr), + m_layerPhys(nullptr) {} diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx index 72ba17deaf256a0a8301d2ab1ad43f57f2665944..e7608fa721fbcf666784bb1b67418dae6e439b31 100644 --- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx +++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx @@ -53,13 +53,24 @@ iGeant4::PhysicsValidationUserAction::PhysicsValidationUserAction(const std::str m_thistSvc("THistSvc",name), //m_validationStream("ISFMaterial"), m_validationStream("ISFG4SimKernel"), + // branches + m_wzOaTr(0), m_thIn(0), m_phIn(0), m_dIn(0), + m_thEnd(0), m_phEnd(0), m_dEnd(0), + m_X0(0), m_L0(0), m_wZ(0), m_dt(0), + // more branches + m_interactions(nullptr), + m_process(0), m_pdg_mother(0), m_gen_mother(0), m_nChild(0), + m_vtx_dist(0), m_vtx_theta(0), m_vtx_phi(0), m_vtx_e_diff(0), + m_vtx_p_diff(0), m_vtx_plong_diff(0), m_vtx_pperp_diff(0), + m_p_mother(0), m_radLength(0), //Values taken from G4DetectorEnvelopes/EnvelopeGeometryManager.h m_idR(1150.-1.e-5), m_idZ(3490.), m_caloRmean(0.5*(40.+4250.)), m_caloZmean(0.5*(3490.+6740.)), m_muonRmean(0.5*(60.+30000.)), m_muonZmean(0.5*(6740.+30000.)), m_cavernRmean(300000.0), m_cavernZmean(300000.0), m_volumeOffset(1), - m_minHistoryDepth(0) + m_minHistoryDepth(0), + m_currentTrack(0) { ATH_MSG_DEBUG("create PhysicsValidationUserAction name: "<<name); diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx index 10783e6514adc53f7dad9b5879a768aa24b8e3d0..8b35a622847e52c30933a6a6a2ee0132e963273c 100644 --- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx +++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx @@ -47,6 +47,7 @@ iGeant4::G4TransportTool::G4TransportTool(const std::string& t, const IInterface* p ) : AthAlgTool(t,n,p), m_useMT(false), + m_pRunMgr(nullptr), m_UASvc("",n), m_userActionSvc("",n), m_rndmGenSvc("AtDSFMTGenSvc",n), @@ -56,7 +57,7 @@ iGeant4::G4TransportTool::G4TransportTool(const std::string& t, m_physListTool("PhysicsListToolBase"), m_mcEventCollectionName("TruthEvent"), m_quasiStableParticlesIncluded(false), - m_worldSolid(0) + m_worldSolid(nullptr) { declareInterface<ITransportTool>(this); @@ -86,6 +87,17 @@ iGeant4::G4TransportTool::G4TransportTool(const std::string& t, // Multi-threading specific settings declareProperty("MultiThreading", m_useMT=false); +} + +//________________________________________________________________________ +iGeant4::G4TransportTool::~G4TransportTool() +{} + +//________________________________________________________________________ +StatusCode iGeant4::G4TransportTool::initialize() +{ + ATH_MSG_VERBOSE("initialize"); + // get G4AtlasRunManager ATH_MSG_DEBUG("initialize G4AtlasRunManager"); @@ -95,24 +107,14 @@ iGeant4::G4TransportTool::G4TransportTool(const std::string& t, ATH_MSG_FATAL("Could not get "<<m_g4RunManagerHelper); } - //p_runMgr = G4AtlasRunManager::GetG4AtlasRunManager(); // clashes with use of G4HadIntProcessor - p_runMgr = m_g4RunManagerHelper ? m_g4RunManagerHelper->g4RunManager() : 0; + //m_pRunMgr = G4AtlasRunManager::GetG4AtlasRunManager(); // clashes with use of G4HadIntProcessor + m_pRunMgr = m_g4RunManagerHelper ? m_g4RunManagerHelper->g4RunManager() : 0; if(m_physListTool.retrieve().isFailure()) { ATH_MSG_FATAL("Could not get PhysicsListToolBase"); } m_physListTool->SetPhysicsList(); -} - -//________________________________________________________________________ -iGeant4::G4TransportTool::~G4TransportTool() -{} - -//________________________________________________________________________ -StatusCode iGeant4::G4TransportTool::initialize() -{ - ATH_MSG_VERBOSE("initialize"); // retrieve BarcodeSvc if ( m_barcodeSvc.retrieve().isFailure() ) { @@ -148,7 +150,7 @@ StatusCode iGeant4::G4TransportTool::initialize() // V2 user action service if( !m_userActionSvc.name().empty() ) { ATH_CHECK( m_userActionSvc.retrieve() ); - p_runMgr->SetUserActionSvc( m_userActionSvc.typeAndName() ); + m_pRunMgr->SetUserActionSvc( m_userActionSvc.typeAndName() ); } if(m_useMT) { @@ -183,11 +185,11 @@ StatusCode iGeant4::G4TransportTool::initialize() ui->ApplyCommand("/MagneticField/Initialize"); } - p_runMgr->SetReleaseGeo( m_releaseGeoModel ); - p_runMgr->SetRecordFlux( m_recordFlux ); + m_pRunMgr->SetReleaseGeo( m_releaseGeoModel ); + m_pRunMgr->SetRecordFlux( m_recordFlux ); // *AS* TEST: - // *AS* p_runMgr->Initialize(); + // *AS* m_pRunMgr->Initialize(); // *AS* but this is a good place @@ -220,7 +222,7 @@ StatusCode iGeant4::G4TransportTool::initialize() ATH_MSG_FATAL("Could not get "<<m_particleBroker); return StatusCode::FAILURE; } - //p_runMgr->setParticleBroker(&m_particleBroker); + //m_pRunMgr->setParticleBroker(&m_particleBroker); if (m_particleHelper.retrieve().isSuccess()) ATH_MSG_DEBUG("retrieved "<<m_particleHelper); @@ -228,7 +230,7 @@ StatusCode iGeant4::G4TransportTool::initialize() ATH_MSG_FATAL("Could not get "<<m_particleHelper); return StatusCode::FAILURE; } - //p_runMgr->setParticleHelper(&m_particleHelper); + //m_pRunMgr->setParticleHelper(&m_particleHelper); */ /* if (m_configTool.retrieve().isSuccess()) @@ -248,7 +250,7 @@ StatusCode iGeant4::G4TransportTool::finalize() ATH_MSG_DEBUG("\t terminating the current G4 run"); - p_runMgr->RunTermination(); + m_pRunMgr->RunTermination(); return StatusCode::SUCCESS; } @@ -263,7 +265,7 @@ StatusCode iGeant4::G4TransportTool::process(const ISF::ISFParticle& isp) G4Event* inputEvent=ISF_to_G4Event(isp); if (inputEvent) { - bool abort = p_runMgr->ProcessEvent(inputEvent); + bool abort = m_pRunMgr->ProcessEvent(inputEvent); if (abort) { ATH_MSG_WARNING("Event was aborted !! "); @@ -301,7 +303,7 @@ StatusCode iGeant4::G4TransportTool::processVector(const ISF::ConstISFParticleVe G4Event* inputEvent = ISF_to_G4Event(ispVector); if (inputEvent) { - bool abort = p_runMgr->ProcessEvent(inputEvent); + bool abort = m_pRunMgr->ProcessEvent(inputEvent); if (abort) { ATH_MSG_WARNING("Event was aborted !! "); diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h index 022de76a19e6ec1411cf4d271989e43b7f260cd0..3cfdb95d1136ea1d077a444cc2ac5973acf48d43 100644 --- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h +++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h @@ -94,7 +94,7 @@ namespace iGeant4 HepMC::GenEvent* genEvent() const; - G4AtlasRunManager * p_runMgr; + G4AtlasRunManager * m_pRunMgr; /// Activate multi-threading configuration bool m_useMT;