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

#include <G4VPreCompoundFragment.hh>

Inheritance diagram for G4VPreCompoundFragment:
G4HETCFragment G4PreCompoundFragment G4HETCChargedFragment G4HETCNeutron G4PreCompoundIon G4PreCompoundNucleon G4HETCAlpha G4HETCDeuteron G4HETCHe3 G4HETCProton G4HETCTriton G4PreCompoundAlpha G4PreCompoundDeuteron G4PreCompoundHe3 G4PreCompoundTriton G4PreCompoundNeutron G4PreCompoundProton

Public Member Functions

 G4VPreCompoundFragment (const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
 
virtual ~G4VPreCompoundFragment ()
 
void Initialize (const G4Fragment &aFragment)
 
virtual G4double CalcEmissionProbability (const G4Fragment &aFragment)=0
 
virtual G4double GetKineticEnergy (const G4Fragment &aFragment)=0
 
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

G4bool IsItPossible (const G4Fragment &aFragment) const
 

Protected Attributes

G4PreCompoundParameterstheParameters
 
G4Powg4pow
 
G4double theEmissionProbability
 
G4double theCoulombBarrier
 
G4int OPTxs
 
G4bool useSICB
 

Friends

std::ostream & operator<< (std::ostream &, const G4VPreCompoundFragment *)
 
std::ostream & operator<< (std::ostream &, const G4VPreCompoundFragment &)
 

Detailed Description

Definition at line 54 of file G4VPreCompoundFragment.hh.

Constructor & Destructor Documentation

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

Definition at line 39 of file G4VPreCompoundFragment.cc.

References python.hepunit::eplus, g4pow, G4VPreCompoundFragment(), G4ParticleDefinition::GetBaryonNumber(), G4Pow::GetInstance(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), and theParameters.

Referenced by G4VPreCompoundFragment().

41  : particle(part), theCoulombBarrierPtr(aCoulombBarrier),
42  theRestNucleusA(0),theRestNucleusZ(0),theBindingEnergy(0.0),
43  theMaximalKineticEnergy(-MeV),theRestNucleusMass(0.0),
44  theReducedMass(0.0),theMomentum(0.,0.,0.,0.),
46  OPTxs(3),useSICB(false)
47 {
48  theA = particle->GetBaryonNumber();
49  theZ = G4int(particle->GetPDGCharge()/eplus + 0.1);
50  theMass = particle->GetPDGMass();
53  theRestNucleusA13 = 0;
54 }
static G4Pow * GetInstance()
Definition: G4Pow.cc:53
int G4int
Definition: G4Types.hh:78
G4double GetPDGMass() const
G4PreCompoundParameters * theParameters
G4double GetPDGCharge() const
G4VPreCompoundFragment::~G4VPreCompoundFragment ( )
virtual

Definition at line 56 of file G4VPreCompoundFragment.cc.

References theParameters.

57 {
58  delete theParameters;
59 }
G4PreCompoundParameters * theParameters

Member Function Documentation

virtual G4double G4VPreCompoundFragment::CalcEmissionProbability ( const G4Fragment aFragment)
pure virtual

Implemented in G4PreCompoundFragment, and G4HETCFragment.

G4int G4VPreCompoundFragment::GetA ( ) const
inline
G4double G4VPreCompoundFragment::GetBindingEnergy ( ) const
inline
G4double G4VPreCompoundFragment::GetCoulombBarrier ( ) const
inline
G4double G4VPreCompoundFragment::GetEmissionProbability ( ) const
inline
G4double G4VPreCompoundFragment::GetEnergyThreshold ( ) const
inline
virtual G4double G4VPreCompoundFragment::GetKineticEnergy ( const G4Fragment aFragment)
pure virtual
G4double G4VPreCompoundFragment::GetMaximalKineticEnergy ( ) const
inline
const G4LorentzVector& G4VPreCompoundFragment::GetMomentum ( ) const
inline
const G4String G4VPreCompoundFragment::GetName ( ) const
inline
G4double G4VPreCompoundFragment::GetNuclearMass ( ) const
inline
G4ReactionProduct* G4VPreCompoundFragment::GetReactionProduct ( ) const
inline
G4double G4VPreCompoundFragment::GetReducedMass ( ) const
inline
G4int G4VPreCompoundFragment::GetRestA ( ) const
inline
G4double G4VPreCompoundFragment::GetRestNuclearMass ( ) const
inline
G4int G4VPreCompoundFragment::GetRestZ ( ) const
inline
G4int G4VPreCompoundFragment::GetZ ( ) const
inline
void G4VPreCompoundFragment::Initialize ( const G4Fragment aFragment)

Definition at line 79 of file G4VPreCompoundFragment.cc.

References g4pow, G4Fragment::GetA_asInt(), GetCoulombBarrier(), G4Fragment::GetExcitationEnergy(), G4Fragment::GetGroundStateMass(), G4Fragment::GetMomentum(), G4NucleiProperties::GetNuclearMass(), G4Fragment::GetZ_asInt(), CLHEP::HepLorentzVector::m(), theCoulombBarrier, and G4Pow::Z13().

80 {
81  theRestNucleusA = aFragment.GetA_asInt() - theA;
82  theRestNucleusZ = aFragment.GetZ_asInt() - theZ;
83 
84  if ((theRestNucleusA < theRestNucleusZ) ||
85  (theRestNucleusA < theA) ||
86  (theRestNucleusZ < theZ))
87  {
88  // In order to be sure that emission probability will be 0.
89  theMaximalKineticEnergy = 0.0;
90  return;
91  }
92 
93  theRestNucleusA13 = g4pow->Z13(theRestNucleusA);
94 
95  // Calculate Coulomb barrier
96  theCoulombBarrier = theCoulombBarrierPtr->
97  GetCoulombBarrier(theRestNucleusA,theRestNucleusZ,
98  aFragment.GetExcitationEnergy());
99 
100  // Calculate masses
101  theRestNucleusMass =
102  G4NucleiProperties::GetNuclearMass(theRestNucleusA, theRestNucleusZ);
103  theReducedMass = theRestNucleusMass*theMass/(theRestNucleusMass + theMass);
104 
105  // Compute Binding Energies for fragments
106  // needed to separate a fragment from the nucleus
107  theBindingEnergy =
108  theRestNucleusMass + theMass - aFragment.GetGroundStateMass();
109 
110  // Compute Maximal Kinetic Energy which can be carried by fragments
111  // after separation - the true assimptotic value
112  G4double Ecm = aFragment.GetMomentum().m();
113  theMaximalKineticEnergy =
114  ((Ecm-theRestNucleusMass)*(Ecm+theRestNucleusMass) + theMass*theMass)/(2.0*Ecm)-theMass;
115 }
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4double Z13(G4int Z) const
Definition: G4Pow.hh:129
G4int GetA_asInt() const
Definition: G4Fragment.hh:238
const G4LorentzVector & GetMomentum() const
Definition: G4Fragment.hh:271
G4double GetGroundStateMass() const
Definition: G4Fragment.hh:260
G4double GetCoulombBarrier() const
G4int GetZ_asInt() const
Definition: G4Fragment.hh:243
double G4double
Definition: G4Types.hh:76
G4double GetExcitationEnergy() const
Definition: G4Fragment.hh:255
G4bool G4VPreCompoundFragment::IsItPossible ( const G4Fragment aFragment) const
inlineprotected
G4double G4VPreCompoundFragment::ResidualA13 ( ) const
inline
void G4VPreCompoundFragment::SetMomentum ( const G4LorentzVector value)
inline
void G4VPreCompoundFragment::SetOPTxs ( G4int  )
inline
void G4VPreCompoundFragment::UseSICB ( G4bool  )
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const G4VPreCompoundFragment theFragment 
)
friend

Definition at line 69 of file G4VPreCompoundFragment.cc.

70 {
71  out
72  << "PreCompoundModel Emitted Fragment: Z= " << theFragment->GetZ()
73  << " A= " << theFragment->GetA()
74  << " Mass(GeV)= " << theFragment->GetNuclearMass()/CLHEP::GeV;
75  return out;
76 }
G4int GetA() const
G4double GetNuclearMass() const
G4int GetZ() const
std::ostream& operator<< ( std::ostream &  out,
const G4VPreCompoundFragment theFragment 
)
friend

Definition at line 62 of file G4VPreCompoundFragment.cc.

63 {
64  out << &theFragment;
65  return out;
66 }

Field Documentation

G4Pow* G4VPreCompoundFragment::g4pow
protected
G4int G4VPreCompoundFragment::OPTxs
protected
G4double G4VPreCompoundFragment::theCoulombBarrier
protected
G4double G4VPreCompoundFragment::theEmissionProbability
protected
G4PreCompoundParameters* G4VPreCompoundFragment::theParameters
protected
G4bool G4VPreCompoundFragment::useSICB
protected

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