Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
ExP02PhysicsList Class Reference

Physics list. More...

#include <ExP02PhysicsList.hh>

Inheritance diagram for ExP02PhysicsList:
G4VUserPhysicsList

Public Member Functions

 ExP02PhysicsList ()
 
 ~ExP02PhysicsList ()
 
- Public Member Functions inherited from G4VUserPhysicsList
 G4VUserPhysicsList ()
 
virtual ~G4VUserPhysicsList ()
 
 G4VUserPhysicsList (const G4VUserPhysicsList &)
 
G4VUserPhysicsListoperator= (const G4VUserPhysicsList &)
 
void Construct ()
 
void UseCoupledTransportation (G4bool vl=true)
 
void SetDefaultCutValue (G4double newCutValue)
 
G4double GetDefaultCutValue () const
 
void BuildPhysicsTable ()
 
void PreparePhysicsTable (G4ParticleDefinition *)
 
void BuildPhysicsTable (G4ParticleDefinition *)
 
G4bool StorePhysicsTable (const G4String &directory=".")
 
G4bool IsPhysicsTableRetrieved () const
 
G4bool IsStoredInAscii () const
 
const G4StringGetPhysicsTableDirectory () const
 
void SetPhysicsTableRetrieved (const G4String &directory="")
 
void SetStoredInAscii ()
 
void ResetPhysicsTableRetrieved ()
 
void ResetStoredInAscii ()
 
void DumpList () const
 
void DumpCutValuesTable (G4int flag=1)
 
void DumpCutValuesTableIfRequested ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
void SetCutsWithDefault ()
 
void SetCutValue (G4double aCut, const G4String &pname)
 
G4double GetCutValue (const G4String &pname) const
 
void SetCutValue (G4double aCut, const G4String &pname, const G4String &rname)
 
