PhysicsList Class Reference

#include <PhysicsList.hh>

Inheritance diagram for PhysicsList:

Inheritance graph
[legend]
Collaboration diagram for PhysicsList:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 PhysicsList ()
 ~PhysicsList ()

Protected Member Functions

void ConstructParticle ()
void ConstructProcess ()
void SetCuts ()
void ConstructEM ()
void ConstructDecay ()


Detailed Description

Definition at line 16 of file PhysicsList.hh.


Constructor & Destructor Documentation

PhysicsList::PhysicsList (  ) 

Definition at line 16 of file PhysicsList.cc.

00016                         :  G4VUserPhysicsList()
00017 {
00018   defaultCutValue = 1.0*mm;
00019   SetVerboseLevel(1);
00020 }

PhysicsList::~PhysicsList (  ) 

Definition at line 24 of file PhysicsList.cc.

00025 {}


Member Function Documentation

void PhysicsList::ConstructParticle (  )  [protected]

Definition at line 29 of file PhysicsList.cc.

00030 {
00031   // pseudo-particles
00032   G4Geantino::GeantinoDefinition();
00033 
00034   // gamma
00035   G4Gamma::GammaDefinition();
00036   
00037   // e+/-
00038   G4Electron::ElectronDefinition();
00039   G4Positron::PositronDefinition();
00040   
00041   // muon
00042   G4MuonPlus::MuonPlusDefinition();
00043   G4MuonMinus::MuonMinusDefinition();
00044   // neutrino
00045   G4NeutrinoE::NeutrinoEDefinition();
00046   G4AntiNeutrinoE::AntiNeutrinoEDefinition();
00047   G4NeutrinoMu::NeutrinoMuDefinition();
00048   G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
00049       
00050   // proton
00051   G4Proton::ProtonDefinition();
00052 
00053   // neutron
00054   G4Neutron::NeutronDefinition();
00055 }

void PhysicsList::ConstructProcess (  )  [protected]

Definition at line 59 of file PhysicsList.cc.

00060 {
00061   AddTransportation();
00062   ConstructEM();
00063   ConstructDecay();
00064 }

void PhysicsList::SetCuts (  )  [protected]

Definition at line 151 of file PhysicsList.cc.

00152 {
00153   //G4VUserPhysicsList::SetCutsWithDefault method sets 
00154   //the default cut value for all particle types 
00155   //
00156   SetCutsWithDefault();
00157      
00158   if (verboseLevel>0) DumpCutValuesTable();
00159 }

void PhysicsList::ConstructEM (  )  [protected]

Definition at line 86 of file PhysicsList.cc.

Referenced by ConstructProcess().

00087 {
00088   theParticleIterator->reset();
00089   while( (*theParticleIterator)() ){
00090     G4ParticleDefinition* particle = theParticleIterator->value();
00091     G4ProcessManager* pmanager = particle->GetProcessManager();
00092     G4String particleName = particle->GetParticleName();
00093      
00094     if (particleName == "gamma") {
00095       // gamma         
00096       pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
00097       pmanager->AddDiscreteProcess(new G4ComptonScattering);
00098       pmanager->AddDiscreteProcess(new G4GammaConversion);
00099       
00100     } else if (particleName == "e-") {
00101       //electron
00102       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00103       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
00104       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 3,3);      
00105 
00106     } else if (particleName == "e+") {
00107       //positron
00108       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00109       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
00110       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 3,3);
00111       pmanager->AddProcess(new G4eplusAnnihilation,   0,-1,4);
00112 
00113     } else if( particleName == "mu+" || 
00114                particleName == "mu-"    ) {
00115       //muon  
00116       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00117       pmanager->AddProcess(new G4MuIonisation,       -1, 2,2);
00118       pmanager->AddProcess(new G4MuBremsstrahlung,   -1, 3,3);
00119       pmanager->AddProcess(new G4MuPairProduction,   -1, 4,4);
00120                   
00121     } else if (particle->GetPDGCharge() != 0.0) {
00122       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00123       pmanager->AddProcess(new G4hIonisation,        -1, 2,2);
00124     }
00125   }
00126 }

void PhysicsList::ConstructDecay (  )  [protected]

Definition at line 132 of file PhysicsList.cc.

Referenced by ConstructProcess().

00133 {
00134   // Add Decay Process
00135   G4Decay* theDecayProcess = new G4Decay();
00136   theParticleIterator->reset();
00137   while( (*theParticleIterator)() ){
00138     G4ParticleDefinition* particle = theParticleIterator->value();
00139     G4ProcessManager* pmanager = particle->GetProcessManager();
00140     if (theDecayProcess->IsApplicable(*particle)) { 
00141       pmanager ->AddProcess(theDecayProcess);
00142       // set ordering for PostStepDoIt and AtRestDoIt
00143       pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
00144       pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
00145     }
00146   }
00147 }


The documentation for this class was generated from the following files:

Generated on Fri Nov 21 10:20:21 2008 for jour3a by  doxygen 1.5.7.1