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

#include <G4UnstableFermiFragment.hh>

+ Inheritance diagram for G4UnstableFermiFragment:

Public Member Functions

 G4UnstableFermiFragment (G4int anA, G4int aZ, G4int Pol, G4double ExE)
 
virtual ~G4UnstableFermiFragment ()
 
virtual G4FragmentVectorGetFragment (const G4LorentzVector &) const
 
- Public Member Functions inherited from G4VFermiFragment
 G4VFermiFragment (G4int anA, G4int aZ, G4int Pol, G4double ExE)
 
virtual ~G4VFermiFragment ()
 
virtual G4FragmentVectorGetFragment (const G4LorentzVector &aMomentum) const =0
 
G4int GetA (void) const
 
G4int GetZ (void) const
 
G4int GetPolarization (void) const
 
G4double GetExcitationEnergy (void) const
 
G4double GetFragmentMass (void) const
 
G4double GetTotalEnergy (void) const
 
G4bool IsStable () const
 

Protected Attributes

std::vector< G4doubleMasses
 
std::vector< G4intCharges
 
std::vector< G4intAtomNum
 
- Protected Attributes inherited from G4VFermiFragment
G4bool isStable
 
G4int A
 
G4int Z
 
G4int Polarization
 
G4double ExcitEnergy
 
G4double fragmentMass
 

Detailed Description

Definition at line 40 of file G4UnstableFermiFragment.hh.

Constructor & Destructor Documentation

◆ G4UnstableFermiFragment()

G4UnstableFermiFragment::G4UnstableFermiFragment ( G4int  anA,
G4int  aZ,
G4int  Pol,
G4double  ExE 
)

Definition at line 36 of file G4UnstableFermiFragment.cc.

38 : G4VFermiFragment(anA,aZ,Pol,ExE)
39{
40 isStable = false;
41}

◆ ~G4UnstableFermiFragment()

G4UnstableFermiFragment::~G4UnstableFermiFragment ( )
virtual

Definition at line 43 of file G4UnstableFermiFragment.cc.

44{}

Member Function Documentation

◆ GetFragment()

G4FragmentVector * G4UnstableFermiFragment::GetFragment ( const G4LorentzVector aMomentum) const
virtual

Implements G4VFermiFragment.

Definition at line 47 of file G4UnstableFermiFragment.cc.

48{
49 std::vector<G4LorentzVector*> * P = thePhaseSpace.Decay(aMomentum.m(), Masses);
50
51 G4ThreeVector Beta = aMomentum.boostVector();
52
53 G4FragmentVector * theResult = new G4FragmentVector;
54 size_t N = P->size();
55
56 for (size_t i=0; i<N; ++i)
57 {
58 G4LorentzVector* v = (*P)[i];
59 v->boost(Beta);
60 theResult->push_back(new G4Fragment(AtomNum[i],Charges[i],*v));
61
62 delete v;
63 }
64 delete P;
65
66 return theResult;
67}
std::vector< G4Fragment * > G4FragmentVector
Definition: G4Fragment.hh:65
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
std::vector< G4LorentzVector * > * Decay(const G4double, const std::vector< G4double > &) const
std::vector< G4double > Masses

Member Data Documentation

◆ AtomNum

◆ Charges

◆ Masses


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