ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4CascadeFinalStateAlgorithm Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/cascade/cascade/include/G4CascadeFinalStateAlgorithm.hh>

+ Inheritance diagram for G4CascadeFinalStateAlgorithm:
+ Collaboration diagram for G4CascadeFinalStateAlgorithm:

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 G4StringGetName () 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 G4VMultiBodyMomDstmomDist
 
const G4VTwoBodyAngDstangDist
 
std::vector< G4intkinds
 
G4int multiplicity
 
G4double bullet_ekin
 
G4LorentzConvertor toSCM
 
std::vector< G4doublemodules
 
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
 

Detailed Description

Definition at line 48 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 48 of file G4CascadeFinalStateAlgorithm.hh

Constructor & Destructor Documentation

G4CascadeFinalStateAlgorithm::G4CascadeFinalStateAlgorithm ( )

Definition at line 75 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 75 of file G4CascadeFinalStateAlgorithm.cc

G4CascadeFinalStateAlgorithm::~G4CascadeFinalStateAlgorithm ( )
virtual

Definition at line 79 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 79 of file G4CascadeFinalStateAlgorithm.cc

Member Function Documentation

G4double G4CascadeFinalStateAlgorithm::BetaKopylov ( G4int  K) const
protected

Definition at line 507 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 507 of file G4CascadeFinalStateAlgorithm.cc

References F, G4UniformRand, G4Pow::GetInstance(), N, and G4Pow::powN().

Referenced by FillUsingKopylov().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::ChooseGenerators ( G4int  is,
G4int  fs 
)
protected

Definition at line 136 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 136 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::Configure ( G4InuclElementaryParticle bullet,
G4InuclElementaryParticle target,
const std::vector< G4int > &  particle_kinds 
)

Definition at line 92 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 92 of file G4CascadeFinalStateAlgorithm.cc

References ChooseGenerators(), Acts::UnitConstants::fs, G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, multiplicity, SaveKinematics(), and G4InuclElementaryParticle::type().

