57 const G4int z[6] = {0, 1, 1, 1, 2, 2};
58 const G4int a[6] = {1, 1, 2, 3, 3, 4};
59 for(
G4int i=0; i<6; ++i) {
93 G4double deltaE, mass, mass1(0.0), mass2(0.0);
98 for(
G4int ia=0; ia<Amax; ++ia) {
106 if(Zres >= 0 && Ares >= Zres && Ares > 0) {
119 if(index < 0) {
break; }
122 G4double e2 = 0.5*((mass - mass1)*(mass + mass1) + mass2*mass2)/mass;
123 if(e2 < mass2) {
break; }
129 G4double sinTheta = std::sqrt(1. - cosTheta * cosTheta);
131 G4double mom = std::sqrt((e2 - mass2)*(e2 + mass2));
133 mom * sinTheta * std::sin(phi),
139 theResult->push_back(fr);
149 theResult->push_back(nucleus);
static G4double GetNuclearMass(const G4double A, const G4double Z)
CLHEP::Hep3Vector G4ThreeVector
G4NistManager * fNistManager
G4UnstableFragmentBreakUp()
static G4NistManager * Instance()
virtual G4FragmentVector * BreakUp(const G4Fragment &fragment)
virtual G4FragmentVector * BreakUpFragment(G4Fragment *fragment)
double A(double temperature)
G4double GetCreationTime() const
const G4LorentzVector & GetMomentum() const
void SetMomentum(const G4LorentzVector &value)
static const double twopi
std::vector< G4Fragment * > G4FragmentVector
void SetCreationTime(G4double time)
void SetZandA_asInt(G4int Znew, G4int Anew)
virtual G4double GetEmissionProbability(G4Fragment *fragment)
virtual G4Fragment * EmittedFragment(G4Fragment *fragment)
virtual G4bool BreakUpChain(G4FragmentVector *theResult, G4Fragment *theNucleus)
virtual ~G4UnstableFragmentBreakUp()
CLHEP::HepLorentzVector G4LorentzVector