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

#include <G4INCLCDPP.hh>

+ Inheritance diagram for G4INCL::CDPP:

Public Member Functions

 CDPP ()
 
 ~CDPP ()
 
G4bool isBlocked (ParticleList const &, Nucleus const *const)
 
void processOneParticle (Particle const *const p)
 
- Public Member Functions inherited from G4INCL::IPauli
 IPauli ()
 
virtual ~IPauli ()
 
virtual G4bool isBlocked (ParticleList const &, Nucleus const *const)=0
 

Protected Attributes

G4double Sk
 
G4double TbelowTf
 
NuclearPotential::INuclearPotential const * thePotential
 

Detailed Description

Definition at line 47 of file G4INCLCDPP.hh.

Constructor & Destructor Documentation

◆ CDPP()

G4INCL::CDPP::CDPP ( )

Definition at line 44 of file G4INCLCDPP.cc.

44 :
45 Sk(0.0),
46 TbelowTf(0.0),
47 thePotential(NULL)
48 {}
G4double TbelowTf
Definition: G4INCLCDPP.hh:73
G4double Sk
Definition: G4INCLCDPP.hh:72
NuclearPotential::INuclearPotential const * thePotential
Definition: G4INCLCDPP.hh:74

◆ ~CDPP()

G4INCL::CDPP::~CDPP ( )

Definition at line 50 of file G4INCLCDPP.cc.

50{}

Member Function Documentation

◆ isBlocked()

G4bool G4INCL::CDPP::isBlocked ( ParticleList const &  created,
Nucleus const * const  nucleus 
)
virtual

Implements G4INCL::IPauli.

Definition at line 52 of file G4INCLCDPP.cc.

52 {
53 G4double S = nucleus->computeSeparationEnergyBalance();
54
55 thePotential = nucleus->getPotential();
56
57 ParticleList const &remnantParticles = nucleus->getStore()->getParticles();
58
59 Sk = 0.0;
60 TbelowTf = 0.0;
61
62 std::for_each(remnantParticles.begin(), remnantParticles.end(),
63 [this](Particle const * const p){ this->G4INCL::CDPP::processOneParticle(p); }
64 );
65 std::for_each(created.begin(), created.end(),
66 [this](Particle const * const p){ this->G4INCL::CDPP::processOneParticle(p); }
67 );
68
69 const G4double Tinitial = nucleus->getInitialInternalEnergy();
70 const G4double Eblock = TbelowTf - Tinitial - Sk - S;
71
72 return (Eblock < 0.0);
73 }
G4double S(G4double temp)
double G4double
Definition: G4Types.hh:83

◆ processOneParticle()

void G4INCL::CDPP::processOneParticle ( Particle const *const  p)
inline

Definition at line 54 of file G4INCLCDPP.hh.

54 {
55 if(p->isBaryon()) {
57 const G4double T = p->getKineticEnergy();
58
59 if(T > Tf) {
61 Sk += sep;
62 } else {
63 TbelowTf += T - p->getPotentialEnergy();
64 }
65 } else if(p->isMeson() || p->isResonance()) {
67 Sk += sep;
68 }
69 }
G4double getSeparationEnergy(const Particle *const p) const
Return the separation energy for a particle.
G4double getFermiEnergy(const Particle *const p) const
Return the Fermi energy for a particle.

Member Data Documentation

◆ Sk

G4double G4INCL::CDPP::Sk
protected

Definition at line 72 of file G4INCLCDPP.hh.

Referenced by isBlocked(), and processOneParticle().

◆ TbelowTf

G4double G4INCL::CDPP::TbelowTf
protected

Definition at line 73 of file G4INCLCDPP.hh.

Referenced by isBlocked(), and processOneParticle().

◆ thePotential

NuclearPotential::INuclearPotential const* G4INCL::CDPP::thePotential
protected

Definition at line 74 of file G4INCLCDPP.hh.

Referenced by isBlocked(), and processOneParticle().


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