#include <CMSEmStandardPhysics.h>
Public Member Functions | |
CMSEmStandardPhysics (const G4String &name, G4int ver) | |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
virtual | ~CMSEmStandardPhysics () |
Private Attributes | |
G4int | verbose |
Definition at line 7 of file CMSEmStandardPhysics.h.
CMSEmStandardPhysics::CMSEmStandardPhysics | ( | const G4String & | name, |
G4int | ver | ||
) |
Definition at line 63 of file CMSEmStandardPhysics.cc.
CMSEmStandardPhysics::~CMSEmStandardPhysics | ( | ) | [virtual] |
Definition at line 68 of file CMSEmStandardPhysics.cc.
{}
void CMSEmStandardPhysics::ConstructParticle | ( | ) | [virtual] |
Definition at line 70 of file CMSEmStandardPhysics.cc.
References Gamma.
{ // gamma G4Gamma::Gamma(); // leptons G4Electron::Electron(); G4Positron::Positron(); G4MuonPlus::MuonPlus(); G4MuonMinus::MuonMinus(); G4TauMinus::TauMinusDefinition(); G4TauPlus::TauPlusDefinition(); // mesons G4PionPlus::PionPlusDefinition(); G4PionMinus::PionMinusDefinition(); G4KaonPlus::KaonPlusDefinition(); G4KaonMinus::KaonMinusDefinition(); G4DMesonMinus::DMesonMinusDefinition(); G4DMesonPlus::DMesonPlusDefinition(); G4BMesonMinus::BMesonMinusDefinition(); G4BMesonPlus::BMesonPlusDefinition(); // barions G4Proton::Proton(); G4AntiProton::AntiProton(); G4SigmaMinus::SigmaMinusDefinition(); G4AntiSigmaMinus::AntiSigmaMinusDefinition(); G4SigmaPlus::SigmaPlusDefinition(); G4AntiSigmaPlus::AntiSigmaPlusDefinition(); G4XiMinus::XiMinusDefinition(); G4AntiXiMinus::AntiXiMinusDefinition(); G4OmegaMinus::OmegaMinusDefinition(); G4AntiOmegaMinus::AntiOmegaMinusDefinition(); G4LambdacPlus::LambdacPlusDefinition(); G4AntiLambdacPlus::AntiLambdacPlusDefinition(); G4XicPlus::XicPlusDefinition(); G4AntiXicPlus::AntiXicPlusDefinition(); // ions G4Deuteron::Deuteron(); G4Triton::Triton(); G4He3::He3(); G4Alpha::Alpha(); G4GenericIon::GenericIonDefinition(); }
void CMSEmStandardPhysics::ConstructProcess | ( | ) | [virtual] |
Definition at line 116 of file CMSEmStandardPhysics.cc.
{ // Add standard EM Processes theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); if(verbose > 1) G4cout << "### " << GetPhysicsName() << " instantiates for " << particleName << G4endl; if (particleName == "gamma") { pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); pmanager->AddDiscreteProcess(new G4ComptonScattering); pmanager->AddDiscreteProcess(new G4GammaConversion); } else if (particleName == "e-") { pmanager->AddProcess(new G4eMultipleScattering,-1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung(), -1,-3, 3); } else if (particleName == "e+") { pmanager->AddProcess(new G4eMultipleScattering,-1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung, -1,-3, 3); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); } else if (particleName == "mu+" || particleName == "mu-" ) { pmanager->AddProcess(new G4hMultipleScattering,-1, 1, 1); pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung, -1,-3, 3); pmanager->AddProcess(new G4MuPairProduction, -1,-4, 4); } else if (particleName == "alpha" || particleName == "He3" || particleName == "GenericIon") { pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); } else if (particleName == "B+" || particleName == "B-" || particleName == "D+" || particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || particleName == "anti_sigma_c+" || particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || particleName == "kaon+" || particleName == "kaon-" || particleName == "lambda_c+" || particleName == "omega-" || particleName == "pi+" || particleName == "pi-" || particleName == "proton" || particleName == "sigma_c+" || particleName == "sigma_c++" || particleName == "sigma+" || particleName == "sigma-" || particleName == "tau+" || particleName == "tau-" || particleName == "triton" || particleName == "xi_c+" || particleName == "xi-" ) { pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4hIonisation, -1, 2, 2); if (particleName == "pi+" || particleName == "kaon+" || particleName == "kaon-" || particleName == "proton" || particleName == "pi-" ) { pmanager->AddProcess(new G4hBremsstrahlung(), -1,-3, 3); pmanager->AddProcess(new G4hPairProduction(), -1,-4, 4); } } } G4EmProcessOptions opt; opt.SetVerbose(verbose); }
G4int CMSEmStandardPhysics::verbose [private] |
Definition at line 17 of file CMSEmStandardPhysics.h.