Print

Print


Commit in slic on MAIN
include/LCExtendedParticles.hh+41.2 -> 1.3
src/LCExtendedParticles.cc+9-21.2 -> 1.3
+13-2
2 modified files
preliminary support for ionisation and multiple scattering processes for extended particle set

slic/include
LCExtendedParticles.hh 1.2 -> 1.3
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
LCExtendedParticles.cc 1.2 -> 1.3
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 
+                }
             }
         }
     }
CVSspam 0.2.8