void SetParticleCuts (G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
 
void SetParticleCuts (G4double cut, const G4String &particleName, G4Region *region=0)
 
void SetCutsForRegion (G4double aCut, const G4String &rname)
 
void ResetCuts ()
 obsolete methods More...
 
void SetApplyCuts (G4bool value, const G4String &name)
 
G4bool GetApplyCuts (const G4String &name) const
 
void RemoveProcessManager ()
 
void AddProcessManager (G4ParticleDefinition *newParticle, G4ProcessManager *newManager=0)
 
void CheckParticleList ()
 
void DisableCheckParticleList ()
 
G4int GetInstanceID () const
 
void InitializeWorker ()
 

Protected Member Functions

virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
virtual void SetCuts ()
 
void ConstructBosons ()
 
void ConstructLeptons ()
 
void ConstructMesons ()
 
void ConstructBaryons ()
 
void ConstructGeneral ()
 
void ConstructEM ()
 
- Protected Member Functions inherited from G4VUserPhysicsList
void AddTransportation ()
 
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
void BuildIntegralPhysicsTable (G4VProcess *, G4ParticleDefinition *)
 
virtual void RetrievePhysicsTable (G4ParticleDefinition *, const G4String &directory, G4bool ascii=false)
 
void InitializeProcessManager ()
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VUserPhysicsList
static const G4VUPLManagerGetSubInstanceManager ()
 
- Protected Attributes inherited from G4VUserPhysicsList
G4ParticleTabletheParticleTable
 
G4int verboseLevel
 
G4double defaultCutValue
 
G4bool isSetDefaultCutValue
 
G4ProductionCutsTablefCutsTable
 
G4bool fRetrievePhysicsTable
 
G4bool fStoredInAscii
 
G4bool fIsCheckedForRetrievePhysicsTable
 
G4bool fIsRestoredCutValues
 
G4String directoryPhysicsTable
 
G4bool fDisableCheckParticleList
 
G4int g4vuplInstanceID
 
- Static Protected Attributes inherited from G4VUserPhysicsList
static G4RUN_DLL G4VUPLManager subInstanceManager
 

Detailed Description

Physics list.

Definition at line 44 of file ExP02PhysicsList.hh.

Constructor & Destructor Documentation

ExP02PhysicsList::ExP02PhysicsList ( )
ExP02PhysicsList::~ExP02PhysicsList ( )

Definition at line 51 of file ExP02PhysicsList.cc.

52 {}

Member Function Documentation

void ExP02PhysicsList::ConstructBaryons ( )
protected

Definition at line 121 of file ExP02PhysicsList.cc.

References G4AntiNeutron::AntiNeutronDefinition(), G4AntiProton::AntiProtonDefinition(), G4Neutron::NeutronDefinition(), and G4Proton::ProtonDefinition().

Referenced by ConstructParticle().

122 {
123  // barions
126 
129 }
static G4Proton * ProtonDefinition()
Definition: G4Proton.cc:88
static G4AntiProton * AntiProtonDefinition()
Definition: G4AntiProton.cc:88
static G4AntiNeutron * AntiNeutronDefinition()
static G4Neutron * NeutronDefinition()
Definition: G4Neutron.cc:99
void ExP02PhysicsList::ConstructBosons ( )
protected

Definition at line 71 of file ExP02PhysicsList.cc.

References G4ChargedGeantino::ChargedGeantinoDefinition(), G4Gamma::GammaDefinition(), and G4Geantino::GeantinoDefinition().

Referenced by ConstructParticle().

72 {
73  // pseudo-particles
76 
77  // gamma
79 }
static G4Geantino * GeantinoDefinition()
Definition: G4Geantino.cc:82
static G4ChargedGeantino * ChargedGeantinoDefinition()
static G4Gamma * GammaDefinition()
Definition: G4Gamma.cc:81
void ExP02PhysicsList::ConstructEM ( )
protected

pmanager->AddProcess(new G4StepLimiter, -1,-1,3); pmanager->AddProcess(new G4UserSpecialCuts, -1,-1,4);

Definition at line 164 of file ExP02PhysicsList.cc.

References G4ProcessManager::AddDiscreteProcess(), G4ProcessManager::AddProcess(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetProcessManager(), G4ParticleDefinition::IsShortLived(), and theParticleIterator.

Referenced by ConstructProcess().

165 {
166  theParticleIterator->reset();
167  while( (*theParticleIterator)() ){
168  G4ParticleDefinition* particle = theParticleIterator->value();
169  G4ProcessManager* pmanager = particle->GetProcessManager();
170  G4String particleName = particle->GetParticleName();
171 
172  if (particleName == "gamma") {
173  // gamma
176  pmanager->AddDiscreteProcess(new G4GammaConversion);
177 
178  } else if (particleName == "e-") {
179  //electron
180  pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
181  pmanager->AddProcess(new G4eIonisation, -1, 2,2);
182  pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3);
183 
184  } else if (particleName == "e+") {
185  //positron
186  pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
187  pmanager->AddProcess(new G4eIonisation, -1, 2,2);
188  pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3);
189  pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
190 
191  } else if( particleName == "mu+" ||
192  particleName == "mu-" ) {
193  //muon
194  pmanager->AddProcess(new G4MuMultipleScattering,-1, 1,1);
195  pmanager->AddProcess(new G4MuIonisation, -1, 2,2);
196  pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3);
197  pmanager->AddProcess(new G4MuPairProduction, -1, 4,4);
198 
199  } else if ((!particle->IsShortLived()) &&
200  (particle->GetPDGCharge() != 0.0) &&
201  (particle->GetParticleName() != "chargedgeantino")) {
202  //all others charged particles except geantino
203  pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
204  pmanager->AddProcess(new G4hIonisation, -1, 2,2);
205  ///pmanager->AddProcess(new G4StepLimiter, -1,-1,3);
206  ///pmanager->AddProcess(new G4UserSpecialCuts, -1,-1,4);
207  }
208  }
209 }
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ProcessManager * GetProcessManager() const
const G4String & GetParticleName() const
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
G4double GetPDGCharge() const
#define theParticleIterator
void ExP02PhysicsList::ConstructGeneral ( )
protected

Definition at line 214 of file ExP02PhysicsList.cc.

References G4ProcessManager::AddProcess(), G4ParticleDefinition::GetProcessManager(), idxAtRest, idxPostStep, G4Decay::IsApplicable(), G4ProcessManager::SetProcessOrdering(), and theParticleIterator.

Referenced by ConstructProcess().

215 {
216  // Add Decay Process
217  G4Decay* theDecayProcess = new G4Decay();
218  theParticleIterator->reset();
219  while( (*theParticleIterator)() ){
220  G4ParticleDefinition* particle = theParticleIterator->value();
221  G4ProcessManager* pmanager = particle->GetProcessManager();
222  if (theDecayProcess->IsApplicable(*particle)) {
223  pmanager ->AddProcess(theDecayProcess);
224  // set ordering for PostStepDoIt and AtRestDoIt
225  pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
226  pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
227  }
228  }
229 }
virtual G4bool IsApplicable(const G4ParticleDefinition &)
Definition: G4Decay.cc:89
G4ProcessManager * GetProcessManager() const
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
#define theParticleIterator
void ExP02PhysicsList::ConstructLeptons ( )
protected

