Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCL::NuclearPotential::NuclearPotentialIsospin Class Reference

#include <G4INCLNuclearPotentialIsospin.hh>

Inheritance diagram for G4INCL::NuclearPotential::NuclearPotentialIsospin:

Public Member Functions

 NuclearPotentialIsospin (const G4int A, const G4int Z, const G4bool pionPotential)
virtual ~NuclearPotentialIsospin ()
virtual G4double computePotentialEnergy (const Particle *const p) const
Public Member Functions inherited from G4INCL::NuclearPotential::INuclearPotential
 INuclearPotential (const G4int A, const G4int Z, const G4bool pionPot)
virtual ~INuclearPotential ()
G4bool hasPionPotential () const
 Do we have a pion potential?
G4double getFermiEnergy (const Particle *const p) const
 Return the Fermi energy for a particle.
G4double getFermiEnergy (const ParticleType t) const
 Return the Fermi energy for a particle type.
G4double getSeparationEnergy (const Particle *const p) const
 Return the separation energy for a particle.
G4double getSeparationEnergy (const ParticleType t) const
 Return the separation energy for a particle type.
G4double getFermiMomentum (const Particle *const p) const
 Return the Fermi momentum for a particle.
G4double getFermiMomentum (const ParticleType t) const
 Return the Fermi momentum for a particle type.

Additional Inherited Members

Protected Member Functions inherited from G4INCL::NuclearPotential::INuclearPotential
G4double computePionPotentialEnergy (const Particle *const p) const
 Compute the potential energy for the given pion.
G4double computeKaonPotentialEnergy (const Particle *const p) const
 Compute the potential energy for the given kaon.
G4double computePionResonancePotentialEnergy (const Particle *const p) const
 Compute the potential energy for the given pion resonances (Eta, Omega and EtaPrime and Gamma also).
Protected Attributes inherited from G4INCL::NuclearPotential::INuclearPotential
const G4int theA
 The mass number of the nucleus.
const G4int theZ
 The charge number of the nucleus.
std::map< ParticleType, G4doublefermiEnergy
std::map< ParticleType, G4doublefermiMomentum
std::map< ParticleType, G4doubleseparationEnergy

Detailed Description

Definition at line 56 of file G4INCLNuclearPotentialIsospin.hh.

Constructor & Destructor Documentation

◆ NuclearPotentialIsospin()

G4INCL::NuclearPotential::NuclearPotentialIsospin::NuclearPotentialIsospin ( const G4int A,
const G4int Z,
const G4bool pionPotential )

◆ ~NuclearPotentialIsospin()

G4INCL::NuclearPotential::NuclearPotentialIsospin::~NuclearPotentialIsospin ( )
virtual

Definition at line 64 of file G4INCLNuclearPotentialIsospin.cc.

64{}

Member Function Documentation

◆ computePotentialEnergy()

G4double G4INCL::NuclearPotential::NuclearPotentialIsospin::computePotentialEnergy ( const Particle *const p) const
virtual

Implements G4INCL::NuclearPotential::INuclearPotential.

Reimplemented in G4INCL::NuclearPotential::NuclearPotentialEnergyIsospin, and G4INCL::NuclearPotential::NuclearPotentialEnergyIsospinSmooth.

Definition at line 215 of file G4INCLNuclearPotentialIsospin.cc.

215 {
216
217 switch( particle->getType() )
218 {
219 case Proton:
220 return vProton;
221 break;
222 case Neutron:
223 return vNeutron;
224 break;
225
226 case PiPlus:
227 case PiZero:
228 case PiMinus:
229 return computePionPotentialEnergy(particle);
230 break;
231
232 case SigmaPlus:
233 return vSigmaPlus;
234 break;
235 case SigmaZero:
236 return vSigmaZero;
237 break;
238 case Lambda:
239 return vLambda;
240 break;
241 case SigmaMinus:
242 return vSigmaMinus;
243 break;
244
245 case Eta:
246 case Omega:
247 case EtaPrime:
249 break;
250
251 case KPlus:
252 case KZero:
253 case KZeroBar:
254 case KMinus:
255 case KShort:
256 case KLong:
257 return computeKaonPotentialEnergy(particle);
258 break;
259
260 case Photon:
261 return 0.0;
262 break;
263
264 case antiProton:
265 return vantiProton;
266 break;
267 case antiNeutron:
268 return vantiNeutron;
269 break;
270 case antiLambda:
271 return 0.0;
272 break;
273 case antiSigmaMinus:
274 return 0.0;
275 break;
276 case antiSigmaPlus:
277 return 0.0;
278 break;
279 case antiSigmaZero:
280 return 0.0;
281 break;
282 case antiXiMinus:
283 return 0.0;
284 break;
285 case antiXiZero:
286 return 0.0;
287 break;
288 case XiMinus:
289 return 0.0;
290 break;
291 case XiZero:
292 return 0.0;
293 break;
294
295 case DeltaPlusPlus:
296 return vDeltaPlusPlus;
297 break;
298 case DeltaPlus:
299 return vDeltaPlus;
300 break;
301 case DeltaZero:
302 return vDeltaZero;
303 break;
304 case DeltaMinus:
305 return vDeltaMinus;
306 break;
307 case Composite:
308 INCL_ERROR("No potential computed for particle of type Cluster.");
309 return 0.0;
310 break;
311 case antiComposite:
312 INCL_ERROR("No potential computed for particle of type Cluster");
313 return 0.0;
314 break;
315 case UnknownParticle:
316 INCL_ERROR("Trying to compute potential energy for an unknown particle.");
317 return 0.0;
318 break;
319 }
320
321 INCL_ERROR("There is no potential for this type of particle.");
322 return 0.0;
323 }
#define INCL_ERROR(x)
G4double computePionPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion.
G4double computePionResonancePotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion resonances (Eta, Omega and EtaPrime and Gamma also).
G4double computeKaonPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given kaon.

Referenced by G4INCL::NuclearPotential::NuclearPotentialEnergyIsospin::computePotentialEnergy(), and G4INCL::NuclearPotential::NuclearPotentialEnergyIsospinSmooth::computePotentialEnergy().


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