LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
PhysicsList Class Reference

#include "PhysicsList.hh"

Inheritance diagram for PhysicsList:

Public Member Functions

 PhysicsList ()
 
 ~PhysicsList ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
void AddPhysicsList (const G4String &name)
 
void SetCuts ()
 
void SetCutForGamma (G4double)
 
void SetCutForElectron (G4double)
 
void SetCutForPositron (G4double)
 

Private Attributes

G4double cutForGamma
 
G4double cutForElectron
 
G4double cutForPositron
 
G4double currentDefaultCut
 
G4VPhysicsConstructor * emPhysicsList
 
G4String emName
 
PhysicsListMessengerpMessenger
 

Detailed Description

Definition at line 47 of file PhysicsList.hh.

Constructor & Destructor Documentation

PhysicsList::PhysicsList ( )

Definition at line 43 of file PhysicsList.cc.

References currentDefaultCut, cutForElectron, cutForGamma, cutForPositron, emName, emPhysicsList, and pMessenger.

44 : G4VModularPhysicsList()
45 {
46  G4LossTableManager::Instance();
47 
48  currentDefaultCut = 1.0*mm;
52 
53  pMessenger = new PhysicsListMessenger(this);
54 
55  SetVerboseLevel(1);
56 
57  // EM physics
58  emName = G4String("standard");
60 
61 }
PhysicsListMessenger * pMessenger
Definition: PhysicsList.hh:71
G4VPhysicsConstructor * emPhysicsList
Definition: PhysicsList.hh:68
G4double cutForElectron
Definition: PhysicsList.hh:64
G4double cutForPositron
Definition: PhysicsList.hh:65
G4String emName
Definition: PhysicsList.hh:69
G4double cutForGamma
Definition: PhysicsList.hh:63
G4double currentDefaultCut
Definition: PhysicsList.hh:66
PhysicsList::~PhysicsList ( )

Definition at line 65 of file PhysicsList.cc.

References pMessenger.

66 {
67  delete pMessenger;
68 }
PhysicsListMessenger * pMessenger
Definition: PhysicsList.hh:71

Member Function Documentation

void PhysicsList::AddPhysicsList ( const G4String name)

Definition at line 191 of file PhysicsList.cc.

References emName, and emPhysicsList.

Referenced by PhysicsListMessenger::SetNewValue().

192 {
193  if (verboseLevel>0) {
194  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
195  }
196 
197  if (name == emName) return;
198 
199  if (name == "standard") {
200 
201  emName = name;
202  delete emPhysicsList;
203  emPhysicsList = new PhysListEmStandard(name);
204 
205  } else {
206 
207  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
208  << " is not defined"
209  << G4endl;
210  }
211 }
G4VPhysicsConstructor * emPhysicsList
Definition: PhysicsList.hh:68
G4String emName
Definition: PhysicsList.hh:69
void PhysicsList::ConstructParticle ( )

Definition at line 117 of file PhysicsList.cc.

118 {
119 // pseudo-particles
120  G4Geantino::GeantinoDefinition();
121  G4ChargedGeantino::ChargedGeantinoDefinition();
122 
123 // gamma
124  G4Gamma::GammaDefinition();
125 
126 // optical photon
127  G4OpticalPhoton::OpticalPhotonDefinition();
128 
129 // leptons
130  G4Electron::ElectronDefinition();
131  G4Positron::PositronDefinition();
132  G4MuonPlus::MuonPlusDefinition();
133  G4MuonMinus::MuonMinusDefinition();
134 
135  G4NeutrinoE::NeutrinoEDefinition();
136  G4AntiNeutrinoE::AntiNeutrinoEDefinition();
137  G4NeutrinoMu::NeutrinoMuDefinition();
138  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
139 
140 // mesons
141  G4PionPlus::PionPlusDefinition();
142  G4PionMinus::PionMinusDefinition();
143  G4PionZero::PionZeroDefinition();
144  G4Eta::EtaDefinition();
145  G4EtaPrime::EtaPrimeDefinition();
146  G4KaonPlus::KaonPlusDefinition();
147  G4KaonMinus::KaonMinusDefinition();
148  G4KaonZero::KaonZeroDefinition();
149  G4AntiKaonZero::AntiKaonZeroDefinition();
150  G4KaonZeroLong::KaonZeroLongDefinition();
151  G4KaonZeroShort::KaonZeroShortDefinition();
152 
153 // barions
154  G4Proton::ProtonDefinition();
155  G4AntiProton::AntiProtonDefinition();
156  G4Neutron::NeutronDefinition();
157  G4AntiNeutron::AntiNeutronDefinition();
158 
159 // ions
160  G4Deuteron::DeuteronDefinition();
161  G4Triton::TritonDefinition();
162  G4Alpha::AlphaDefinition();
163  G4GenericIon::GenericIonDefinition();
164 }
void PhysicsList::ConstructProcess ( )

