34 #ifndef G4VHadDecayAlgorithm_HH 35 #define G4VHadDecayAlgorithm_HH 1 51 const std::vector<G4double>& masses,
52 std::vector<G4LorentzVector>& finalState);
62 const std::vector<G4double>& masses,
63 std::vector<G4LorentzVector>& finalState) = 0;
66 const std::vector<G4double>& masses,
67 std::vector<G4LorentzVector>& finalState) = 0;
72 const std::vector<G4double>& masses)
const;
83 std::ostream& os)
const;
virtual void GenerateTwoBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)=0
virtual ~G4VHadDecayAlgorithm()
const G4String & GetName() const
G4double UniformPhi() const
virtual void GenerateMultiBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)=0
virtual G4bool IsDecayAllowed(G4double initialMass, const std::vector< G4double > &masses) const
G4VHadDecayAlgorithm(const G4String &algName, G4int verbose=0)
void Generate(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
virtual void SetVerboseLevel(G4int verbose)
G4int GetVerboseLevel() const
G4double UniformTheta() const
void PrintVector(const std::vector< G4double > &v, const G4String &name, std::ostream &os) const
G4double TwoBodyMomentum(G4double M0, G4double M1, G4double M2) const