![]() |
![]() |
#include <CMSEmStandardPhysics95.h>
Public Member Functions | |
CMSEmStandardPhysics95 (const G4String &name, G4int ver, std::string reg) | |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
virtual | ~CMSEmStandardPhysics95 () |
Private Attributes | |
std::string | region |
G4int | verbose |
Definition at line 9 of file CMSEmStandardPhysics95.h.
CMSEmStandardPhysics95::CMSEmStandardPhysics95 | ( | const G4String & | name, |
G4int | ver, | ||
std::string | reg | ||
) |
CMSEmStandardPhysics95::~CMSEmStandardPhysics95 | ( | ) | [virtual] |
Definition at line 80 of file CMSEmStandardPhysics95.cc.
{}
void CMSEmStandardPhysics95::ConstructParticle | ( | ) | [virtual] |
Definition at line 82 of file CMSEmStandardPhysics95.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 CMSEmStandardPhysics95::ConstructProcess | ( | ) | [virtual] |
Definition at line 128 of file CMSEmStandardPhysics95.cc.
References conv, kp, mod(), pi, and pip.
{ // Add standard EM Processes /* G4Region* reg = 0; if (region != " ") { G4RegionStore* regStore = G4RegionStore::GetInstance(); reg = regStore->GetRegion(region, true); } */ G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); // Add standard EM Processes theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4String particleName = particle->GetParticleName(); if(verbose > 1) G4cout << "### " << GetPhysicsName() << " instantiates for " << particleName << G4endl; if (particleName == "gamma") { ph->RegisterProcess(new G4PhotoElectricEffect(), particle); ph->RegisterProcess(new G4ComptonScattering(), particle); G4GammaConversion* conv = new G4GammaConversion(); G4PairProductionRelModel* mod = new G4PairProductionRelModel(); mod->SetLowEnergyLimit(100*GeV); conv->AddEmModel(0, mod); ph->RegisterProcess(conv, particle); } else if (particleName == "e-") { G4eIonisation* eioni = new G4eIonisation(); eioni->SetStepFunction(0.8, 1.0*mm); G4eMultipleScattering* msc = new G4eMultipleScattering(); msc->SetStepLimitType(fMinimal); msc->AddEmModel(0, new G4UrbanMscModel93()); G4eBremsstrahlung* ebrem = new G4eBremsstrahlung(); ph->RegisterProcess(msc, particle); ph->RegisterProcess(eioni, particle); ph->RegisterProcess(ebrem, particle); } else if (particleName == "e+") { G4eIonisation* eioni = new G4eIonisation(); eioni->SetStepFunction(0.8, 1.0*mm); G4eMultipleScattering* msc = new G4eMultipleScattering(); msc->SetStepLimitType(fMinimal); msc->AddEmModel(0, new G4UrbanMscModel93()); G4eBremsstrahlung* ebrem = new G4eBremsstrahlung(); ph->RegisterProcess(msc, particle); ph->RegisterProcess(eioni, particle); ph->RegisterProcess(ebrem, particle); ph->RegisterProcess(new G4eplusAnnihilation(), particle); } else if (particleName == "mu+" || particleName == "mu-" ) { G4MuMultipleScattering* msc = new G4MuMultipleScattering(); G4MuBremsstrahlung* mub = new G4MuBremsstrahlung(); G4MuPairProduction* mup = new G4MuPairProduction(); ph->RegisterProcess(msc, particle); ph->RegisterProcess(new G4MuIonisation(), particle); ph->RegisterProcess(mub, particle); ph->RegisterProcess(mup, particle); } else if (particleName == "alpha" || particleName == "He3" ) { ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); } else if (particleName == "GenericIon") { ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4ionIonisation(), particle); } else if (particleName == "pi+" || particleName == "pi-" ) { G4hBremsstrahlung* pib = new G4hBremsstrahlung(); G4hPairProduction* pip = new G4hPairProduction(); ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(pib, particle); ph->RegisterProcess(pip, particle); } else if (particleName == "kaon+" || particleName == "kaon-" ) { G4hBremsstrahlung* kb = new G4hBremsstrahlung(); G4hPairProduction* kp = new G4hPairProduction(); ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(kb, particle); ph->RegisterProcess(kp, particle); } else if (particleName == "proton" ) { ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); ph->RegisterProcess(new G4hBremsstrahlung(), particle); ph->RegisterProcess(new G4hPairProduction(), particle); } else if (particleName == "B+" || particleName == "B-" || particleName == "D+" || particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || particleName == "anti_He3" || particleName == "anti_alpha" || particleName == "anti_deuteron" || 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_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || particleName == "lambda_c+" || particleName == "omega-" || particleName == "sigma_c+" || particleName == "sigma_c++" || particleName == "sigma+" || particleName == "sigma-" || particleName == "tau+" || particleName == "tau-" || particleName == "triton" || particleName == "xi_c+" || particleName == "xi-" ) { ph->RegisterProcess(new G4hMultipleScattering(), particle); ph->RegisterProcess(new G4hIonisation(), particle); } } // Setup options // G4EmProcessOptions opt; opt.SetVerbose(verbose); opt.SetPolarAngleLimit(CLHEP::pi); // ApplyCuts // opt.SetApplyCuts(true); }
std::string CMSEmStandardPhysics95::region [private] |
Definition at line 20 of file CMSEmStandardPhysics95.h.
G4int CMSEmStandardPhysics95::verbose [private] |
Definition at line 19 of file CMSEmStandardPhysics95.h.