7 #include "G4Version.hh"
8 #include "G4ParticleTable.hh"
9 #include "G4ProcessManager.hh"
10 #include "G4ParticleDefinition.hh"
11 #include "G4SystemOfUnits.hh"
16 G4VPhysicsConstructor(
name) {
22 #ifndef aParticleIterator
23 #define aParticleIterator ((subInstanceManager.offset[g4vpcInstanceID])._aParticleIterator)
34 for (HepPDT::ParticleDataTable::const_iterator it = pdtbl->begin(); it != pdtbl->end(); it++) {
35 HepPDT::ParticleID
id = it->first;
36 HepPDT::ParticleData pdata = it->second;
39 G4ParticleDefinition* pdef = G4ParticleTable::GetParticleTable()->FindParticle(pdata.pid());
46 G4String particleType =
"extended";
48 particleType =
"susy";
53 new G4ParticleDefinition(pdata.PDTname(),
54 pdata.mass().value() * GeV,
55 pdata.totalWidth().value(),
81 G4ProcessManager* pmgr = pdef->GetProcessManager();
82 if (pdef->GetParticleType() ==
"extended" || pdef->GetParticleType() ==
"susy") {
86 if (pdef->GetPDGCharge() != 0) {
88 pmgr->AddProcess(&
m_ionise, -1, 2, 2);
89 pmgr->AddProcess(&
m_decay, -1, -1, 2);
92 pmgr->AddProcess(&
m_decay, -1, -1, 2);
#define aParticleIterator
static HepPDTManager * instance()
LCExtendedParticles(const G4String &name="LCExtendedParticles")
virtual ~LCExtendedParticles()
G4hMultipleScattering m_scatter