Geant4  10.02
G4INCL::PhaseSpaceKopylov Class Reference

Generate momenta using the Kopylov method. More...

#include <G4INCLPhaseSpaceKopylov.hh>

+ Inheritance diagram for G4INCL::PhaseSpaceKopylov:
+ Collaboration diagram for G4INCL::PhaseSpaceKopylov:

Public Member Functions

void generate (const G4double sqrtS, ParticleList &particles)
 Generate momenta according to a uniform, non-Lorentz-invariant phase-space model. More...
 
- Public Member Functions inherited from G4INCL::IPhaseSpaceGenerator
 IPhaseSpaceGenerator ()
 
virtual ~IPhaseSpaceGenerator ()
 

Private Member Functions

G4double betaKopylov (G4int K) const
 Internal function used by the Kopylov algorithm. More...
 

Private Attributes

std::vector< G4doublemasses
 
std::vector< G4doublesumMasses
 
ThreeVector PFragCM
 
ThreeVector PRestCM
 
ThreeVector boostV
 

Detailed Description

Generate momenta using the Kopylov method.

Definition at line 48 of file G4INCLPhaseSpaceKopylov.hh.

Member Function Documentation

G4double G4INCL::PhaseSpaceKopylov::betaKopylov ( G4int  K) const
private

Internal function used by the Kopylov algorithm.

Definition at line 47 of file G4INCLPhaseSpaceKopylov.cc.

References G4INCL::Random::shoot().

Referenced by generate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::PhaseSpaceKopylov::generate ( const G4double  sqrtS,
ParticleList particles 
)
virtual

Generate momenta according to a uniform, non-Lorentz-invariant phase-space model.

This function will assign momenta to the particles in the list that is passed as an argument. The event is generated in the CM frame.

Parameters
sqrtStotal centre-of-mass energy of the system
particleslist of particles

Implements G4INCL::IPhaseSpaceGenerator.

Definition at line 63 of file G4INCLPhaseSpaceKopylov.cc.

References G4INCL::Particle::adjustEnergyFromMomentum(), betaKopylov(), G4INCL::Particle::boost(), boostV, G4INCL::Particle::boostVector(), G4INCL::Particle::getMass(), masses, G4INCL::KinematicsUtils::momentumInCM(), G4INCL::Random::normVector(), PFragCM, G4INCL::Particle::setMass(), G4INCL::Particle::setMomentum(), G4INCL::ThreeVector::setX(), G4INCL::ThreeVector::setY(), G4INCL::ThreeVector::setZ(), and sumMasses.

+ Here is the call graph for this function:

Member Data Documentation

ThreeVector G4INCL::PhaseSpaceKopylov::boostV
private

Definition at line 68 of file G4INCLPhaseSpaceKopylov.hh.

Referenced by generate().

std::vector<G4double> G4INCL::PhaseSpaceKopylov::masses
private

Definition at line 65 of file G4INCLPhaseSpaceKopylov.hh.

Referenced by generate().

ThreeVector G4INCL::PhaseSpaceKopylov::PFragCM
private

Definition at line 67 of file G4INCLPhaseSpaceKopylov.hh.

Referenced by generate().

ThreeVector G4INCL::PhaseSpaceKopylov::PRestCM
private

Definition at line 67 of file G4INCLPhaseSpaceKopylov.hh.

std::vector<G4double> G4INCL::PhaseSpaceKopylov::sumMasses
private

Definition at line 66 of file G4INCLPhaseSpaceKopylov.hh.

Referenced by generate().


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