Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4UnstableFermiFragment Class Reference

#include <G4UnstableFermiFragment.hh>

Inheritance diagram for G4UnstableFermiFragment:
Collaboration diagram for G4UnstableFermiFragment:

Public Member Functions

 G4UnstableFermiFragment (G4int anA, G4int aZ, G4int Pol, G4double ExE)
 
virtual ~G4UnstableFermiFragment ()
 
virtual void FillFragment (G4FragmentVector *, const G4LorentzVector &aMomentum) const final
 
- Public Member Functions inherited from G4VFermiFragment
 G4VFermiFragment (G4int anA, G4int aZ, G4int Pol, G4double exc, G4bool stable=true)
 
virtual ~G4VFermiFragment ()
 
G4FragmentVectorGetFragment (const G4LorentzVector &aMomentum) const
 
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
 

Detailed Description

Definition at line 40 of file G4UnstableFermiFragment.hh.

Constructor & Destructor Documentation

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

Definition at line 37 of file G4UnstableFermiFragment.cc.

39  : G4VFermiFragment(anA,aZ,Pol,ExE, false)
40 {}
G4VFermiFragment(G4int anA, G4int aZ, G4int Pol, G4double exc, G4bool stable=true)
G4UnstableFermiFragment::~G4UnstableFermiFragment ( )
virtual

Definition at line 42 of file G4UnstableFermiFragment.cc.

43 {}

Member Function Documentation

void G4UnstableFermiFragment::FillFragment ( G4FragmentVector theResult,
const G4LorentzVector aMomentum 
) const
finalvirtual

Implements G4VFermiFragment.

Definition at line 45 of file G4UnstableFermiFragment.cc.

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

Here is the call graph for this function:

Member Data Documentation

std::vector<G4int> G4UnstableFermiFragment::AtomNum
protected

Definition at line 61 of file G4UnstableFermiFragment.hh.

std::vector<G4int> G4UnstableFermiFragment::Charges
protected

Definition at line 60 of file G4UnstableFermiFragment.hh.

std::vector<G4double> G4UnstableFermiFragment::Masses
protected

Definition at line 59 of file G4UnstableFermiFragment.hh.


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