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

#include <G4PreCompoundFragment.hh>

Inheritance diagram for G4PreCompoundFragment:
G4VPreCompoundFragment G4PreCompoundIon G4PreCompoundNucleon G4PreCompoundAlpha G4PreCompoundDeuteron G4PreCompoundHe3 G4PreCompoundTriton G4PreCompoundNeutron G4PreCompoundProton

Public Member Functions

 G4PreCompoundFragment (const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
 
virtual ~G4PreCompoundFragment ()
 
G4double CalcEmissionProbability (const G4Fragment &aFragment)
 
G4double GetKineticEnergy (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 ProbabilityDistributionFunction (G4double K, const G4Fragment &aFragment)=0
 
- 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 44 of file G4PreCompoundFragment.hh.

Constructor & Destructor Documentation

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

Definition at line 40 of file G4PreCompoundFragment.cc.

42  : G4VPreCompoundFragment(part,aCoulombBarrier)
43 {}
G4PreCompoundFragment::~G4PreCompoundFragment ( )
virtual

Definition at line 45 of file G4PreCompoundFragment.cc.

46 {}

Member Function Documentation

G4double G4PreCompoundFragment::CalcEmissionProbability ( const G4Fragment aFragment)
virtual

Implements G4VPreCompoundFragment.

Definition at line 49 of file G4PreCompoundFragment.cc.

References G4VPreCompoundFragment::GetMaximalKineticEnergy(), G4VPreCompoundFragment::OPTxs, G4VPreCompoundFragment::theCoulombBarrier, G4VPreCompoundFragment::theEmissionProbability, and G4VPreCompoundFragment::useSICB.

50 {
51  //G4cout << theCoulombBarrier << " " << GetMaximalKineticEnergy() << G4endl;
52  // If theCoulombBarrier effect is included in the emission probabilities
53  //if (GetMaximalKineticEnergy() <= 0.0)
54  G4double limit = 0.0;
55  if(OPTxs==0 || useSICB) { limit = theCoulombBarrier; }
56  if (GetMaximalKineticEnergy() <= limit)
57  {
59  return 0.0;
60  }
61  // If theCoulombBarrier effect is included in the emission probabilities
62  // G4double LowerLimit = 0.;
63  // Coulomb barrier is the lower limit
64  // of integration over kinetic energy
65  G4double LowerLimit = limit;
66 
67  // Excitation energy of nucleus after fragment emission is the upper
68  //limit of integration over kinetic energy
69  G4double UpperLimit = GetMaximalKineticEnergy();
70 
72  IntegrateEmissionProbability(LowerLimit,UpperLimit,aFragment);
73  /*
74  G4cout << "## G4PreCompoundFragment::CalcEmisProb "
75  << "Z= " << aFragment.GetZ_asInt()
76  << " A= " << aFragment.GetA_asInt()
77  << " Elow= " << LowerLimit/MeV
78  << " Eup= " << UpperLimit/MeV
79  << " prob= " << theEmissionProbability
80  << G4endl;
81  */
83 }
G4double GetMaximalKineticEnergy() const
double G4double
Definition: G4Types.hh:76
G4double G4PreCompoundFragment::GetKineticEnergy ( const G4Fragment aFragment)
virtual

Implements G4VPreCompoundFragment.

Definition at line 128 of file G4PreCompoundFragment.cc.

References G4UniformRand, G4VPreCompoundFragment::GetEmissionProbability(), G4VPreCompoundFragment::GetMaximalKineticEnergy(), G4VPreCompoundFragment::OPTxs, ProbabilityDistributionFunction(), G4VPreCompoundFragment::theCoulombBarrier, and G4VPreCompoundFragment::useSICB.

129 {
130  //let's keep this way for consistency with CalcEmissionProbability method
131  G4double V = 0.0;
132  if(OPTxs==0 || useSICB) { V = theCoulombBarrier; }
133 
135  if(Tmax < V) { return 0.0; }
136  G4double T(0.0);
137  G4double Probability(1.0);
138  G4double maxProbability = GetEmissionProbability();
139  do
140  {
141  T = V + G4UniformRand()*(Tmax-V);
142  Probability = ProbabilityDistributionFunction(T,aFragment);
143  } while (maxProbability*G4UniformRand() > Probability);
144  return T;
145 }
G4double GetMaximalKineticEnergy() const
#define G4UniformRand()
Definition: Randomize.hh:87
virtual G4double ProbabilityDistributionFunction(G4double K, const G4Fragment &aFragment)=0
G4double GetEmissionProbability() const
double G4double
Definition: G4Types.hh:76
virtual G4double G4PreCompoundFragment::ProbabilityDistributionFunction ( G4double  K,
const G4Fragment aFragment 
)
protectedpure virtual

Implemented in G4PreCompoundIon, and G4PreCompoundNucleon.

Referenced by GetKineticEnergy().


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