Geant4
10.02
|
#include <G4CascadeFinalStateAlgorithm.hh>
Public Member Functions | |
G4CascadeFinalStateAlgorithm () | |
virtual | ~G4CascadeFinalStateAlgorithm () |
virtual void | SetVerboseLevel (G4int verbose) |
void | Configure (G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target, const std::vector< G4int > &particle_kinds) |
Public Member Functions inherited from G4VHadDecayAlgorithm | |
G4VHadDecayAlgorithm (const G4String &algName, G4int verbose=0) | |
virtual | ~G4VHadDecayAlgorithm () |
void | Generate (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
G4int | GetVerboseLevel () const |
const G4String & | GetName () const |
Protected Member Functions | |
virtual void | GenerateTwoBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
virtual void | GenerateMultiBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
void | SaveKinematics (G4InuclElementaryParticle *bullet, G4InuclElementaryParticle *target) |
void | ChooseGenerators (G4int is, G4int fs) |
void | FillMagnitudes (G4double initialMass, const std::vector< G4double > &masses) |
G4bool | satisfyTriangle (const std::vector< G4double > &pmod) const |
void | FillDirections (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 | FillDirManyBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
G4double | GenerateCosTheta (G4int ptype, G4double pmod) const |
void | FillUsingKopylov (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState) |
G4double | BetaKopylov (G4int K) const |
Protected Member Functions inherited from G4VHadDecayAlgorithm | |
virtual G4bool | IsDecayAllowed (G4double initialMass, const std::vector< G4double > &masses) const |
G4double | TwoBodyMomentum (G4double M0, G4double M1, G4double M2) const |
G4double | UniformTheta () const |
G4double | UniformPhi () const |
void | PrintVector (const std::vector< G4double > &v, const G4String &name, std::ostream &os) const |
Private Attributes | |
const G4VMultiBodyMomDst * | momDist |
const G4VTwoBodyAngDst * | angDist |
std::vector< G4int > | kinds |
G4int | multiplicity |
G4double | bullet_ekin |
G4LorentzConvertor | toSCM |
std::vector< G4double > | modules |
G4ThreeVector | mom |
Static Private Attributes | |
static const G4double | maxCosTheta = 0.9999 |
static const G4double | oneOverE = 0.3678794 |
static const G4double | small = 1.e-10 |
static const G4int | itry_max = 10 |
Definition at line 49 of file G4CascadeFinalStateAlgorithm.hh.
G4CascadeFinalStateAlgorithm::G4CascadeFinalStateAlgorithm | ( | ) |
Definition at line 76 of file G4CascadeFinalStateAlgorithm.cc.
|
virtual |
Definition at line 80 of file G4CascadeFinalStateAlgorithm.cc.
Definition at line 508 of file G4CascadeFinalStateAlgorithm.cc.
References G4UniformRand, G4Pow::GetInstance(), and G4Pow::powN().
Referenced by FillUsingKopylov().
Definition at line 137 of file G4CascadeFinalStateAlgorithm.cc.
References angDist, G4cout, G4endl, G4MultiBodyMomentumDist::GetDist(), G4TwoBodyAngularDist::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 93 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 314 of file G4CascadeFinalStateAlgorithm.cc.
References FillDirManyBody(), FillDirThreeBody(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), modules, and multiplicity.
Referenced by GenerateMultiBody().
|
protected |
Definition at line 363 of file G4CascadeFinalStateAlgorithm.cc.
References G4cout, G4endl, GenerateCosTheta(), G4InuclSpecialFunctions::generateWithFixedTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, maxCosTheta, modules, multiplicity, G4LorentzConvertor::rotate(), and toSCM.
Referenced by FillDirections().
|
protected |
Definition at line 330 of file G4CascadeFinalStateAlgorithm.cc.
References G4cout, G4endl, GenerateCosTheta(), G4InuclSpecialFunctions::generateWithFixedTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, maxCosTheta, modules, G4LorentzConvertor::rotate(), and toSCM.
Referenced by FillDirections().
|
protected |
Definition at line 229 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 465 of file G4CascadeFinalStateAlgorithm.cc.
References BetaKopylov(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), G4VHadDecayAlgorithm::TwoBodyMomentum(), G4VHadDecayAlgorithm::UniformPhi(), and G4VHadDecayAlgorithm::UniformTheta().
Referenced by GenerateMultiBody().
|
protected |
Definition at line 414 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 206 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 165 of file G4CascadeFinalStateAlgorithm.cc.
References angDist, bullet_ekin, G4cout, G4endl, G4UniformRand, G4VTwoBodyAngDst::GetCosTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, mom, multiplicity, G4LorentzConvertor::rotate(), toSCM, G4VHadDecayAlgorithm::TwoBodyMomentum(), and G4VHadDecayAlgorithm::UniformPhi().
|
protected |
Definition at line 297 of file G4CascadeFinalStateAlgorithm.cc.
References G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), and G4VHadDecayAlgorithm::GetVerboseLevel().
Referenced by FillMagnitudes().
|
protected |
Definition at line 116 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 82 of file G4CascadeFinalStateAlgorithm.cc.
References G4LorentzConvertor::setVerbose(), G4VHadDecayAlgorithm::SetVerboseLevel(), G4MultiBodyMomentumDist::setVerboseLevel(), G4TwoBodyAngularDist::setVerboseLevel(), and toSCM.
|
private |
Definition at line 109 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by ChooseGenerators(), GenerateCosTheta(), and GenerateTwoBody().
|
private |
Definition at line 113 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillMagnitudes(), GenerateCosTheta(), GenerateTwoBody(), and SaveKinematics().
|
staticprivate |
Definition at line 122 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillMagnitudes(), GenerateCosTheta(), and GenerateMultiBody().
|
private |
Definition at line 111 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by Configure(), FillDirManyBody(), FillDirThreeBody(), FillMagnitudes(), and GenerateTwoBody().
|
staticprivate |
Definition at line 119 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillDirManyBody(), FillDirThreeBody(), and GenerateCosTheta().
|
private |
Definition at line 116 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillDirections(), FillDirManyBody(), FillDirThreeBody(), and FillMagnitudes().
|
private |
Definition at line 117 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by GenerateTwoBody().
|
private |
Definition at line 108 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by ChooseGenerators(), FillMagnitudes(), and GenerateMultiBody().
|
private |
Definition at line 112 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by ChooseGenerators(), Configure(), FillDirections(), FillDirManyBody(), FillMagnitudes(), GenerateCosTheta(), GenerateMultiBody(), and GenerateTwoBody().
|
staticprivate |
Definition at line 120 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by GenerateCosTheta().
|
staticprivate |
Definition at line 121 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillMagnitudes().
|
private |
Definition at line 114 of file G4CascadeFinalStateAlgorithm.hh.
Referenced by FillDirManyBody(), FillDirThreeBody(), GenerateTwoBody(), SaveKinematics(), and SetVerboseLevel().