35 #ifndef G4CascadeFinalStateAlgorithm_hh
36 #define G4CascadeFinalStateAlgorithm_hh 1
59 const std::vector<G4int>& particle_kinds);
64 const std::vector<G4double>& masses,
65 std::vector<G4LorentzVector>& finalState);
69 const std::vector<G4double>& masses,
70 std::vector<G4LorentzVector>& finalState);
81 const std::vector<G4double>& masses);
87 const std::vector<G4double>& masses,
88 std::vector<G4LorentzVector>& finalState);
91 const std::vector<G4double>& masses,
92 std::vector<G4LorentzVector>& finalState);
95 const std::vector<G4double>& masses,
96 std::vector<G4LorentzVector>& finalState);
102 const std::vector<G4double>& masses,
103 std::vector<G4LorentzVector>& finalState);
void Configure(G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target, const std::vector< G4int > &particle_kinds)
void FillDirections(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
G4double GenerateCosTheta(G4int ptype, G4double pmod) const
void FillDirThreeBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
virtual ~G4CascadeFinalStateAlgorithm()
const G4VMultiBodyMomDst * momDist
G4CascadeFinalStateAlgorithm()
const G4VTwoBodyAngDst * angDist
void FillDirManyBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
void SaveKinematics(G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target)
void FillMagnitudes(G4double initialMass, const std::vector< G4double > &masses)
std::vector< G4int > kinds
G4bool satisfyTriangle(const std::vector< G4double > &pmod) const
void ChooseGenerators(G4int is, G4int fs)
static const G4double oneOverE
static const G4int itry_max
G4double BetaKopylov(G4int K) const
virtual void GenerateMultiBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
void FillUsingKopylov(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
static const G4double small
virtual void GenerateTwoBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
virtual void SetVerboseLevel(G4int verbose)
std::vector< G4double > modules
static const G4double maxCosTheta