Geant4  10.02.p03
TSPhysicsList Class Reference

#include <TSPhysicsList.hh>

Inheritance diagram for TSPhysicsList:
Collaboration diagram for TSPhysicsList:

Public Types

typedef std::deque< G4VPhysicsConstructor * > PhysicsSet_t
 

Public Member Functions

 TSPhysicsList ()
 
virtual ~TSPhysicsList ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
void SetCuts ()
 
- 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 ()
 

Static Public Member Functions

static TSPhysicsListInstance ()
 
- Static Public Member Functions inherited from G4VUserPhysicsList
static const G4VUPLManagerGetSubInstanceManager ()
 

Private Attributes

G4EmStandardPhysics_option4fEmPhysics_opt4
 
G4DecayPhysicsfDecayPhysics
 
G4RadioactiveDecayPhysicsfRadDecayPhysics
 
G4HadronPhysicsQGSP_BERT_HPfHadronInelasticPhysics
 
G4HadronElasticPhysicsHPfHadronElasticPhysics
 
G4IonElasticPhysicsfIonElasticPhysics
 
G4IonBinaryCascadePhysicsfIonBinaryCascadePhysics
 
PhysicsSet_t fConstructors
 
G4double fDefaultCutValue
 

Static Private Attributes

static TSPhysicsListfgInstance = 0
 

Additional Inherited Members

- 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 ()
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- 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

This is a very, very extensive physics list and step-limiters are applied to many particles. The reasoning behind this is because we wan't to put as much pressure on the atomics as possible and produce as much round-off error as possible. See descriptions in README and TSDetectorConstruction for more details.

Definition at line 59 of file TSPhysicsList.hh.

Member Typedef Documentation

◆ PhysicsSet_t

Definition at line 62 of file TSPhysicsList.hh.

Constructor & Destructor Documentation

◆ TSPhysicsList()

TSPhysicsList::TSPhysicsList ( )

Definition at line 89 of file TSPhysicsList.cc.

98 {
99  fgInstance = this;
100 
101  fConstructors.push_back(fEmPhysics_opt4);
102  fConstructors.push_back(fDecayPhysics);
103  fConstructors.push_back(fRadDecayPhysics);
108 
109 
110 }
static TSPhysicsList * fgInstance
PhysicsSet_t fConstructors
G4DecayPhysics * fDecayPhysics
G4double fDefaultCutValue
G4HadronElasticPhysicsHP * fHadronElasticPhysics
G4EmStandardPhysics_option4 * fEmPhysics_opt4
static const double mm
Definition: SystemOfUnits.h:94
G4HadronPhysicsQGSP_BERT_HP * fHadronInelasticPhysics
G4IonElasticPhysics * fIonElasticPhysics
G4IonBinaryCascadePhysics * fIonBinaryCascadePhysics
G4RadioactiveDecayPhysics * fRadDecayPhysics

◆ ~TSPhysicsList()

TSPhysicsList::~TSPhysicsList ( )
virtual

Definition at line 114 of file TSPhysicsList.cc.

115 {
116  for(auto ite : fConstructors)
117  delete ite;
118 
119  fgInstance = 0;
120 }
static TSPhysicsList * fgInstance
PhysicsSet_t fConstructors

Member Function Documentation

◆ ConstructParticle()

void TSPhysicsList::ConstructParticle ( void  )
virtual

Implements G4VUserPhysicsList.

Definition at line 124 of file TSPhysicsList.cc.

125 {
126  for(auto c : fConstructors)
127  {
128  c->ConstructParticle();
129  }
130 }
PhysicsSet_t fConstructors

◆ ConstructProcess()

void TSPhysicsList::ConstructProcess ( void  )
virtual

Implements G4VUserPhysicsList.

Definition at line 134 of file TSPhysicsList.cc.

