#include <G4QAtomicPhysics.hh>
Inheritance diagram for G4QAtomicPhysics:
Public Member Functions | |
G4QAtomicPhysics (G4int ver=0) | |
G4QAtomicPhysics (G4int ver, const G4String &name) | |
virtual | ~G4QAtomicPhysics () |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
Definition at line 49 of file G4QAtomicPhysics.hh.
G4QAtomicPhysics::G4QAtomicPhysics | ( | G4int | ver = 0 |
) |
Definition at line 92 of file G4QAtomicPhysics.cc.
References bElectromagnetic, G4LossTableManager::Instance(), and G4VPhysicsConstructor::SetPhysicsType().
00093 : G4VPhysicsConstructor("CHIPS Atomic"), verbose(ver) 00094 { 00095 G4LossTableManager::Instance(); 00096 SetPhysicsType(bElectromagnetic); 00097 }
Definition at line 99 of file G4QAtomicPhysics.cc.
References bElectromagnetic, G4LossTableManager::Instance(), and G4VPhysicsConstructor::SetPhysicsType().
00100 : G4VPhysicsConstructor(name), verbose(ver) 00101 { 00102 G4LossTableManager::Instance(); 00103 SetPhysicsType(bElectromagnetic); 00104 }
G4QAtomicPhysics::~G4QAtomicPhysics | ( | ) | [virtual] |
void G4QAtomicPhysics::ConstructParticle | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 109 of file G4QAtomicPhysics.cc.
References G4Alpha::Alpha(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiXiMinus::AntiXiMinus(), G4Deuteron::Deuteron(), G4Electron::Electron(), G4Gamma::Gamma(), G4GenericIon::GenericIonDefinition(), G4He3::He3(), G4KaonMinus::KaonMinusDefinition(), G4KaonPlus::KaonPlusDefinition(), G4MuonMinus::MuonMinus(), G4MuonPlus::MuonPlus(), G4OmegaMinus::OmegaMinus(), G4PionMinus::PionMinusDefinition(), G4PionPlus::PionPlusDefinition(), G4Positron::Positron(), G4Proton::Proton(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), G4Triton::Triton(), and G4XiMinus::XiMinus().
00110 { 00111 // gamma 00112 G4Gamma::Gamma(); 00113 00114 // leptons 00115 G4Electron::Electron(); 00116 G4Positron::Positron(); 00117 G4MuonPlus::MuonPlus(); 00118 G4MuonMinus::MuonMinus(); 00119 00120 // mesons 00121 G4PionPlus::PionPlusDefinition(); 00122 G4PionMinus::PionMinusDefinition(); 00123 G4KaonPlus::KaonPlusDefinition(); 00124 G4KaonMinus::KaonMinusDefinition(); 00125 00126 // barions 00127 G4Proton::Proton(); 00128 G4AntiProton::AntiProton(); 00129 G4SigmaPlus::SigmaPlus(); 00130 G4SigmaMinus::SigmaMinus(); 00131 G4XiMinus::XiMinus(); 00132 G4OmegaMinus::OmegaMinus(); 00133 G4AntiSigmaPlus::AntiSigmaPlus(); 00134 G4AntiSigmaMinus::AntiSigmaMinus(); 00135 G4AntiXiMinus::AntiXiMinus(); 00136 G4AntiOmegaMinus::AntiOmegaMinus(); 00137 00138 // ions 00139 G4Deuteron::Deuteron(); 00140 G4Triton::Triton(); 00141 G4He3::He3(); 00142 G4Alpha::Alpha(); 00143 G4GenericIon::GenericIonDefinition(); 00144 }
void G4QAtomicPhysics::ConstructProcess | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 146 of file G4QAtomicPhysics.cc.
References G4ProcessManager::AddDiscreteProcess(), G4ProcessManager::AddProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VPhysicsConstructor::GetPhysicsName(), G4ParticleDefinition::GetProcessManager(), G4ParticleTableIterator< K, V >::reset(), G4EmProcessOptions::SetVerbose(), G4VPhysicsConstructor::theParticleIterator, and G4ParticleTableIterator< K, V >::value().
00147 { 00148 theParticleIterator->reset(); 00149 while( (*theParticleIterator)() ) 00150 { 00151 G4ParticleDefinition* particlePointer = theParticleIterator->value(); 00152 G4ProcessManager* pmanager = particlePointer->GetProcessManager(); 00153 G4String particle = particlePointer->GetParticleName(); 00154 if(verbose > 1) G4cout<<"###G4QAtomicPhysics::ConstructProcesses: try " 00155 <<GetPhysicsName()<<" builder for "<<particle<<G4endl; 00156 if ( particle == "gamma") 00157 { 00158 00159 pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); 00160 pmanager->AddDiscreteProcess(new G4ComptonScattering); 00161 pmanager->AddDiscreteProcess(new G4GammaConversion); 00162 } 00163 else if( particle == "e-") 00164 { 00165 pmanager->AddProcess(new G4eMultipleScattering(), -1, 1, 1); 00166 pmanager->AddProcess(new G4eIonisation, -1, 2, 2); 00167 pmanager->AddProcess(new G4eBremsstrahlung(), -1,-3, 3); 00168 } 00169 else if( particle == "e+") 00170 { 00171 pmanager->AddProcess(new G4eMultipleScattering(), -1, 1, 1); 00172 pmanager->AddProcess(new G4eIonisation, -1, 2, 2); 00173 pmanager->AddProcess(new G4eBremsstrahlung, -1,-3, 3); 00174 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); 00175 } 00176 else if( particle == "mu+" || particle == "mu-" ) 00177 { 00178 pmanager->AddProcess(new G4MuMultipleScattering, -1, 1, 1); 00179 pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); 00180 pmanager->AddProcess(new G4MuBremsstrahlung, -1,-3, 3); 00181 pmanager->AddProcess(new G4MuPairProduction, -1,-4, 4); 00182 } 00183 else if( particle == "pi-" || particle == "pi+" || 00184 particle == "kaon-" || particle == "kaon+" || 00185 particle == "proton" || particle == "anti_proton" || 00186 particle == "tau-" || particle == "tau+" || 00187 particle == "deuteron" || particle == "triton" || 00188 particle == "xi-" || particle == "anti_xi-" || 00189 particle == "sigma+" || particle == "anti_sigma+" || 00190 particle == "sigma-" || particle == "anti_sigma-" || 00191 particle == "omega-" || particle == "anti_omega-" ) 00192 { 00193 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00194 pmanager->AddProcess(new G4hIonisation, -1, 2, 2); 00195 pmanager->AddProcess(new G4hBremsstrahlung, -1,-3, 3); 00196 pmanager->AddProcess(new G4hPairProduction, -1,-4, 4); 00197 } 00198 else if(particle == "alpha" || particle == "He3" ||particle == "GenericIon") 00199 { 00200 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00201 pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); 00202 } 00203 else if (particle == "B+" || particle == "B-" || 00204 particle == "D+" || particle == "D-" || 00205 particle == "Ds+" || particle == "Ds-" || 00206 particle == "lambda_c+" || particle == "anti_lambda_c+" || 00207 particle == "sigma_c+" || particle == "anti_sigma_c+" || 00208 particle == "sigma_c++" || particle == "anti_sigma_c++" || 00209 particle == "xi_c+" || particle == "anti_xi_c+" ) 00210 { 00211 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00212 pmanager->AddProcess(new G4hIonisation, -1, 2, 2); 00213 } 00214 } 00215 G4EmProcessOptions opt; 00216 opt.SetVerbose(verbose); 00217 }