56 : verboseLevel(verbose), theAlgorithm(0) {
66 G4cout <<
" >>> G4HadDecayGenerator";
74 : verboseLevel(verbose), theAlgorithm(alg) {
76 G4cout <<
" >>> G4HadDecayGenerator";
92 G4cerr <<
"G4HadDecayGenerator: bad algorithm code " << alg <<
G4endl;
99 G4cerr <<
"G4HadDecayGenerator: no algorithm specified" <<
G4endl;
112 static const G4String& none =
"NONE";
121 const std::vector<G4double>& masses,
122 std::vector<G4LorentzVector>& finalState) {
124 G4cout <<
" >>> G4HadDecayGenerator::Generate (mass)" <<
G4endl;
128 if (masses.size() == 1U)
132 return !finalState.empty();
139 const std::vector<G4double>& masses,
140 std::vector<G4LorentzVector>& finalState) {
142 G4cout <<
" >>> G4HadDecayGenerator::Generate (particle)" <<
G4endl;
151 const std::vector<G4double>& masses,
152 std::vector<G4LorentzVector>& finalState) {
154 G4cout <<
" >>> G4HadDecayGenerator::Generate (frame)" <<
G4endl;
159 for (
size_t i=0; i<finalState.size(); i++) {
160 finalState[i].boost(bv);
172 const std::vector<G4double>& masses,
173 std::vector<G4LorentzVector>& finalState)
const {
175 G4cout <<
" >>> G4HadDecayGenerator::GenerateOneBody" <<
G4endl;
180 if (masses.size() != 1U)
return false;
181 if (std::fabs(initialMass-masses[0]) > eV)
return false;
CLHEP::HepLorentzVector G4LorentzVector
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
Hep3Vector boostVector() const
G4VHadDecayAlgorithm * theAlgorithm
void ReportMissingAlgorithm() const
virtual ~G4HadDecayGenerator()
void SetVerboseLevel(G4int verbose)
void ReportInvalidAlgorithm(Algorithm alg) const
G4bool GenerateOneBody(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) const
G4HadDecayGenerator(Algorithm alg=Kopylov, G4int verbose=0)
G4bool Generate(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
const G4String & GetAlgorithmName() const
G4double GetPDGMass() const
void Generate(G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
const G4String & GetName() const
virtual void SetVerboseLevel(G4int verbose)