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

Physics list for the persistency example. More...

#include <ExP01PhysicsList.hh>

Inheritance diagram for ExP01PhysicsList:
G4VUserPhysicsList

Public Member Functions

 ExP01PhysicsList ()
 
 ~ExP01PhysicsList ()
 
- 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 for the persistency example.

Definition at line 45 of file ExP01PhysicsList.hh.

Constructor & Destructor Documentation

ExP01PhysicsList::ExP01PhysicsList ( )
ExP01PhysicsList::~ExP01PhysicsList ( )

Definition at line 53 of file ExP01PhysicsList.cc.

54 {}

Member Function Documentation

void ExP01PhysicsList::ConstructBaryons ( )
protected

Definition at line 123 of file ExP01PhysicsList.cc.

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

Referenced by ConstructParticle().

124 {
125  // barions
128 
131 }
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 ExP01PhysicsList::ConstructBosons ( )
protected

Definition at line 73 of file ExP01PhysicsList.cc.

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

Referenced by ConstructParticle().

74 {
75  // pseudo-particles
78 
79  // gamma
81 }
static G4Geantino * GeantinoDefinition()
Definition: G4Geantino.cc:82
static G4ChargedGeantino * ChargedGeantinoDefinition()
static G4Gamma * GammaDefinition()
Definition: G4Gamma.cc:81
void ExP01PhysicsList::ConstructEM ( )
protected

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

Definition at line 166 of file ExP01PhysicsList.cc.

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

Referenced by ConstructProcess().

167 {
168  theParticleIterator->reset();
169  while( (*theParticleIterator)() ){
170  G4ParticleDefinition* particle = theParticleIterator->value();
171  G4ProcessManager* pmanager = particle->GetProcessManager();
172  G4String particleName = particle->GetParticleName();
173 
174  if (particleName == "gamma") {
175  // gamma
178  pmanager->AddDiscreteProcess(new G4GammaConversion);
179 
180  } else if (particleName == "e-") {
181  //electron
182  pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
183  pmanager->AddProcess(new G4eIonisation, -1, 2,2);
184  pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3);
185 
186  } else if (particleName == "e+") {
187  //positron
188  pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
189  pmanager->AddProcess(new G4eIonisation, -1, 2,2);
190  pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3);
191  pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
192 
193  } else if( particleName == "mu+" ||
194  particleName == "mu-" ) {
195  //muon
196  pmanager->AddProcess(new G4MuMultipleScattering,-1, 1,1);
197  pmanager->AddProcess(new G4MuIonisation, -1, 2,2);
198  pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3);
199  pmanager->AddProcess(new G4MuPairProduction, -1, 4,4);
200 
201  } else if ((!particle->IsShortLived()) &&
202  (particle->GetPDGCharge() != 0.0) &&
203  (particle->GetParticleName() != "chargedgeantino")) {
204  //all others charged particles except geantino
205  pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
206  pmanager->AddProcess(new G4hIonisation, -1, 2,2);
207  //step limit
208  pmanager->AddProcess(new G4StepLimiter, -1,-1,3);
209  ///pmanager->AddProcess(new G4UserSpecialCuts, -1,-1,4);
210  }
211  }
212 }
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 ExP01PhysicsList::ConstructGeneral ( )
protected

Definition at line 217 of file ExP01PhysicsList.cc.

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

Referenced by ConstructProcess().

218 {
219  // Add Decay Process
220  G4Decay* theDecayProcess = new G4Decay();
221  theParticleIterator->reset();
222  while( (*theParticleIterator)() ){
223  G4ParticleDefinition* particle = theParticleIterator->value();
224  G4ProcessManager* pmanager = particle->GetProcessManager();
225  if (theDecayProcess->IsApplicable(*particle)) {
226  pmanager ->AddProcess(theDecayProcess);
227  // set ordering for PostStepDoIt and AtRestDoIt
228  pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
229  pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
230  }
231  }
232 }
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 ExP01PhysicsList::ConstructLeptons ( )
protected

Definition at line 85 of file ExP01PhysicsList.cc.

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

Referenced by ConstructParticle().

86 {
87  // leptons
88  // e+/-
91  // mu+/-
94  // nu_e
97  // nu_mu
100 }
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 ExP01PhysicsList::ConstructMesons ( )
protected

Definition at line 104 of file ExP01PhysicsList.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().

105 {
106  // mesons
107  // light mesons
119 }
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 ExP01PhysicsList::ConstructParticle ( void  )
protectedvirtual

Implements G4VUserPhysicsList.

Definition at line 58 of file ExP01PhysicsList.cc.

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

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

Reimplemented from G4VUserPhysicsList.

Definition at line 236 of file ExP01PhysicsList.cc.

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

237 {
238  //G4VUserPhysicsList::SetCutsWithDefault method sets
239  //the default cut value for all particle types
240  //
242 
244 }
void DumpCutValuesTable(G4int flag=1)

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