slic/include
diff -u -r1.2 -r1.3
--- LCExtendedParticles.hh 6 Aug 2009 20:03:25 -0000 1.2
+++ LCExtendedParticles.hh 18 Aug 2009 23:14:32 -0000 1.3
@@ -7,6 +7,8 @@
// geant4
#include "G4VPhysicsConstructor.hh"
#include "G4Decay.hh"
+#include "G4hIonisation.hh"
+#include "G4hMultipleScattering.hh"
namespace slic
{
@@ -26,6 +28,8 @@
//LCExtendedDecay m_decay;
G4Decay m_decay;
+ G4hIonisation m_ionise;
+ G4hMultipleScattering m_scatter;
};
}
slic/src
diff -u -r1.2 -r1.3
--- LCExtendedParticles.cc 6 Aug 2009 20:03:26 -0000 1.2
+++ LCExtendedParticles.cc 18 Aug 2009 23:14:32 -0000 1.3
@@ -75,8 +75,15 @@
G4ProcessManager* pmgr = pdef->GetProcessManager();
if ( pdef->GetParticleType() == "extended" || pdef->GetParticleType() == "susy" )
{
- //G4cout << "adding decay to " << pdef->GetParticleName() << G4endl;
- pmgr->AddProcess( &m_decay, -1, -1, 1 );
+ if (pdef->GetPDGCharge() != 0)
+ {
+ pmgr->AddProcess( &m_scatter, -1, 1, 1); // multiple scattering (must go first)
+ pmgr->AddProcess( &m_ionise, -1, 2, 2 ); // ionisation
+ pmgr->AddProcess( &m_decay, -1, -1, 3 ); // decay
+ }
+ else {
+ pmgr->AddProcess( &m_decay, -1, -1, 1 ); // decay
+ }
}
}
}