Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes
G4INCL::CDPP Class Reference

#include <G4INCLCDPP.hh>

Inheritance diagram for G4INCL::CDPP:
G4INCL::IPauli

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 ()
 

Protected Attributes

G4double Sk
 
G4double TbelowTf
 
NuclearPotential::INuclearPotential
const * 
thePotential
 

Detailed Description

Definition at line 46 of file G4INCLCDPP.hh.

Constructor & Destructor Documentation

G4INCL::CDPP::CDPP ( )

Definition at line 43 of file G4INCLCDPP.cc.

43  :
44  Sk(0.0),
45  TbelowTf(0.0),
46  thePotential(NULL)
47  {}
G4double TbelowTf
Definition: G4INCLCDPP.hh:72
G4double Sk
Definition: G4INCLCDPP.hh:71
NuclearPotential::INuclearPotential const * thePotential
Definition: G4INCLCDPP.hh:73
G4INCL::CDPP::~CDPP ( )

Definition at line 49 of file G4INCLCDPP.cc.

49 {}

Member Function Documentation

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

Implements G4INCL::IPauli.

Definition at line 51 of file G4INCLCDPP.cc.

References G4INCL::Nucleus::computeSeparationEnergyBalance(), G4INCL::Nucleus::getInitialInternalEnergy(), G4INCL::Store::getParticles(), G4INCL::Nucleus::getPotential(), G4INCL::Nucleus::getStore(), processOneParticle(), Sk, TbelowTf, and thePotential.

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

Definition at line 53 of file G4INCLCDPP.hh.

References G4INCL::NuclearPotential::INuclearPotential::getFermiEnergy(), G4INCL::Particle::getKineticEnergy(), G4INCL::Particle::getPotentialEnergy(), G4INCL::NuclearPotential::INuclearPotential::getSeparationEnergy(), G4INCL::Particle::isNucleon(), G4INCL::Particle::isPion(), G4INCL::Particle::isResonance(), Sk, TbelowTf, and thePotential.

Referenced by isBlocked().

53  {
54  if(p->isNucleon()) {
56  const G4double T = p->getKineticEnergy();
57 
58  if(T > Tf) {
60  Sk += sep;
61  } else {
62  TbelowTf += T - p->getPotentialEnergy();
63  }
64  } else if(p->isPion() || p->isResonance()) {
66  Sk += sep;
67  }
68  }
const char * p
Definition: xmltok.h:285
G4double TbelowTf
Definition: G4INCLCDPP.hh:72
G4double getFermiEnergy(const Particle *const p) const
Return the Fermi energy for a particle.
G4double getSeparationEnergy(const Particle *const p) const
Return the separation energy for a particle.
G4double Sk
Definition: G4INCLCDPP.hh:71
double G4double
Definition: G4Types.hh:76
NuclearPotential::INuclearPotential const * thePotential
Definition: G4INCLCDPP.hh:73

Field Documentation

G4double G4INCL::CDPP::Sk
protected

Definition at line 71 of file G4INCLCDPP.hh.

Referenced by isBlocked(), and processOneParticle().

G4double G4INCL::CDPP::TbelowTf
protected

Definition at line 72 of file G4INCLCDPP.hh.

Referenced by isBlocked(), and processOneParticle().

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

Definition at line 73 of file G4INCLCDPP.hh.

Referenced by isBlocked(), and processOneParticle().


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