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

#include <G4INCLNuclearPotentialEnergyIsospinSmooth.hh>

+ Inheritance diagram for G4INCL::NuclearPotential::NuclearPotentialEnergyIsospinSmooth:

Public Member Functions

 NuclearPotentialEnergyIsospinSmooth (const G4int A, const G4int Z, const G4bool pionPotential)
 
virtual ~NuclearPotentialEnergyIsospinSmooth ()
 
virtual G4double computePotentialEnergy (const Particle *const p) const
 
- Public Member Functions inherited from G4INCL::NuclearPotential::NuclearPotentialIsospin
 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?
 
virtual G4double computePotentialEnergy (const Particle *const p) const =0
 
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 57 of file G4INCLNuclearPotentialEnergyIsospinSmooth.hh.

Constructor & Destructor Documentation

◆ NuclearPotentialEnergyIsospinSmooth()

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

Definition at line 60 of file G4INCLNuclearPotentialEnergyIsospinSmooth.cc.

61 : NuclearPotentialIsospin(A,Z,aPionPotential)
62 {}
const G4int Z[17]
const G4double A[17]
NuclearPotentialIsospin(const G4int A, const G4int Z, const G4bool pionPotential)

◆ ~NuclearPotentialEnergyIsospinSmooth()

G4INCL::NuclearPotential::NuclearPotentialEnergyIsospinSmooth::~NuclearPotentialEnergyIsospinSmooth ( )
virtual

Definition at line 65 of file G4INCLNuclearPotentialEnergyIsospinSmooth.cc.

65{}

Member Function Documentation

◆ computePotentialEnergy()

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

Reimplemented from G4INCL::NuclearPotential::NuclearPotentialIsospin.

Definition at line 67 of file G4INCLNuclearPotentialEnergyIsospinSmooth.cc.

67 {
68
70
71 if(particle->isNucleon()) {
72 const G4double t = particle->getKineticEnergy();
73 const G4double tf = getFermiEnergy(particle);
74 // Constant potential for T<Tf
75 if(t < tf)
76 return v0;
77
78 // Linear function for Tf<T<T0, exponential function for T>T0
79 const G4double t0 = tf + v0*(1.-alpha)/alpha - deltaE; // deltaE before the linear potential vanishes
80 G4double v;
81 if(t<t0) {
82 v = v0 - alpha*(t-tf)/(1.-alpha);
83 } else {
84 const G4double v_at_t0 = v0 - alpha*(t0-tf)/(1.-alpha);
85 const G4double kappa = alpha / (v_at_t0 * (1.-alpha));
86 v = v_at_t0 * std::exp(kappa * (t0-t));
87 }
88 return (v>0.0) ? v : 0.0;
89 } else
90 return v0;
91 }
double G4double
Definition: G4Types.hh:83
G4double getFermiEnergy(const Particle *const p) const
Return the Fermi energy for a particle.
virtual G4double computePotentialEnergy(const Particle *const p) const

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