Geant4  10.02.p03
G4HETCFragment Class Referenceabstract

#include <G4HETCFragment.hh>

Inheritance diagram for G4HETCFragment:
Collaboration diagram for G4HETCFragment:

Public Member Functions

 G4HETCFragment (const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
 
virtual ~G4HETCFragment ()
 
G4double CalcEmissionProbability (const G4Fragment &aFragment)
 
- Public Member Functions inherited from G4VPreCompoundFragment
 G4VPreCompoundFragment (const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
 
virtual ~G4VPreCompoundFragment ()
 
void Initialize (const G4Fragment &aFragment)
 
virtual G4double SampleKineticEnergy (const G4Fragment &aFragment)=0
 
G4bool IsItPossible (const G4Fragment &aFragment) const
 
G4ReactionProductGetReactionProduct () const
 
G4int GetA () const
 
G4int GetZ () const
 
G4int GetRestA () const
 
G4int GetRestZ () const
 
G4double GetBindingEnergy () const
 
G4double GetEnergyThreshold () const
 
G4double GetEmissionProbability () const
 
G4double GetNuclearMass () const
 
G4double GetRestNuclearMass () const
 
const G4LorentzVectorGetMomentum () const
 
void SetMomentum (const G4LorentzVector &value)
 
void SetOPTxs (G4int)
 
void UseSICB (G4bool)
 

Protected Member Functions

virtual G4double K (const G4Fragment &aFragment)=0
 
virtual G4double GetSpinFactor () const =0
 
virtual G4double GetAlpha () const =0
 
virtual G4double GetBeta () const =0
 
G4double BetaRand (G4int N, G4int L) const
 

Private Member Functions

G4double IntegrateEmissionProbability (G4double &Low, G4double &Up, const G4Fragment &aFragment)
 
 G4HETCFragment ()
 
 G4HETCFragment (const G4HETCFragment &right)
 
const G4HETCFragmentoperator= (const G4HETCFragment &right)
 
G4int operator== (const G4HETCFragment &right) const
 
G4int operator!= (const G4HETCFragment &right) const
 

Private Attributes

G4double r2norm
 

Additional Inherited Members

- Protected Attributes inherited from G4VPreCompoundFragment
G4PreCompoundParameterstheParameters
 
G4Powg4pow
 
G4int theA
 
G4int theZ
 
G4int theResA
 
G4int theResZ
 
G4int theFragA
 
G4int theFragZ
 
G4double theResA13
 
G4double theBindingEnergy
 
G4double theMaxKinEnergy
 
G4double theResMass
 
G4double theReducedMass
 
G4double theMass
 
G4double theEmissionProbability
 
G4double theCoulombBarrier
 
G4int OPTxs
 
G4bool useSICB
 

Detailed Description

Definition at line 40 of file G4HETCFragment.hh.

Constructor & Destructor Documentation

◆ G4HETCFragment() [1/3]

G4HETCFragment::G4HETCFragment ( const G4ParticleDefinition part,
G4VCoulombBarrier aCoulombBarrier 
)

Definition at line 39 of file G4HETCFragment.cc.

41  : G4VPreCompoundFragment(part, aCoulombBarrier)
42 {
45 }
static const double hbarc
static const double pi
Definition: SystemOfUnits.h:53
G4PreCompoundParameters * theParameters
double G4double
Definition: G4Types.hh:76
const G4double r0
Here is the call graph for this function:

◆ ~G4HETCFragment()

G4HETCFragment::~G4HETCFragment ( )
virtual

Definition at line 47 of file G4HETCFragment.cc.

48 {}
Here is the call graph for this function:

◆ G4HETCFragment() [2/3]

G4HETCFragment::G4HETCFragment ( )
private

◆ G4HETCFragment() [3/3]

G4HETCFragment::G4HETCFragment ( const G4HETCFragment right)
private

Member Function Documentation

◆ BetaRand()

G4double G4HETCFragment::BetaRand ( G4int  N,
G4int  L 
) const
inlineprotected

Definition at line 79 of file G4HETCFragment.hh.

80 {
83 
84  return Y1/(Y1+Y2);
85 }
ThreeVector shoot(const G4int Ap, const G4int Af)
Double_t Y2
static const double L
Definition: G4SIunits.hh:123
Double_t Y1
**D E S C R I P T I O N
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalcEmissionProbability()

G4double G4HETCFragment::CalcEmissionProbability ( const G4Fragment aFragment)
virtual

Implements G4VPreCompoundFragment.

Definition at line 51 of file G4HETCFragment.cc.

52 {
53  if (GetEnergyThreshold() <= 0.0)
54  {
56  return 0.0;
57  }
58  // Coulomb barrier is the lower limit
59  // of integration over kinetic energy
62 
64 }
G4double GetEnergyThreshold() const
G4double IntegrateEmissionProbability(G4double &Low, G4double &Up, const G4Fragment &aFragment)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAlpha()

virtual G4double G4HETCFragment::GetAlpha ( ) const
protectedpure virtual

Implements G4VPreCompoundFragment.

Implemented in G4HETCNeutron, G4HETCDeuteron, G4HETCAlpha, G4HETCProton, and G4HETCTriton.

Here is the caller graph for this function:

◆ GetBeta()

virtual G4double G4HETCFragment::GetBeta ( ) const
protectedpure virtual

Implements G4VPreCompoundFragment.

Implemented in G4HETCNeutron, G4HETCDeuteron, G4HETCAlpha, G4HETCProton, and G4HETCTriton.

Here is the caller graph for this function:

◆ GetSpinFactor()

virtual G4double G4HETCFragment::GetSpinFactor ( ) const
protectedpure virtual

Implemented in G4HETCNeutron, G4HETCDeuteron, G4HETCAlpha, G4HETCProton, and G4HETCTriton.

Here is the caller graph for this function:

◆ IntegrateEmissionProbability()

G4double G4HETCFragment::IntegrateEmissionProbability ( G4double Low,
G4double Up,
const G4Fragment aFragment 
)
private

Definition at line 67 of file G4HETCFragment.cc.

69 {
70  G4double U = aFragment.GetExcitationEnergy();
71 
72  G4int P = aFragment.GetNumberOfParticles();
73  G4int H = aFragment.GetNumberOfHoles();
74  G4int N = P + H;
75  G4int Pb = P - theA;
76  G4int Nb = Pb + H;
77  if (Nb <= 0.0) { return 0.0; }
80 
81  G4double A = G4double(P*P+H*H+P-3*H)/(4.0*ga);
82  G4double Ab = G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*gb);
83  U = std::max(U-A,0.0);
84  if (U <= 0.0) { return 0.0; }
85 
86  G4int Pf = P;
87  G4int Hf = H;
88  G4int Nf = N-1;
89  for (G4int i = 1; i < theA; ++i)
90  {
91  Pf *= (P-i);
92  Hf *= (H-i);
93  Nf *= (N-1-i);
94  }
95 
96  G4double X = std::max(Up - Ab + GetBeta(),0.0);
97  G4double Y = std::max(Up - Ab - Low, 0.0);
98 
100  *g4pow->Z23(theResA)*Pf*Hf*Nf*K(aFragment)*(X/Nb - Y/(Nb+1))
101  *U*g4pow->powN(gb*Y,Nb)/g4pow->powN(ga*U,N);
102 
103  return Probability;
104 }
G4double GetExcitationEnergy() const
Definition: G4Fragment.hh:273
G4double powN(G4double x, G4int n) const
Definition: G4Pow.cc:128
Float_t Y
virtual G4double GetSpinFactor() const =0
static const double pi2
Definition: G4SIunits.hh:77
int G4int
Definition: G4Types.hh:78
static double P[]
Float_t X
G4int GetNumberOfHoles() const
Definition: G4Fragment.hh:347
double A(double temperature)
virtual G4double GetAlpha() const =0
virtual G4double GetBeta() const =0
G4int GetNumberOfParticles() const
Definition: G4Fragment.hh:327
const G4double Pf
Fermi momentum [MeV/c].
virtual G4double K(const G4Fragment &aFragment)=0
G4PreCompoundParameters * theParameters
**D E S C R I P T I O N
double G4double
Definition: G4Types.hh:76
G4double Z23(G4int Z) const
Definition: G4Pow.hh:154
Here is the call graph for this function:
Here is the caller graph for this function:

◆ K()

virtual G4double G4HETCFragment::K ( const G4Fragment aFragment)
protectedpure virtual

Implemented in G4HETCNeutron, G4HETCDeuteron, G4HETCAlpha, G4HETCProton, and G4HETCTriton.

Here is the caller graph for this function:

◆ operator!=()

G4int G4HETCFragment::operator!= ( const G4HETCFragment right) const
private

◆ operator=()

const G4HETCFragment& G4HETCFragment::operator= ( const G4HETCFragment right)
private

◆ operator==()

G4int G4HETCFragment::operator== ( const G4HETCFragment right) const
private

Member Data Documentation

◆ r2norm

G4double G4HETCFragment::r2norm
private

Definition at line 76 of file G4HETCFragment.hh.


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