35 if( particleDef ==
nullptr )
36 particleDef = G4Electron::Electron();
38 auto transport = transportPair.first;
39 auto coupledTransport = transportPair.second;
41 if( transport !=
nullptr )
44 ATH_MSG_INFO(
"Setting looper values of G4Transportation process...");
45 if(
m_config.WarningEnergy >= 0.0 ) {
46 transport->SetThresholdWarningEnergy(
m_config.WarningEnergy );
51 if(
m_config.ImportantEnergy >= 0.0 ) {
52 transport->SetThresholdImportantEnergy(
m_config.ImportantEnergy );
59 transport->SetThresholdTrials(
m_config.NumberOfTrials );
66#if G4VERSION_NUMBER > 1049
67 transport->ReportLooperThresholds();
70 else if( coupledTransport !=
nullptr )
73 ATH_MSG_INFO(
"Setting looper values of G4CoupledTransportation process...");
74 if(
m_config.WarningEnergy >= 0.0 ) {
75 coupledTransport->SetThresholdWarningEnergy(
m_config.WarningEnergy );
80 if(
m_config.ImportantEnergy >= 0.0 ) {
81 coupledTransport->SetThresholdImportantEnergy(
m_config.ImportantEnergy );
88 coupledTransport->SetThresholdTrials(
m_config.NumberOfTrials );
95#if G4VERSION_NUMBER > 1049
96 coupledTransport->ReportLooperThresholds();
104 const auto *partPM = particleDef->GetProcessManager();
106 G4VProcess* partTransport = partPM->GetProcess(
"Transportation");
107 auto transport =
dynamic_cast<G4Transportation*
>(partTransport);
109 partTransport = partPM->GetProcess(
"CoupledTransportation");
110 auto coupledTransport=
111 dynamic_cast<G4CoupledTransportation*
>(partTransport);
113 return std::make_pair( transport, coupledTransport );