Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 ()
 

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

Definition at line 62 of file TSPhysicsList.hh.

Constructor & Destructor Documentation

TSPhysicsList::TSPhysicsList ( )

Definition at line 89 of file TSPhysicsList.cc.

90 : fEmPhysics_opt4(new G4EmStandardPhysics_option4),
91  fDecayPhysics(new G4DecayPhysics),
92  fRadDecayPhysics(new G4RadioactiveDecayPhysics),
93  fHadronInelasticPhysics(new G4HadronPhysicsQGSP_BERT_HP),
94  fHadronElasticPhysics(new G4HadronElasticPhysicsHP),
95  fIonElasticPhysics(new G4IonElasticPhysics),
96  fIonBinaryCascadePhysics(new G4IonBinaryCascadePhysics),
97  fDefaultCutValue(1.*CLHEP::mm)
98 {
99  fgInstance = this;
100 
101  fConstructors.push_back(fEmPhysics_opt4);
102  fConstructors.push_back(fDecayPhysics);
103  fConstructors.push_back(fRadDecayPhysics);
104  fConstructors.push_back(fHadronInelasticPhysics);
105  fConstructors.push_back(fHadronElasticPhysics);
106  fConstructors.push_back(fIonElasticPhysics);
107  fConstructors.push_back(fIonBinaryCascadePhysics);
108 
109 
110 }
static constexpr double mm
Definition: SystemOfUnits.h:95
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 }

Member Function Documentation

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 }
tuple c
Definition: test.py:13
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 }
const G4String & GetParticleName() const
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
string pname
Definition: eplot.py:33
static G4PhysicsListHelper * GetPhysicsListHelper()
std::vector< G4InuclElementaryParticle >::iterator particleIterator
Definition: G4BigBanger.cc:65
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
tuple c
Definition: test.py:13
G4double GetPDGCharge() const

Here is the call graph for this function:

TSPhysicsList * TSPhysicsList::Instance ( void  )
static

Definition at line 82 of file TSPhysicsList.cc.

83 {
84  return fgInstance;
85 }
void TSPhysicsList::SetCuts ( )
virtual

Reimplemented from G4VUserPhysicsList.

Definition at line 180 of file TSPhysicsList.cc.

181 {
182  SetCutValue(fDefaultCutValue, "e-");
183  SetCutValue(fDefaultCutValue, "e+");
184  SetCutValue(fDefaultCutValue, "gamma");
185  SetCutValue(fDefaultCutValue, "proton");
186 }
void SetCutValue(G4double aCut, const G4String &pname)

Here is the call graph for this function:


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