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

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

+ Inheritance diagram for G4HadPhaseSpaceGenbod:
+ Collaboration diagram for G4HadPhaseSpaceGenbod:

Public Member Functions

 G4HadPhaseSpaceGenbod (G4int verbose=0)
 
virtual ~G4HadPhaseSpaceGenbod ()
 
- Public Member Functions inherited from G4VHadPhaseSpaceAlgorithm
 G4VHadPhaseSpaceAlgorithm (const G4String &algName, G4int verbose=0)
 
virtual ~G4VHadPhaseSpaceAlgorithm ()
 
- 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)
 
virtual void SetVerboseLevel (G4int verbose)
 
G4int GetVerboseLevel () const
 
const G4StringGetName () const
 

Protected Member Functions

virtual void GenerateMultiBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
 
void Initialize (G4double initialMass, const std::vector< G4double > &masses)
 
void FillRandomBuffer ()
 
void ComputeWeightScale (const std::vector< G4double > &masses)
 
void FillEnergySteps (G4double initialMass, const std::vector< G4double > &masses)
 
void GenerateMomenta (const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
 
void AccumulateFinalState (size_t i, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
 
G4bool AcceptEvent () const
 
G4double ComputeWeight () const
 
- Protected Member Functions inherited from G4VHadPhaseSpaceAlgorithm
virtual void GenerateTwoBody (G4double initialMass, const std::vector< G4double > &masses, std::vector< G4LorentzVector > &finalState)
 
G4ThreeVector UniformVector (G4double mag=1.) 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

size_t nFinal
 
G4double totalMass
 
G4double massExcess
 
G4double weightMax
 
G4int nTrials
 
std::vector< G4doublemsum
 
std::vector< G4doublemsq
 
std::vector< G4doublerndm
 
std::vector< G4doublemeff
 
std::vector< G4doublepd
 

Detailed Description

Definition at line 37 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 37 of file G4HadPhaseSpaceGenbod.hh

Constructor & Destructor Documentation

G4HadPhaseSpaceGenbod::G4HadPhaseSpaceGenbod ( G4int  verbose = 0)

Definition at line 51 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 51 of file G4HadPhaseSpaceGenbod.cc

virtual G4HadPhaseSpaceGenbod::~G4HadPhaseSpaceGenbod ( )
inlinevirtual

Definition at line 40 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 40 of file G4HadPhaseSpaceGenbod.hh

Member Function Documentation

G4bool G4HadPhaseSpaceGenbod::AcceptEvent ( ) const
protected

Definition at line 170 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 170 of file G4HadPhaseSpaceGenbod.cc

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

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4HadPhaseSpaceGenbod::AccumulateFinalState ( size_t  i,
const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protected

Definition at line 197 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 197 of file G4HadPhaseSpaceGenbod.cc

References e, G4cout, G4endl, G4UniformRand, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), meff, nFinal, pd, phi, theta(), twopi, and y.

Referenced by GenerateMomenta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4HadPhaseSpaceGenbod::ComputeWeight ( ) const
protected

Definition at line 163 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 163 of file G4HadPhaseSpaceGenbod.cc

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

Referenced by AcceptEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4HadPhaseSpaceGenbod::ComputeWeightScale ( const std::vector< G4double > &  masses)
protected

Definition at line 148 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 148 of file G4HadPhaseSpaceGenbod.cc

References G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), massExcess, msum, nFinal, G4VHadDecayAlgorithm::TwoBodyMomentum(), and weightMax.

Referenced by Initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4HadPhaseSpaceGenbod::FillEnergySteps ( G4double  initialMass,
const std::vector< G4double > &  masses 
)
protected

Definition at line 123 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 123 of file G4HadPhaseSpaceGenbod.cc

References G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), massExcess, meff, msum, nFinal, pd, G4VHadDecayAlgorithm::PrintVector(), rndm, and G4VHadDecayAlgorithm::TwoBodyMomentum().

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4HadPhaseSpaceGenbod::FillRandomBuffer ( )
protected

Definition at line 110 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 110 of file G4HadPhaseSpaceGenbod.cc

References G4cout, G4endl, G4INCL::PhaseSpaceGenerator::generate(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), nFinal, G4VHadDecayAlgorithm::PrintVector(), and rndm.

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4HadPhaseSpaceGenbod::GenerateMomenta ( const std::vector< G4double > &  masses,
std::vector< G4LorentzVector > &  finalState 
)
protected

Definition at line 181 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 181 of file G4HadPhaseSpaceGenbod.cc

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

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VHadDecayAlgorithm.

Definition at line 59 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 59 of file G4HadPhaseSpaceGenbod.cc

References AcceptEvent(), FatalException, FillEnergySteps(), FillRandomBuffer(), G4cout, G4endl, G4Exception(), GenerateMomenta(), G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), Initialize(), and nTrials.

+ Here is the call graph for this function:

void G4HadPhaseSpaceGenbod::Initialize ( G4double  initialMass,
const std::vector< G4double > &  masses 
)
protected

Definition at line 84 of file G4HadPhaseSpaceGenbod.cc.

View newest version in sPHENIX GitHub at line 84 of file G4HadPhaseSpaceGenbod.cc

References ComputeWeightScale(), G4cout, G4endl, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), massExcess, msq, msum, nFinal, G4VHadDecayAlgorithm::PrintVector(), totalMass, and Acts::Test::transform.

Referenced by GenerateMultiBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4HadPhaseSpaceGenbod::massExcess
private

Definition at line 71 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 71 of file G4HadPhaseSpaceGenbod.hh

Referenced by ComputeWeightScale(), FillEnergySteps(), and Initialize().

std::vector<G4double> G4HadPhaseSpaceGenbod::meff
private

Definition at line 78 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 78 of file G4HadPhaseSpaceGenbod.hh

Referenced by AccumulateFinalState(), and FillEnergySteps().

std::vector<G4double> G4HadPhaseSpaceGenbod::msq
private

Definition at line 76 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 76 of file G4HadPhaseSpaceGenbod.hh

Referenced by Initialize().

std::vector<G4double> G4HadPhaseSpaceGenbod::msum
private

Definition at line 75 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 75 of file G4HadPhaseSpaceGenbod.hh

Referenced by ComputeWeightScale(), FillEnergySteps(), and Initialize().

size_t G4HadPhaseSpaceGenbod::nFinal
private

Definition at line 69 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 69 of file G4HadPhaseSpaceGenbod.hh

Referenced by AccumulateFinalState(), ComputeWeightScale(), FillEnergySteps(), FillRandomBuffer(), GenerateMomenta(), and Initialize().

G4int G4HadPhaseSpaceGenbod::nTrials
private

Definition at line 73 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 73 of file G4HadPhaseSpaceGenbod.hh

Referenced by AcceptEvent(), and GenerateMultiBody().

std::vector<G4double> G4HadPhaseSpaceGenbod::pd
private

Definition at line 79 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 79 of file G4HadPhaseSpaceGenbod.hh

Referenced by AccumulateFinalState(), ComputeWeight(), and FillEnergySteps().

std::vector<G4double> G4HadPhaseSpaceGenbod::rndm
private

Definition at line 77 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 77 of file G4HadPhaseSpaceGenbod.hh

Referenced by FillEnergySteps(), and FillRandomBuffer().

G4double G4HadPhaseSpaceGenbod::totalMass
private

Definition at line 70 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 70 of file G4HadPhaseSpaceGenbod.hh

Referenced by Initialize().

G4double G4HadPhaseSpaceGenbod::weightMax
private

Definition at line 72 of file G4HadPhaseSpaceGenbod.hh.

View newest version in sPHENIX GitHub at line 72 of file G4HadPhaseSpaceGenbod.hh

Referenced by ComputeWeight(), and ComputeWeightScale().


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