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


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   // proton
00042   G4Proton::ProtonDefinition();
00043 
00044   // neutron
00045   G4Neutron::NeutronDefinition();
00046 }

void PhysicsList::ConstructProcess (  )  [protected]

Definition at line 50 of file PhysicsList.cc.

00051 {
00052   AddTransportation();
00053   ConstructEM();
00054 }

void PhysicsList::SetCuts (  )  [protected]

Definition at line 108 of file PhysicsList.cc.

00109 {
00110   //G4VUserPhysicsList::SetCutsWithDefault method sets 
00111   //the default cut value for all particle types 
00112   //
00113   SetCutsWithDefault();
00114      
00115   if (verboseLevel>0) DumpCutValuesTable();
00116 }

void PhysicsList::ConstructEM (  )  [protected]

Definition at line 72 of file PhysicsList.cc.

Referenced by ConstructProcess().

00073 {
00074   theParticleIterator->reset();
00075   while( (*theParticleIterator)() ){
00076     G4ParticleDefinition* particle = theParticleIterator->value();
00077     G4ProcessManager* pmanager = particle->GetProcessManager();
00078     G4String particleName = particle->GetParticleName();
00079      
00080     if (particleName == "gamma") {
00081       // gamma         
00082       pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
00083       pmanager->AddDiscreteProcess(new G4ComptonScattering);
00084       pmanager->AddDiscreteProcess(new G4GammaConversion);
00085       
00086     } else if (particleName == "e-") {
00087       //electron
00088       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00089       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
00090       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 3,3);      
00091 
00092     } else if (particleName == "e+") {
00093       //positron
00094       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00095       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
00096       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 3,3);
00097       pmanager->AddProcess(new G4eplusAnnihilation,   0,-1,4);
00098      
00099     } else if (particle->GetPDGCharge() != 0.0) {
00100       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
00101       pmanager->AddProcess(new G4hIonisation,        -1, 2,2);
00102     }
00103   }
00104 }


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

Generated on Fri Nov 21 10:19:58 2008 for jour2a by  doxygen 1.5.7.1