Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCL::PhaseSpaceGenerator Namespace Reference

Functions

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

Function Documentation

◆ deletePhaseSpaceGenerator()

void G4INCL::PhaseSpaceGenerator::deletePhaseSpaceGenerator ( )

Definition at line 117 of file G4INCLPhaseSpaceGenerator.cc.

117 {
118 delete thePhaseSpaceGenerator;
119 thePhaseSpaceGenerator = NULL;
120 }

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

◆ generate()

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

Generate an event in the CM system.

Definition at line 94 of file G4INCLPhaseSpaceGenerator.cc.

94 {
95 return thePhaseSpaceGenerator->generate(sqrtS, particles);
96 }

Referenced by G4INCL::PionResonanceDecayChannel::fillFinalState(), and generateBiased().

◆ 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 }
G4double mag() const
void generate(const G4double sqrtS, ParticleList &particles)
Generate an event in the CM system.

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 ( )

Definition at line 113 of file G4INCLPhaseSpaceGenerator.cc.

113 {
114 return thePhaseSpaceGenerator;
115 }

◆ 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)

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

◆ setPhaseSpaceGenerator()

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

Definition at line 109 of file G4INCLPhaseSpaceGenerator.cc.

109 {
110 thePhaseSpaceGenerator = g;
111 }

Referenced by initialize().