Geant4-11
|
#include <G4CascadeFinalStateAlgorithm.hh>
Public Member Functions | |
void | Configure (G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target, const std::vector< G4int > &particle_kinds) |
G4CascadeFinalStateAlgorithm () | |
void | Generate (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
const G4String & | GetName () const |
G4int | GetVerboseLevel () const |
virtual void | SetVerboseLevel (G4int verbose) |
virtual | ~G4CascadeFinalStateAlgorithm () |
Protected Member Functions | |
G4double | BetaKopylov (G4int K) const |
void | ChooseGenerators (G4int is, G4int fs) |
void | FillDirections (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
void | FillDirManyBody (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 | FillMagnitudes (G4double initialMass, const std::vector< G4double > &masses) |
void | FillUsingKopylov (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
G4double | GenerateCosTheta (G4int ptype, G4double pmod) const |
virtual void | GenerateMultiBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
virtual void | GenerateTwoBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
virtual G4bool | IsDecayAllowed (G4double initialMass, const std::vector< G4double > &masses) const |
void | PrintVector (const std::vector< G4double > &v, const G4String &name, std::ostream &os) const |
G4bool | satisfyTriangle (const std::vector< G4double > &pmod) const |
void | SaveKinematics (G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target) |
G4double | TwoBodyMomentum (G4double M0, G4double M1, G4double M2) const |
G4double | UniformPhi () const |
G4double | UniformTheta () const |
Private Attributes | |
const G4VTwoBodyAngDst * | angDist |
G4double | bullet_ekin |
std::vector< G4int > | kinds |
std::vector< G4double > | modules |
G4ThreeVector | mom |
const G4VMultiBodyMomDst * | momDist |
G4int | multiplicity |
G4String | name |
G4LorentzConvertor | toSCM |
G4int | verboseLevel |
Static Private Attributes | |
static const G4int | itry_max = 10 |
static const G4double | maxCosTheta = 0.9999 |
static const G4double | oneOverE = 0.3678794 |
static const G4double | small = 1.e-10 |
Definition at line 48 of file G4CascadeFinalStateAlgorithm.hh.
G4CascadeFinalStateAlgorithm::G4CascadeFinalStateAlgorithm | ( | ) |
Definition at line 75 of file G4CascadeFinalStateAlgorithm.cc.
|
virtual |
Definition at line 79 of file G4CascadeFinalStateAlgorithm.cc.
Definition at line 507 of file G4CascadeFinalStateAlgorithm.cc.
References G4UniformRand, G4Pow::GetInstance(), and G4Pow::powN().
Referenced by FillUsingKopylov().
Definition at line 136 of file G4CascadeFinalStateAlgorithm.cc.
References angDist, G4cout, G4endl, G4TwoBodyAngularDist::GetDist(), G4MultiBodyMomentumDist::GetDist(), G4VMultiBodyMomDst::GetName(), G4VTwoBodyAngDst::GetName(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), momDist, multiplicity, and G4CascadeParameters::usePhaseSpace().
Referenced by Configure().
void G4CascadeFinalStateAlgorithm::Configure | ( | G4InuclElementaryParticle * | bullet, |
G4InuclElementaryParticle * | target, | ||
const std::vector< G4int > & | particle_kinds | ||
) |
Definition at line 91 of file G4CascadeFinalStateAlgorithm.cc.
References ChooseGenerators(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, multiplicity, SaveKinematics(), and G4InuclElementaryParticle::type().
Referenced by G4CascadeFinalStateGenerator::Configure().
|
protected |
Definition at line 312 of file G4CascadeFinalStateAlgorithm.cc.
References FillDirManyBody(), FillDirThreeBody(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), modules, and multiplicity.
Referenced by GenerateMultiBody().
|
protected |
Definition at line 361 of file G4CascadeFinalStateAlgorithm.cc.
References G4cout, G4endl, GenerateCosTheta(), G4InuclSpecialFunctions::generateWithFixedTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, maxCosTheta, modules, multiplicity, CLHEP::HepLorentzVector::rho(), G4LorentzConvertor::rotate(), CLHEP::HepLorentzVector::set(), and toSCM.
Referenced by FillDirections().
|
protected |
Definition at line 328 of file G4CascadeFinalStateAlgorithm.cc.
References G4cout, G4endl, GenerateCosTheta(), G4InuclSpecialFunctions::generateWithFixedTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, maxCosTheta, modules, G4LorentzConvertor::rotate(), CLHEP::HepLorentzVector::set(), and toSCM.
Referenced by FillDirections().
|
protected |
Definition at line 227 of file G4CascadeFinalStateAlgorithm.cc.
References bullet_ekin, G4cerr, G4cout, G4endl, G4VMultiBodyMomDst::GetMomentum(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), itry_max, kinds, modules, momDist, multiplicity, satisfyTriangle(), and small.
Referenced by GenerateMultiBody().
|
protected |
Definition at line 463 of file G4CascadeFinalStateAlgorithm.cc.
References BetaKopylov(), CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), CLHEP::Hep3Vector::setRThetaPhi(), CLHEP::HepLorentzVector::setVectM(), G4VHadDecayAlgorithm::TwoBodyMomentum(), G4VHadDecayAlgorithm::UniformPhi(), and G4VHadDecayAlgorithm::UniformTheta().
Referenced by GenerateMultiBody().
|
inherited |
Definition at line 48 of file G4VHadDecayAlgorithm.cc.
References G4cout, G4endl, G4VHadDecayAlgorithm::GenerateMultiBody(), G4VHadDecayAlgorithm::GenerateTwoBody(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::IsDecayAllowed(), and G4VHadDecayAlgorithm::verboseLevel.
Referenced by G4HadDecayGenerator::Generate().
|
protected |
Definition at line 412 of file G4CascadeFinalStateAlgorithm.cc.
References angDist, bullet_ekin, G4cout, G4endl, G4Exp(), G4VTwoBodyAngDst::GetCosTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), G4InuclSpecialFunctions::inuclRndm(), itry_max, maxCosTheta, multiplicity, and oneOverE.
Referenced by FillDirManyBody(), and FillDirThreeBody().
|
protectedvirtual |
Implements G4VHadDecayAlgorithm.
Definition at line 204 of file G4CascadeFinalStateAlgorithm.cc.
References FillDirections(), FillMagnitudes(), FillUsingKopylov(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), itry_max, momDist, multiplicity, and G4CascadeParameters::usePhaseSpace().
|
protectedvirtual |
Implements G4VHadDecayAlgorithm.
Definition at line 163 of file G4CascadeFinalStateAlgorithm.cc.
References angDist, bullet_ekin, G4cout, G4endl, G4UniformRand, G4VTwoBodyAngDst::GetCosTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, mom, multiplicity, G4LorentzConvertor::rotate(), CLHEP::Hep3Vector::setRThetaPhi(), toSCM, G4VHadDecayAlgorithm::TwoBodyMomentum(), G4VHadDecayAlgorithm::UniformPhi(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
inlineinherited |
Definition at line 56 of file G4VHadDecayAlgorithm.hh.
References G4VHadDecayAlgorithm::name.
Referenced by G4HadPhaseSpaceGenbod::AcceptEvent(), G4HadPhaseSpaceGenbod::AccumulateFinalState(), ChooseGenerators(), G4HadPhaseSpaceGenbod::ComputeWeight(), G4HadPhaseSpaceGenbod::ComputeWeightScale(), Configure(), FillDirections(), FillDirManyBody(), FillDirThreeBody(), G4HadPhaseSpaceGenbod::FillEnergySteps(), FillMagnitudes(), G4HadPhaseSpaceGenbod::FillRandomBuffer(), FillUsingKopylov(), G4HadDecayGenerator::G4HadDecayGenerator(), G4VHadDecayAlgorithm::Generate(), GenerateCosTheta(), G4HadPhaseSpaceGenbod::GenerateMomenta(), GenerateMultiBody(), G4HadPhaseSpaceGenbod::GenerateMultiBody(), G4HadPhaseSpaceKopylov::GenerateMultiBody(), G4HadPhaseSpaceNBodyAsai::GenerateMultiBody(), GenerateTwoBody(), G4HadDecayGenerator::GetAlgorithmName(), G4HadPhaseSpaceGenbod::Initialize(), G4VHadDecayAlgorithm::IsDecayAllowed(), satisfyTriangle(), SaveKinematics(), and G4VHadDecayAlgorithm::TwoBodyMomentum().
|
inlineinherited |
Definition at line 55 of file G4VHadDecayAlgorithm.hh.
References G4VHadDecayAlgorithm::verboseLevel.
Referenced by G4HadPhaseSpaceGenbod::AcceptEvent(), G4HadPhaseSpaceGenbod::AccumulateFinalState(), ChooseGenerators(), G4HadPhaseSpaceGenbod::ComputeWeight(), G4HadPhaseSpaceGenbod::ComputeWeightScale(), Configure(), FillDirections(), FillDirManyBody(), FillDirThreeBody(), G4HadPhaseSpaceGenbod::FillEnergySteps(), FillMagnitudes(), G4HadPhaseSpaceGenbod::FillRandomBuffer(), FillUsingKopylov(), GenerateCosTheta(), G4HadPhaseSpaceGenbod::GenerateMomenta(), GenerateMultiBody(), G4HadPhaseSpaceGenbod::GenerateMultiBody(), G4HadPhaseSpaceKopylov::GenerateMultiBody(), G4HadPhaseSpaceNBodyAsai::GenerateMultiBody(), GenerateTwoBody(), G4VHadPhaseSpaceAlgorithm::GenerateTwoBody(), G4HadPhaseSpaceGenbod::Initialize(), satisfyTriangle(), and SaveKinematics().
|
protectedvirtualinherited |
Definition at line 67 of file G4VHadDecayAlgorithm.cc.
References G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::PrintVector(), and G4VHadDecayAlgorithm::verboseLevel.
Referenced by G4VHadDecayAlgorithm::Generate().
|
protectedinherited |
Definition at line 121 of file G4VHadDecayAlgorithm.cc.
References field_utils::copy().
Referenced by G4HadPhaseSpaceGenbod::FillEnergySteps(), G4HadPhaseSpaceGenbod::FillRandomBuffer(), G4HadPhaseSpaceNBodyAsai::GenerateMultiBody(), G4HadPhaseSpaceGenbod::Initialize(), and G4VHadDecayAlgorithm::IsDecayAllowed().
|
protected |
Definition at line 295 of file G4CascadeFinalStateAlgorithm.cc.
References G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), and G4VHadDecayAlgorithm::GetVerboseLevel().
Referenced by FillMagnitudes().
|
protected |
Definition at line 114 of file G4CascadeFinalStateAlgorithm.cc.
References bullet_ekin, G4cout, G4endl, G4LorentzConvertor::getKinEnergyInTheTRS(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), G4InuclElementaryParticle::nucleon(), G4LorentzConvertor::setBullet(), G4LorentzConvertor::setTarget(), toSCM, and G4LorentzConvertor::toTheCenterOfMass().
Referenced by Configure().
|
virtual |
Reimplemented from G4VHadDecayAlgorithm.
Definition at line 81 of file G4CascadeFinalStateAlgorithm.cc.
References G4LorentzConvertor::setVerbose(), G4MultiBodyMomentumDist::setVerboseLevel(), G4TwoBodyAngularDist::setVerboseLevel(), G4VHadDecayAlgorithm::SetVerboseLevel(), and toSCM.
|
protectedinherited |
Definition at line 90 of file G4VHadDecayAlgorithm.cc.
References CLHEP::eV, G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), GeV, and MeV.
Referenced by G4HadPhaseSpaceGenbod::ComputeWeightScale(), G4HadPhaseSpaceGenbod::FillEnergySteps(), FillUsingKopylov(), G4HadPhaseSpaceKopylov::GenerateMultiBody(), G4HadPhaseSpaceNBodyAsai::GenerateMultiBody(), GenerateTwoBody(), and G4VHadPhaseSpaceAlgorithm::GenerateTwoBody().
|
protectedinherited |
Definition at line 114 of file G4VHadDecayAlgorithm.cc.
References G4UniformRand, and twopi.
Referenced by FillUsingKopylov(), GenerateTwoBody(), and G4VHadPhaseSpaceAlgorithm::UniformVector().
|
protectedinherited |
Definition at line 110 of file G4VHadDecayAlgorithm.cc.
References G4UniformRand.
Referenced by FillUsingKopylov(), and G4VHadPhaseSpaceAlgorithm::UniformVector().
|
private |
Definition at line 108 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by ChooseGenerators(), GenerateCosTheta(), and GenerateTwoBody().
|
private |
Definition at line 112 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillMagnitudes(), GenerateCosTheta(), GenerateTwoBody(), and SaveKinematics().
|
staticprivate |
Definition at line 121 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillMagnitudes(), GenerateCosTheta(), and GenerateMultiBody().
|
private |
Definition at line 110 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by Configure(), FillDirManyBody(), FillDirThreeBody(), FillMagnitudes(), and GenerateTwoBody().
|
staticprivate |
Definition at line 118 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillDirManyBody(), FillDirThreeBody(), and GenerateCosTheta().
|
private |
Definition at line 115 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillDirections(), FillDirManyBody(), FillDirThreeBody(), and FillMagnitudes().
|
private |
Definition at line 116 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by GenerateTwoBody().
|
private |
Definition at line 107 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by ChooseGenerators(), FillMagnitudes(), and GenerateMultiBody().
|
private |
Definition at line 111 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by ChooseGenerators(), Configure(), FillDirections(), FillDirManyBody(), FillMagnitudes(), GenerateCosTheta(), GenerateMultiBody(), and GenerateTwoBody().
|
privateinherited |
Definition at line 85 of file G4VHadDecayAlgorithm.hh.
Referenced by source.g4viscp.G4Scene::create_scene(), G4VHadDecayAlgorithm::GetName(), mcscore.MCParticle::printout(), and source.g4viscp.G4Scene::update_scene().
|
staticprivate |
Definition at line 119 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by GenerateCosTheta().
|
staticprivate |
Definition at line 120 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillMagnitudes().
|
private |
Definition at line 113 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillDirManyBody(), FillDirThreeBody(), GenerateTwoBody(), SaveKinematics(), and SetVerboseLevel().
|
privateinherited |
Definition at line 86 of file G4VHadDecayAlgorithm.hh.
Referenced by G4VHadDecayAlgorithm::Generate(), G4VHadDecayAlgorithm::GetVerboseLevel(), G4VHadDecayAlgorithm::IsDecayAllowed(), and G4VHadDecayAlgorithm::SetVerboseLevel().