LArSoft  v09_90_00
Liquid Argon Software toolkit - https://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 46 of file PhysicsList.hh.

Constructor & Destructor Documentation

PhysicsList::PhysicsList ( )

Definition at line 42 of file PhysicsList.cc.

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

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

Definition at line 64 of file PhysicsList.cc.

References pMessenger.

65 {
66  delete pMessenger;
67 }
PhysicsListMessenger * pMessenger
Definition: PhysicsList.hh:70

Member Function Documentation

void PhysicsList::AddPhysicsList ( const G4String name)

Definition at line 190 of file PhysicsList.cc.

References emName, and emPhysicsList.

Referenced by PhysicsListMessenger::SetNewValue().

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

Definition at line 116 of file PhysicsList.cc.

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

Definition at line 169 of file PhysicsList.cc.

References emPhysicsList.

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

Definition at line 238 of file PhysicsList.cc.

References cutForElectron, and pyG4VUserPhysicsList::SetParticleCuts.

Referenced by PhysicsListMessenger::SetNewValue().

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

Definition at line 230 of file PhysicsList.cc.

References cutForGamma, and pyG4VUserPhysicsList::SetParticleCuts.

Referenced by PhysicsListMessenger::SetNewValue().

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

Definition at line 246 of file PhysicsList.cc.

References cutForPositron, and pyG4VUserPhysicsList::SetParticleCuts.

Referenced by PhysicsListMessenger::SetNewValue().

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

Definition at line 218 of file PhysicsList.cc.

References cutForElectron, cutForGamma, and cutForPositron.

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

Member Data Documentation

G4double PhysicsList::currentDefaultCut
private

Definition at line 65 of file PhysicsList.hh.

Referenced by PhysicsList().

G4double PhysicsList::cutForElectron
private

Definition at line 63 of file PhysicsList.hh.

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

G4double PhysicsList::cutForGamma
private

Definition at line 62 of file PhysicsList.hh.

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

G4double PhysicsList::cutForPositron
private

Definition at line 64 of file PhysicsList.hh.

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

G4String PhysicsList::emName
private

Definition at line 68 of file PhysicsList.hh.

Referenced by AddPhysicsList(), and PhysicsList().

G4VPhysicsConstructor* PhysicsList::emPhysicsList
private

Definition at line 67 of file PhysicsList.hh.

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

PhysicsListMessenger* PhysicsList::pMessenger
private

Definition at line 70 of file PhysicsList.hh.

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


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