Definition at line 83 of file ExP02PhysicsList.cc.

References G4AntiNeutrinoE::AntiNeutrinoEDefinition(), G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(), G4Electron::ElectronDefinition(), G4MuonMinus::MuonMinusDefinition(), G4MuonPlus::MuonPlusDefinition(), G4NeutrinoE::NeutrinoEDefinition(), G4NeutrinoMu::NeutrinoMuDefinition(), and G4Positron::PositronDefinition().

Referenced by ConstructParticle().

84 {
85  // leptons
86  // e+/-
89  // mu+/-
92  // nu_e
95  // nu_mu
98 }
static G4Electron * ElectronDefinition()
Definition: G4Electron.cc:89
static G4MuonPlus * MuonPlusDefinition()
Definition: G4MuonPlus.cc:94
static G4NeutrinoE * NeutrinoEDefinition()
Definition: G4NeutrinoE.cc:80
static G4AntiNeutrinoMu * AntiNeutrinoMuDefinition()
static G4Positron * PositronDefinition()
Definition: G4Positron.cc:89
static G4MuonMinus * MuonMinusDefinition()
Definition: G4MuonMinus.cc:95
static G4AntiNeutrinoE * AntiNeutrinoEDefinition()
static G4NeutrinoMu * NeutrinoMuDefinition()
Definition: G4NeutrinoMu.cc:80
void ExP02PhysicsList::ConstructMesons ( )
protected

Definition at line 102 of file ExP02PhysicsList.cc.

References G4AntiKaonZero::AntiKaonZeroDefinition(), G4Eta::EtaDefinition(), G4EtaPrime::EtaPrimeDefinition(), G4KaonMinus::KaonMinusDefinition(), G4KaonPlus::KaonPlusDefinition(), G4KaonZero::KaonZeroDefinition(), G4KaonZeroLong::KaonZeroLongDefinition(), G4KaonZeroShort::KaonZeroShortDefinition(), G4PionMinus::PionMinusDefinition(), G4PionPlus::PionPlusDefinition(), and G4PionZero::PionZeroDefinition().

Referenced by ConstructParticle().

103 {
104  // mesons
105  // light mesons
117 }
static G4KaonPlus * KaonPlusDefinition()
Definition: G4KaonPlus.cc:108
static G4KaonMinus * KaonMinusDefinition()
Definition: G4KaonMinus.cc:108
static G4KaonZero * KaonZeroDefinition()
Definition: G4KaonZero.cc:99
static G4AntiKaonZero * AntiKaonZeroDefinition()
static G4KaonZeroShort * KaonZeroShortDefinition()
static G4PionZero * PionZeroDefinition()
Definition: G4PionZero.cc:99
static G4PionMinus * PionMinusDefinition()
Definition: G4PionMinus.cc:93
static G4KaonZeroLong * KaonZeroLongDefinition()
static G4PionPlus * PionPlusDefinition()
Definition: G4PionPlus.cc:93
static G4EtaPrime * EtaPrimeDefinition()
Definition: G4EtaPrime.cc:100
static G4Eta * EtaDefinition()
Definition: G4Eta.cc:104
void ExP02PhysicsList::ConstructParticle ( void  )
protectedvirtual

Implements G4VUserPhysicsList.

Definition at line 56 of file ExP02PhysicsList.cc.

References ConstructBaryons(), ConstructBosons(), ConstructLeptons(), and ConstructMesons().

57 {
58  // In this method, static member functions should be called
59  // for all particles which you want to use.
60  // This ensures that objects of these particle types will be
61  // created in the program.
62 
67 }
void ExP02PhysicsList::ConstructProcess ( void  )
protectedvirtual
void ExP02PhysicsList::SetCuts ( )
protectedvirtual

Reimplemented from G4VUserPhysicsList.

Definition at line 233 of file ExP02PhysicsList.cc.

References G4VUserPhysicsList::DumpCutValuesTable(), G4VUserPhysicsList::SetCutsWithDefault(), and G4VUserPhysicsList::verboseLevel.

234 {
235  //G4VUserPhysicsList::SetCutsWithDefault method sets
236  //the default cut value for all particle types
237  //
239 
241 }
void DumpCutValuesTable(G4int flag=1)

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