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);
111 std::vector<G4int> kinds;
116 std::vector<G4double> modules;
122 static const G4int itry_max;
virtual void GenerateMultiBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
void FillDirThreeBody(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)
G4bool satisfyTriangle(const std::vector< G4double > &pmod) const
G4double GenerateCosTheta(G4int ptype, G4double pmod) const
void Configure(G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target, const std::vector< G4int > &particle_kinds)
virtual void GenerateTwoBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
void FillDirections(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
void FillUsingKopylov(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
G4CascadeFinalStateAlgorithm()
virtual void SetVerboseLevel(G4int verbose)
void ChooseGenerators(G4int is, G4int fs)
void FillDirManyBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
virtual ~G4CascadeFinalStateAlgorithm()
G4double BetaKopylov(G4int K) const