Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4INCL::PhaseSpaceGenerator Namespace Reference

Functions

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...
 
void setPhaseSpaceGenerator (IPhaseSpaceGenerator *g)
 
IPhaseSpaceGeneratorgetPhaseSpaceGenerator ()
 
void deletePhaseSpaceGenerator ()
 
void initialize (Config const *const theConfig)
 

Function Documentation

void G4INCL::PhaseSpaceGenerator::deletePhaseSpaceGenerator ( )

Definition at line 115 of file G4INCLPhaseSpaceGenerator.cc.

115  {
116  delete thePhaseSpaceGenerator;
117  thePhaseSpaceGenerator = NULL;
118  }

Here is the caller graph for this function:

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

Generate an event in the CM system.

Definition at line 93 of file G4INCLPhaseSpaceGenerator.cc.

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

Here is the caller graph for this function:

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 97 of file G4INCLPhaseSpaceGenerator.cc.

97  {
98 // assert(index<particles.size());
99  // store the incoming momentum of particle[index]; it will be used to
100  // compute t when biasing
101  biasMe = particles[index];
102  const ThreeVector pInVec = biasMe->getMomentum();
103  generate(sqrtS, particles);
104  bias(particles, pInVec, slope);
105  }
void generate(const G4double sqrtS, ParticleList &particles)
Generate an event in the CM system.

Here is the call graph for this function:

Here is the caller graph for this function:

IPhaseSpaceGenerator * G4INCL::PhaseSpaceGenerator::getPhaseSpaceGenerator ( )

Definition at line 111 of file G4INCLPhaseSpaceGenerator.cc.

111  {
112  return thePhaseSpaceGenerator;
113  }
void G4INCL::PhaseSpaceGenerator::initialize ( Config const *const  theConfig)

Definition at line 120 of file G4INCLPhaseSpaceGenerator.cc.

120  {
121  PhaseSpaceGeneratorType psg = theConfig->getPhaseSpaceGeneratorType();
122  if(psg==RauboldLynchType)
123  setPhaseSpaceGenerator(new PhaseSpaceRauboldLynch);
124  else if(psg==KopylovType)
125  setPhaseSpaceGenerator(new PhaseSpaceKopylov);
126  else
128  }
void setPhaseSpaceGenerator(IPhaseSpaceGenerator *g)

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 107 of file G4INCLPhaseSpaceGenerator.cc.

107  {
108  thePhaseSpaceGenerator = g;
109  }
static constexpr double g
Definition: G4SIunits.hh:183

Here is the caller graph for this function: