Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4HETCAlpha Class Reference

#include <G4HETCAlpha.hh>

Inheritance diagram for G4HETCAlpha:

Public Member Functions

 G4HETCAlpha ()
 ~G4HETCAlpha () override=default
 G4HETCAlpha (const G4HETCAlpha &right)=delete
const G4HETCAlphaoperator= (const G4HETCAlpha &right)=delete
G4bool operator== (const G4HETCAlpha &right) const =delete
G4bool operator!= (const G4HETCAlpha &right) const =delete
Public Member Functions inherited from G4HETCChargedFragment
 G4HETCChargedFragment (const G4ParticleDefinition *, G4VCoulombBarrier *)
 ~G4HETCChargedFragment () override=default
G4double SampleKineticEnergy (const G4Fragment &aFragment) override
 G4HETCChargedFragment (const G4HETCChargedFragment &right)=delete
const G4HETCChargedFragmentoperator= (const G4HETCChargedFragment &right)=delete
G4bool operator== (const G4HETCChargedFragment &right) const =delete
G4bool operator!= (const G4HETCChargedFragment &right) const =delete
Public Member Functions inherited from G4HETCFragment
 G4HETCFragment (const G4ParticleDefinition *, G4VCoulombBarrier *p=nullptr)
 ~G4HETCFragment () override=default
G4double CalcEmissionProbability (const G4Fragment &aFragment) override
 G4HETCFragment (const G4HETCFragment &right)=delete
const G4HETCFragmentoperator= (const G4HETCFragment &right)=delete
G4bool operator== (const G4HETCFragment &right) const =delete
G4bool operator!= (const G4HETCFragment &right) const =delete
Public Member Functions inherited from G4VPreCompoundFragment
 G4VPreCompoundFragment (const G4ParticleDefinition *, G4VCoulombBarrier *)
 ~G4VPreCompoundFragment () override
G4bool Initialize (const G4Fragment &aFragment)
G4double ProbabilityDensityFunction (G4double energy) override
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 &lv)
void SetOPTxs (G4int)
void UseSICB (G4bool use)
 G4VPreCompoundFragment (const G4VPreCompoundFragment &right)=delete
const G4VPreCompoundFragmentoperator= (const G4VPreCompoundFragment &right)=delete
G4bool operator== (const G4VPreCompoundFragment &right) const =delete
G4bool operator!= (const G4VPreCompoundFragment &right) const =delete

Protected Member Functions

G4double GetAlpha () const override
G4double GetSpinFactor () const override
G4double K (const G4Fragment &aFragment) const override
Protected Member Functions inherited from G4HETCFragment
G4double BetaRand (G4int N, G4int L) const
Protected Member Functions inherited from G4VPreCompoundFragment
virtual G4double ProbabilityDistributionFunction (G4double, const G4Fragment &)
virtual G4double GetBeta () const

Additional Inherited Members

Protected Attributes inherited from G4VPreCompoundFragment
G4NuclearLevelDatafNucData
G4DeexPrecoParameterstheParameters
G4Powg4calc
G4InterfaceToXSfXSection {nullptr}
const G4FragmentpFragment {nullptr}
G4int theA
G4int theZ
G4int theResA {0}
G4int theResZ {0}
G4int theFragA {0}
G4int theFragZ {0}
G4int OPTxs
G4int index {0}
G4double theResA13 {0.0}
G4double theBindingEnergy {0.0}
G4double theMinKinEnergy {0.0}
G4double theMaxKinEnergy {0.0}
G4double theResMass {0.0}
G4double theReducedMass {0.0}
G4double theMass
G4double theEmissionProbability {0.0}
G4double theCoulombBarrier {0.0}
G4bool useSICB {true}

Detailed Description

Definition at line 39 of file G4HETCAlpha.hh.

Constructor & Destructor Documentation

◆ G4HETCAlpha() [1/2]

G4HETCAlpha::G4HETCAlpha ( )

Definition at line 37 of file G4HETCAlpha.cc.

38 : G4HETCChargedFragment(G4Alpha::Alpha(), new G4CoulombBarrier(4, 2))
39{}
static G4Alpha * Alpha()
Definition G4Alpha.cc:83
G4HETCChargedFragment(const G4ParticleDefinition *, G4VCoulombBarrier *)

Referenced by G4HETCAlpha(), operator!=(), operator=(), and operator==().

◆ ~G4HETCAlpha()

G4HETCAlpha::~G4HETCAlpha ( )
overridedefault

◆ G4HETCAlpha() [2/2]

G4HETCAlpha::G4HETCAlpha ( const G4HETCAlpha & right)
delete

Member Function Documentation

◆ GetAlpha()

G4double G4HETCAlpha::GetAlpha ( ) const
overrideprotectedvirtual

Implements G4VPreCompoundFragment.

Definition at line 41 of file G4HETCAlpha.cc.

42{
43 G4double C = 0.0;
44 if (theFragZ <= 30)
45 {
46 C = 0.10;
47 }
48 else if (theFragZ <= 50)
49 {
50 C = 0.1 - (theFragZ - 30)*0.001;
51 }
52 else if (theFragZ < 70)
53 {
54 C = 0.08 - (theFragZ-70)*0.001;
55 }
56 else
57 {
58 C = 0.06;
59 }
60 return 1.0 + C;
61}
G4double C(G4double temp)
double G4double
Definition G4Types.hh:83

◆ GetSpinFactor()

G4double G4HETCAlpha::GetSpinFactor ( ) const
overrideprotectedvirtual

Implements G4HETCFragment.

Definition at line 63 of file G4HETCAlpha.cc.

64{
65 return 1.0;
66}

◆ K()

G4double G4HETCAlpha::K ( const G4Fragment & aFragment) const
overrideprotectedvirtual

Implements G4HETCFragment.

Definition at line 68 of file G4HETCAlpha.cc.

69{
70 // Number of protons in emitted fragment
71 G4int Pa = theZ;
72 // Number of neutrons in emitted fragment
73 G4int Na = theA - Pa;
74
76
77 G4int P = aFragment.GetNumberOfParticles();
78 G4int H = aFragment.GetNumberOfHoles();
79
80 G4double result = 0.0;
81 if (P > 3)
82 {
83 result = 3.0/(P*(P-1.0)*(P-2.0)*(P-3.0)) *
84 (H*(H-1.0)*(H-2.0)*(H-3.0)*r*r*(r-1.0)*(r-1.0) +
85 2.0*H*(H-1.0)*(H-2.0)*(Pa*r*(1.0-r)*(1.0-r)+Na*r*r*(1.0-r)) +
86 H*(H-1.0)*(Pa*(Pa-1.0)*(1.0-r)*(1.0-r)+
87 4.0*Na*Pa*r*(1.0-r)+Na*(Na-1.0)*r*r) +
88 2*H*(Pa*Na*(Na-1.0)*r+Pa*(Pa-1.0)*Na*(1.0-r)) +
89 Pa*(Pa-1.0)*Na*(Na-1.0));
90
91 result /= (6.0*r*r*(1. - r) *(1. - r));
92 }
93 return std::max(0.0,result);
94}
int G4int
Definition G4Types.hh:85
G4int GetNumberOfParticles() const
G4int GetNumberOfHoles() const

◆ operator!=()

G4bool G4HETCAlpha::operator!= ( const G4HETCAlpha & right) const
delete

◆ operator=()

const G4HETCAlpha & G4HETCAlpha::operator= ( const G4HETCAlpha & right)
delete

◆ operator==()

G4bool G4HETCAlpha::operator== ( const G4HETCAlpha & right) const
delete

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