G4QAtomicPhysics Class Reference

#include <G4QAtomicPhysics.hh>

Inheritance diagram for G4QAtomicPhysics:

G4VPhysicsConstructor

Public Member Functions

 G4QAtomicPhysics (G4int ver=0)
 G4QAtomicPhysics (G4int ver, const G4String &name)
virtual ~G4QAtomicPhysics ()
virtual void ConstructParticle ()
virtual void ConstructProcess ()

Detailed Description

Definition at line 49 of file G4QAtomicPhysics.hh.


Constructor & Destructor Documentation

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 }

G4QAtomicPhysics::G4QAtomicPhysics ( G4int  ver,
const G4String name 
)

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]

Definition at line 106 of file G4QAtomicPhysics.cc.

00107 {}


Member Function Documentation

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().

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:04 2013 for Geant4 by  doxygen 1.4.7