Definition at line 170 of file PhysicsList.cc.

References emPhysicsList.

171 {
172  // Transportation
173  //
174  AddTransportation();
175 
176  // Electromagnetic physics list
177  //
178  emPhysicsList->ConstructProcess();
179 
180  // Em options
181  //
182  G4EmProcessOptions emOptions;
183  emOptions.SetBuildCSDARange(true);
184  emOptions.SetMaxEnergyForCSDARange(100*TeV);
185  emOptions.SetDEDXBinningForCSDARange(120);
186  emOptions.SetVerbose(0);
187 }
G4VPhysicsConstructor * emPhysicsList
Definition: PhysicsList.hh:68
void PhysicsList::SetCutForElectron ( G4double  cut)

Definition at line 239 of file PhysicsList.cc.

References cutForElectron, and pyG4VUserPhysicsList::SetParticleCuts.

Referenced by PhysicsListMessenger::SetNewValue().

240 {
241  cutForElectron = cut;
242  SetParticleCuts(cutForElectron, G4Electron::Electron());
243 }
G4double cutForElectron
Definition: PhysicsList.hh:64
void PhysicsList::SetCutForGamma ( G4double  cut)

Definition at line 231 of file PhysicsList.cc.

References cutForGamma, and pyG4VUserPhysicsList::SetParticleCuts.

Referenced by PhysicsListMessenger::SetNewValue().

232 {
233  cutForGamma = cut;
234  SetParticleCuts(cutForGamma, G4Gamma::Gamma());
235 }
G4double cutForGamma
Definition: PhysicsList.hh:63
void PhysicsList::SetCutForPositron ( G4double  cut)

Definition at line 247 of file PhysicsList.cc.

References cutForPositron, and pyG4VUserPhysicsList::SetParticleCuts.

Referenced by PhysicsListMessenger::SetNewValue().

248 {
249  cutForPositron = cut;
250  SetParticleCuts(cutForPositron, G4Positron::Positron());
251 }
G4double cutForPositron
Definition: PhysicsList.hh:65
void PhysicsList::SetCuts ( )

Definition at line 219 of file PhysicsList.cc.

References cutForElectron, cutForGamma, and cutForPositron.

220 {
221  // set cut values for gamma at first and for e- second and next for e+,
222  // because some processes for e+/e- need cut values for gamma
223  SetCutValue(cutForGamma, "gamma");
224  SetCutValue(cutForElectron, "e-");
225  SetCutValue(cutForPositron, "e+");
226  DumpCutValuesTable();
227 }
G4double cutForElectron
Definition: PhysicsList.hh:64
G4double cutForPositron
Definition: PhysicsList.hh:65
G4double cutForGamma
Definition: PhysicsList.hh:63

Member Data Documentation

G4double PhysicsList::currentDefaultCut
private

Definition at line 66 of file PhysicsList.hh.

Referenced by PhysicsList().

G4double PhysicsList::cutForElectron
private

Definition at line 64 of file PhysicsList.hh.

Referenced by PhysicsList(), SetCutForElectron(), and SetCuts().

G4double PhysicsList::cutForGamma
private

Definition at line 63 of file PhysicsList.hh.

Referenced by PhysicsList(), SetCutForGamma(), and SetCuts().

G4double PhysicsList::cutForPositron
private

Definition at line 65 of file PhysicsList.hh.

Referenced by PhysicsList(), SetCutForPositron(), and SetCuts().

G4String PhysicsList::emName
private

Definition at line 69 of file PhysicsList.hh.

Referenced by AddPhysicsList(), and PhysicsList().

G4VPhysicsConstructor* PhysicsList::emPhysicsList
private

Definition at line 68 of file PhysicsList.hh.

Referenced by AddPhysicsList(), ConstructProcess(), and PhysicsList().

PhysicsListMessenger* PhysicsList::pMessenger
private

Definition at line 71 of file PhysicsList.hh.

Referenced by PhysicsList(), and ~PhysicsList().


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