Referenced by G4CascadeFinalStateGenerator::Configure().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::FillDirections ( G4double  initialMass,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protected

Definition at line 313 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 313 of file G4CascadeFinalStateAlgorithm.cc

References FillDirManyBody(), FillDirThreeBody(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), modules, and multiplicity.

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::FillDirManyBody ( G4double  initialMass,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protected

Definition at line 362 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 362 of file G4CascadeFinalStateAlgorithm.cc

References G4cout, G4endl, GenerateCosTheta(), G4InuclSpecialFunctions::generateWithFixedTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, maxCosTheta, modules, multiplicity, CLHEP::HepLorentzVector::rho(), G4LorentzConvertor::rotate(), and toSCM.

Referenced by FillDirections().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::FillDirThreeBody ( G4double  initialMass,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protected

Definition at line 329 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 329 of file G4CascadeFinalStateAlgorithm.cc

References G4cout, G4endl, GenerateCosTheta(), G4InuclSpecialFunctions::generateWithFixedTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), kinds, maxCosTheta, modules, G4LorentzConvertor::rotate(), and toSCM.

Referenced by FillDirections().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::FillMagnitudes ( G4double  initialMass,
const std::vector< G4double > &  masses 
)
protected

Definition at line 228 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 228 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::FillUsingKopylov ( G4double  initialMass,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protected

Definition at line 464 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 464 of file G4CascadeFinalStateAlgorithm.cc

References BetaKopylov(), CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), k, N, CLHEP::Hep3Vector::setRThetaPhi(), CLHEP::HepLorentzVector::setVectM(), T, G4VHadDecayAlgorithm::TwoBodyMomentum(), G4VHadDecayAlgorithm::UniformPhi(), and G4VHadDecayAlgorithm::UniformTheta().

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4CascadeFinalStateAlgorithm::GenerateCosTheta ( G4int  ptype,
G4double  pmod 
) const
protected

Definition at line 413 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 413 of file G4CascadeFinalStateAlgorithm.cc

References angDist, bullet_ekin, G4cout, G4endl, G4Exp(), G4VTwoBodyAngDst::GetCosTheta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), G4InuclSpecialFunctions::inuclRndm(), itry_max, maxCosTheta, multiplicity, oneOverE, and s1.

Referenced by FillDirManyBody(), and FillDirThreeBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::GenerateMultiBody ( G4double  initialMass,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protectedvirtual

Implements G4VHadDecayAlgorithm.

Definition at line 205 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 205 of file G4CascadeFinalStateAlgorithm.cc

References FillDirections(), FillMagnitudes(), FillUsingKopylov(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), itry_max, momDist, multiplicity, and G4CascadeParameters::usePhaseSpace().

+ Here is the call graph for this function:

void G4CascadeFinalStateAlgorithm::GenerateTwoBody ( G4double  initialMass,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protectedvirtual
G4bool G4CascadeFinalStateAlgorithm::satisfyTriangle ( const std::vector< G4double > &  pmod) const
protected

Definition at line 296 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 296 of file G4CascadeFinalStateAlgorithm.cc

References G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), and G4VHadDecayAlgorithm::GetVerboseLevel().

Referenced by FillMagnitudes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::SaveKinematics ( G4InuclElementaryParticle bullet,
G4InuclElementaryParticle target 
)
protected

Definition at line 115 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 115 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeFinalStateAlgorithm::SetVerboseLevel ( G4int  verbose)
virtual

Reimplemented from G4VHadDecayAlgorithm.

Definition at line 81 of file G4CascadeFinalStateAlgorithm.cc.

View newest version in sPHENIX GitHub at line 81 of file G4CascadeFinalStateAlgorithm.cc

References G4LorentzConvertor::setVerbose(), G4VHadDecayAlgorithm::SetVerboseLevel(), G4MultiBodyMomentumDist::setVerboseLevel(), G4TwoBodyAngularDist::setVerboseLevel(), and toSCM.

+ Here is the call graph for this function:

Member Data Documentation

const G4VTwoBodyAngDst* G4CascadeFinalStateAlgorithm::angDist
private

Definition at line 108 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 108 of file G4CascadeFinalStateAlgorithm.hh

Referenced by ChooseGenerators(), GenerateCosTheta(), and GenerateTwoBody().

G4double G4CascadeFinalStateAlgorithm::bullet_ekin
private

Definition at line 112 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 112 of file G4CascadeFinalStateAlgorithm.hh

Referenced by FillMagnitudes(), GenerateCosTheta(), GenerateTwoBody(), and SaveKinematics().

const G4int G4CascadeFinalStateAlgorithm::itry_max = 10
staticprivate

Definition at line 121 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 121 of file G4CascadeFinalStateAlgorithm.hh

Referenced by FillMagnitudes(), GenerateCosTheta(), and GenerateMultiBody().

std::vector<G4int> G4CascadeFinalStateAlgorithm::kinds
private

Definition at line 110 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 110 of file G4CascadeFinalStateAlgorithm.hh

Referenced by Configure(), FillDirManyBody(), FillDirThreeBody(), FillMagnitudes(), and GenerateTwoBody().

const G4double G4CascadeFinalStateAlgorithm::maxCosTheta = 0.9999
staticprivate

Definition at line 118 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 118 of file G4CascadeFinalStateAlgorithm.hh

Referenced by FillDirManyBody(), FillDirThreeBody(), and GenerateCosTheta().

std::vector<G4double> G4CascadeFinalStateAlgorithm::modules
private

Definition at line 115 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 115 of file G4CascadeFinalStateAlgorithm.hh

Referenced by FillDirections(), FillDirManyBody(), FillDirThreeBody(), and FillMagnitudes().

G4ThreeVector G4CascadeFinalStateAlgorithm::mom
private

Definition at line 116 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 116 of file G4CascadeFinalStateAlgorithm.hh

Referenced by GenerateTwoBody().

const G4VMultiBodyMomDst* G4CascadeFinalStateAlgorithm::momDist
private

Definition at line 107 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 107 of file G4CascadeFinalStateAlgorithm.hh

Referenced by ChooseGenerators(), FillMagnitudes(), and GenerateMultiBody().

G4int G4CascadeFinalStateAlgorithm::multiplicity
private
const G4double G4CascadeFinalStateAlgorithm::oneOverE = 0.3678794
staticprivate

Definition at line 119 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 119 of file G4CascadeFinalStateAlgorithm.hh

Referenced by GenerateCosTheta().

const G4double G4CascadeFinalStateAlgorithm::small = 1.e-10
staticprivate

Definition at line 120 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 120 of file G4CascadeFinalStateAlgorithm.hh

Referenced by FillMagnitudes().

G4LorentzConvertor G4CascadeFinalStateAlgorithm::toSCM
private

Definition at line 113 of file G4CascadeFinalStateAlgorithm.hh.

View newest version in sPHENIX GitHub at line 113 of file G4CascadeFinalStateAlgorithm.hh

Referenced by FillDirManyBody(), FillDirThreeBody(), GenerateTwoBody(), SaveKinematics(), and SetVerboseLevel().


The documentation for this class was generated from the following files: