Geant4  10.01.p02
G4HadPhaseSpaceGenbod Class Reference

#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 38 of file G4HadPhaseSpaceGenbod.hh.

Constructor & Destructor Documentation

G4HadPhaseSpaceGenbod::G4HadPhaseSpaceGenbod ( G4int  verbose = 0)

Definition at line 52 of file G4HadPhaseSpaceGenbod.cc.

virtual G4HadPhaseSpaceGenbod::~G4HadPhaseSpaceGenbod ( )
inlinevirtual

Definition at line 41 of file G4HadPhaseSpaceGenbod.hh.

Member Function Documentation

G4bool G4HadPhaseSpaceGenbod::AcceptEvent ( ) const
protected

Definition at line 166 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 193 of file G4HadPhaseSpaceGenbod.cc.

References G4cout, G4endl, G4UniformRand, G4VHadDecayAlgorithm::GetName(), G4VHadDecayAlgorithm::GetVerboseLevel(), meff, nFinal, and pd.

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 159 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 144 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 119 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 106 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 177 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 60 of file G4HadPhaseSpaceGenbod.cc.

References AcceptEvent(), FillEnergySteps(), FillRandomBuffer(), G4cout, G4endl, 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 80 of file G4HadPhaseSpaceGenbod.cc.

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

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 72 of file G4HadPhaseSpaceGenbod.hh.

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

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

Definition at line 79 of file G4HadPhaseSpaceGenbod.hh.

Referenced by AccumulateFinalState(), and FillEnergySteps().

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

Definition at line 77 of file G4HadPhaseSpaceGenbod.hh.

Referenced by Initialize().

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

Definition at line 76 of file G4HadPhaseSpaceGenbod.hh.

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

size_t G4HadPhaseSpaceGenbod::nFinal
private
G4int G4HadPhaseSpaceGenbod::nTrials
private

Definition at line 74 of file G4HadPhaseSpaceGenbod.hh.

Referenced by AcceptEvent(), and GenerateMultiBody().

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

Definition at line 80 of file G4HadPhaseSpaceGenbod.hh.

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

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

Definition at line 78 of file G4HadPhaseSpaceGenbod.hh.

Referenced by FillEnergySteps(), and FillRandomBuffer().

G4double G4HadPhaseSpaceGenbod::totalMass
private

Definition at line 71 of file G4HadPhaseSpaceGenbod.hh.

Referenced by Initialize().

G4double G4HadPhaseSpaceGenbod::weightMax
private

Definition at line 73 of file G4HadPhaseSpaceGenbod.hh.

Referenced by ComputeWeight(), and ComputeWeightScale().


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