135 {
136  // Transportation
137  //
139 
140  for(auto c : fConstructors)
141  {
142  c->ConstructProcess();
143  }
144 
145  std::set<G4String> step_limit_particles;
146  // standard particles
147  step_limit_particles.insert("e-");
148  step_limit_particles.insert("e+");
149  step_limit_particles.insert("alpha");
150  step_limit_particles.insert("He3");
151  step_limit_particles.insert("GenericIon");
152  step_limit_particles.insert("proton");
153  step_limit_particles.insert("neutron");
154  // more ~exotic particles
155  step_limit_particles.insert("pi+");
156  step_limit_particles.insert("pi-");
157  step_limit_particles.insert("mu+");
158  step_limit_particles.insert("mu-");
159 
161  particleIterator->reset();
162 
164 
165  while( (*particleIterator)() )
166  {
167  G4ParticleDefinition* particle = particleIterator->value();
168  G4String pname = particle->GetParticleName();
169 
170  if(step_limit_particles.find(pname) != step_limit_particles.end() ||
171  particle->GetPDGCharge())
172  {
173  ph->RegisterProcess(new G4StepLimiter, particle);
174  }
175  }
176 }
PhysicsSet_t fConstructors
const G4String & GetParticleName() const
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
string pname
Definition: eplot.py:33
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
static G4PhysicsListHelper * GetPhysicsListHelper()
std::vector< G4InuclElementaryParticle >::iterator particleIterator
Definition: G4BigBanger.cc:65
G4double GetPDGCharge() const
Here is the call graph for this function:

◆ Instance()

TSPhysicsList * TSPhysicsList::Instance ( void  )
static

Definition at line 82 of file TSPhysicsList.cc.

83 {
84  return fgInstance;
85 }
static TSPhysicsList * fgInstance

◆ SetCuts()

void TSPhysicsList::SetCuts ( )
virtual

Reimplemented from G4VUserPhysicsList.

Definition at line 180 of file TSPhysicsList.cc.

181 {
184  SetCutValue(fDefaultCutValue, "gamma");
185  SetCutValue(fDefaultCutValue, "proton");
186 }
void SetCutValue(G4double aCut, const G4String &pname)
G4double fDefaultCutValue
Here is the call graph for this function:

Member Data Documentation

◆ fConstructors

PhysicsSet_t TSPhysicsList::fConstructors
private

Definition at line 86 of file TSPhysicsList.hh.

◆ fDecayPhysics

G4DecayPhysics* TSPhysicsList::fDecayPhysics
private

Definition at line 79 of file TSPhysicsList.hh.

◆ fDefaultCutValue

G4double TSPhysicsList::fDefaultCutValue
private

Definition at line 88 of file TSPhysicsList.hh.

◆ fEmPhysics_opt4

G4EmStandardPhysics_option4* TSPhysicsList::fEmPhysics_opt4
private

Definition at line 78 of file TSPhysicsList.hh.

◆ fgInstance

TSPhysicsList * TSPhysicsList::fgInstance = 0
staticprivate

This is a very, very extensive physics list and step-limiters are applied to many particles. The reasoning behind this is because we wan't to put as much pressure on the atomics as possible and produce as much round-off error as possible. See descriptions in README and TSDetectorConstruction for more details.

Definition at line 76 of file TSPhysicsList.hh.

◆ fHadronElasticPhysics

G4HadronElasticPhysicsHP* TSPhysicsList::fHadronElasticPhysics
private

Definition at line 82 of file TSPhysicsList.hh.

◆ fHadronInelasticPhysics

G4HadronPhysicsQGSP_BERT_HP* TSPhysicsList::fHadronInelasticPhysics
private

Definition at line 81 of file TSPhysicsList.hh.

◆ fIonBinaryCascadePhysics

G4IonBinaryCascadePhysics* TSPhysicsList::fIonBinaryCascadePhysics
private

Definition at line 84 of file TSPhysicsList.hh.

◆ fIonElasticPhysics

G4IonElasticPhysics* TSPhysicsList::fIonElasticPhysics
private

Definition at line 83 of file TSPhysicsList.hh.

◆ fRadDecayPhysics

G4RadioactiveDecayPhysics* TSPhysicsList::fRadDecayPhysics
private

Definition at line 80 of file TSPhysicsList.hh.


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