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

#include <G4HETCAlpha.hh>

Inheritance diagram for G4HETCAlpha:
G4HETCChargedFragment G4HETCFragment G4VPreCompoundFragment

Public Member Functions

 G4HETCAlpha ()
 
 ~G4HETCAlpha ()
 
- Public Member Functions inherited from G4HETCChargedFragment
 G4HETCChargedFragment (const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
 
virtual ~G4HETCChargedFragment ()
 
virtual G4double GetKineticEnergy (const G4Fragment &aFragment)
 
- Public Member Functions inherited from G4HETCFragment
 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)
 
G4ReactionProductGetReactionProduct () const
 
G4int GetA () const
 
G4int GetZ () const
 
G4int GetRestA () const
 
G4int GetRestZ () const
 
G4double ResidualA13 () const
 
G4double GetCoulombBarrier () const
 
G4double GetBindingEnergy () const
 
G4double GetMaximalKineticEnergy () const
 
G4double GetEnergyThreshold () const
 
G4double GetEmissionProbability () const
 
G4double GetNuclearMass () const
 
G4double GetRestNuclearMass () const
 
G4double GetReducedMass () const
 
const G4LorentzVectorGetMomentum () const
 
void SetMomentum (const G4LorentzVector &value)
 
const G4String GetName () const
 
void SetOPTxs (G4int)
 
void UseSICB (G4bool)
 

Protected Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from G4VPreCompoundFragment
G4PreCompoundParameterstheParameters
 
G4Powg4pow
 
G4double theEmissionProbability
 
G4double theCoulombBarrier
 
G4int OPTxs
 
G4bool useSICB
 

Detailed Description

Definition at line 41 of file G4HETCAlpha.hh.

Constructor & Destructor Documentation

G4HETCAlpha::G4HETCAlpha ( )

Definition at line 37 of file G4HETCAlpha.cc.

38  : G4HETCChargedFragment(G4Alpha::Alpha(), &theAlphaCoulombBarrier)
39 {}
static G4Alpha * Alpha()
Definition: G4Alpha.cc:89
G4HETCAlpha::~G4HETCAlpha ( )

Definition at line 41 of file G4HETCAlpha.cc.

42 {}

Member Function Documentation

G4double G4HETCAlpha::GetAlpha ( )
protectedvirtual

Implements G4HETCFragment.

Definition at line 44 of file G4HETCAlpha.cc.

References G4VPreCompoundFragment::GetRestZ(), and G4VPreCompoundFragment::GetZ().

45 {
46  G4double C = 0.0;
47  G4int aZ = GetZ() + GetRestZ();
48  if (aZ <= 30)
49  {
50  C = 0.10;
51  }
52  else if (aZ <= 50)
53  {
54  C = 0.1 + -((aZ-50.)/20.)*0.02;
55  }
56  else if (aZ < 70)
57  {
58  C = 0.08 + -((aZ-70.)/20.)*0.02;
59  }
60  else
61  {
62  C = 0.06;
63  }
64  return 1.0+C;
65 }
int G4int
Definition: G4Types.hh:78
G4int GetRestZ() const
G4int GetZ() const
double G4double
Definition: G4Types.hh:76
G4double G4HETCAlpha::GetBeta ( )
protectedvirtual

Implements G4HETCFragment.

Definition at line 67 of file G4HETCAlpha.cc.

References G4VPreCompoundFragment::GetCoulombBarrier().

68 {
69  return -GetCoulombBarrier();
70 }
G4double GetCoulombBarrier() const
G4double G4HETCAlpha::GetSpinFactor ( )
protectedvirtual

Implements G4HETCFragment.

Definition at line 72 of file G4HETCAlpha.cc.

73 {
74  return 1.0;
75 }
G4double G4HETCAlpha::K ( const G4Fragment aFragment)
protectedvirtual

Implements G4HETCFragment.

Definition at line 77 of file G4HETCAlpha.cc.

References G4VPreCompoundFragment::GetA(), G4Fragment::GetNumberOfHoles(), G4Fragment::GetNumberOfParticles(), G4VPreCompoundFragment::GetRestA(), G4VPreCompoundFragment::GetRestZ(), G4VPreCompoundFragment::GetZ(), and G4INCL::Math::max().

78 {
79  // Number of protons in emitted fragment
80  G4int Pa = GetZ();
81  // Number of neutrons in emitted fragment
82  G4int Na = GetA() - Pa;
83 
84  G4int TargetZ = GetRestZ();
85  G4int TargetA = GetRestA();
86  G4double r = G4double(TargetZ)/G4double(TargetA);
87 
88  G4int P = aFragment.GetNumberOfParticles();
89  G4int H = aFragment.GetNumberOfHoles();
90 
91  G4double result = 0.0;
92  if (P > 3)
93  {
94  result = 3.0/(P*(P-1.0)*(P-2.0)*(P-3.0)) *
95  (H*(H-1.0)*(H-2.0)*(H-3.0)*r*r*(r-1.0)*(r-1.0) +
96  2.0*H*(H-1.0)*(H-2.0)*(Pa*r*(1.0-r)*(1.0-r)+Na*r*r*(1.0-r)) +
97  H*(H-1.0)*(Pa*(Pa-1.0)*(1.0-r)*(1.0-r)+4.0*Na*Pa*r*(1.0-r)+Na*(Na-1.0)*r*r) +
98  2*H*(Pa*Na*(Na-1.0)*r+Pa*(Pa-1.0)*Na*(1.0-r)) +
99  Pa*(Pa-1.0)*Na*(Na-1.0));
100 
101  result /= 6.0*r*r*(1. - r) *(1. - r);
102  }
103  return std::max(0.0,result);
104 }
G4int GetA() const
G4int GetNumberOfParticles() const
Definition: G4Fragment.hh:325
int G4int
Definition: G4Types.hh:78
G4int GetNumberOfHoles() const
Definition: G4Fragment.hh:345
G4int GetRestZ() const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4int GetRestA() const
G4int GetZ() const
double G4double
Definition: G4Types.hh:76

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