12 #include <G4ParticleTypes.hh> 13 #include <G4ParticleDefinition.hh> 14 #include <G4ParticleWithCuts.hh> 15 #include <G4ProcessManager.hh> 16 #include <G4ProcessVector.hh> 17 #include <G4ParticleTypes.hh> 18 #include <G4ParticleTable.hh> 19 #include <G4Material.hh> 21 #include <G4StepLimiter.hh> 24 : G4VPhysicsConstructor(
"EDepSimExtra"), fIonizationModel(1) { }
33 EDepSimLog(
"EDepSim::ExtraPhysics:: Add Extra Physics Processes");
35 G4ParticleTable::G4PTblDicIterator* theParticleIterator
36 = theParticleTable->GetIterator();
38 theParticleIterator->reset();
39 while ((*theParticleIterator)()) {
40 G4ParticleDefinition* particle = theParticleIterator->value();
41 G4ProcessManager* pman = particle->GetProcessManager();
42 G4String particleName = particle->GetParticleName();
43 G4String particleType = particle->GetParticleType();
44 double charge = particle->GetPDGCharge();
49 <<
" without a Process Manager.");
56 pman->AddDiscreteProcess(
new G4StepLimiter(
"Step Limit"));
65 pman->AddProcess(scintProcess,ordDefault,
66 ordInActive,ordDefault);
74 pman->AddProcess(scintProcess,ordDefault,
75 ordInActive,ordDefault);
#define EDepSimLog(outStream)
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
Determine which particles this process should be applied too.
#define EDepSimThrow(message)
Print an error message, and then throw an exception.
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
void SetScintillationYieldFactor(const G4double yieldfactor)
#define EDepSimError(outStream)
static G4ThermalElectron * Definition()