Geant4-11
Functions
G4INCL::PhaseSpaceGenerator Namespace Reference

Functions

void deletePhaseSpaceGenerator ()
 
void generate (const G4double sqrtS, ParticleList &particles)
 Generate an event in the CM system. More...
 
void generateBiased (const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
 Generate a biased event in the CM system. More...
 
IPhaseSpaceGeneratorgetPhaseSpaceGenerator ()
 
void initialize (Config const *const theConfig)
 
void setPhaseSpaceGenerator (IPhaseSpaceGenerator *g)
 

Function Documentation

◆ deletePhaseSpaceGenerator()

void G4INCL::PhaseSpaceGenerator::deletePhaseSpaceGenerator ( )

◆ generate()

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

◆ generateBiased()

void G4INCL::PhaseSpaceGenerator::generateBiased ( const G4double  sqrtS,
ParticleList particles,
const size_t  index,
const G4double  slope 
)

Generate a biased event in the CM system.

This method first generates a "flat" event by calling generate(). The particles are subsequently rotated in such a way that one of them (identified by the parameter index) is biased towards the collisionAxis with an exponential distribution of the form

\[ \exp(B\cdot t) \]

where $t$ is the usual Mandelstam variable. The incoming momentum is taken to be the momentum of particles[index] at the moment of the call.

Parameters
sqrtStotal energy in the centre of mass, in MeV
particleslist of particles for which the event will be generated (modified on exit)
indexindex of the particle to be biased; all the other particles will follow
slopeslope $B$ of the angular distribution: $\exp(Bt)$, in (GeV/c)^(-2)

Definition at line 98 of file G4INCLPhaseSpaceGenerator.cc.

98 {
99// assert(index<particles.size());
100 // store the incoming momentum of particle[index]; it will be used to
101 // compute t when biasing
102 biasMe = particles[index];
103 const ThreeVector pInVec = biasMe->getMomentum();
104 generate(sqrtS, particles);
105 // Extremely rare event try to bias with vector null
106 if(pInVec.mag() != 0.) bias(particles, pInVec, slope);
107 }
const G4INCL::ThreeVector & getMomentum() const
G4double mag() const
void generate(const G4double sqrtS, ParticleList &particles)
Generate an event in the CM system.
void bias(ParticleList &particles, const ThreeVector &pInVec, const G4double slope)
Actually perform the biasing.

References G4INCL::anonymous_namespace{G4INCLPhaseSpaceGenerator.cc}::bias(), G4INCL::anonymous_namespace{G4INCLPhaseSpaceGenerator.cc}::biasMe, generate(), G4INCL::Particle::getMomentum(), and G4INCL::ThreeVector::mag().

Referenced by G4INCL::EtaNToPiPiNChannel::fillFinalState(), G4INCL::NDeltaEtaProductionChannel::fillFinalState(), G4INCL::NDeltaOmegaProductionChannel::fillFinalState(), G4INCL::NDeltaToDeltaLKChannel::fillFinalState(), G4INCL::NDeltaToDeltaSKChannel::fillFinalState(), G4INCL::NDeltaToNLKChannel::fillFinalState(), G4INCL::NDeltaToNNKKbChannel::fillFinalState(), G4INCL::NDeltaToNSKChannel::fillFinalState(), G4INCL::NKbToL2piChannel::fillFinalState(), G4INCL::NKbToNKb2piChannel::fillFinalState(), G4INCL::NKbToNKbpiChannel::fillFinalState(), G4INCL::NKbToS2piChannel::fillFinalState(), G4INCL::NKToNK2piChannel::fillFinalState(), G4INCL::NKToNKpiChannel::fillFinalState(), G4INCL::NNEtaToMultiPionsChannel::fillFinalState(), G4INCL::NNOmegaToMultiPionsChannel::fillFinalState(), G4INCL::NNToMissingStrangenessChannel::fillFinalState(), G4INCL::NNToMultiPionsChannel::fillFinalState(), G4INCL::NNToNLK2piChannel::fillFinalState(), G4INCL::NNToNLKChannel::fillFinalState(), G4INCL::NNToNLKpiChannel::fillFinalState(), G4INCL::NNToNNEtaChannel::fillFinalState(), G4INCL::NNToNNKKbChannel::fillFinalState(), G4INCL::NNToNNOmegaChannel::fillFinalState(), G4INCL::NNToNSK2piChannel::fillFinalState(), G4INCL::NNToNSKChannel::fillFinalState(), G4INCL::NNToNSKpiChannel::fillFinalState(), G4INCL::NpiToLK2piChannel::fillFinalState(), G4INCL::NpiToLKpiChannel::fillFinalState(), G4INCL::NpiToMissingStrangenessChannel::fillFinalState(), G4INCL::NpiToNKKbChannel::fillFinalState(), G4INCL::NpiToSK2piChannel::fillFinalState(), G4INCL::NpiToSKpiChannel::fillFinalState(), G4INCL::OmegaNToPiPiNChannel::fillFinalState(), and G4INCL::PiNToMultiPionsChannel::fillFinalState().

◆ getPhaseSpaceGenerator()

IPhaseSpaceGenerator * G4INCL::PhaseSpaceGenerator::getPhaseSpaceGenerator ( )

◆ initialize()

void G4INCL::PhaseSpaceGenerator::initialize ( Config const *const  theConfig)

Definition at line 122 of file G4INCLPhaseSpaceGenerator.cc.

122 {
123 PhaseSpaceGeneratorType psg = theConfig->getPhaseSpaceGeneratorType();
124 if(psg==RauboldLynchType)
126 else if(psg==KopylovType)
128 else
130 }
Generate momenta using the Kopylov method.
Generate momenta using the RauboldLynch method.
void setPhaseSpaceGenerator(IPhaseSpaceGenerator *g)

References G4INCL::Config::getPhaseSpaceGeneratorType(), G4INCL::KopylovType, G4INCL::RauboldLynchType, and setPhaseSpaceGenerator().

Referenced by G4INCL::INCL::INCL().

◆ setPhaseSpaceGenerator()

void G4INCL::PhaseSpaceGenerator::setPhaseSpaceGenerator ( IPhaseSpaceGenerator g)

Definition at line 109 of file G4INCLPhaseSpaceGenerator.cc.

109 {
111 }
static constexpr double g
Definition: G4SIunits.hh:168

References g, and G4INCL::anonymous_namespace{G4INCLPhaseSpaceGenerator.cc}::thePhaseSpaceGenerator.

Referenced by initialize().