#include <LuminosityFunction.h>
Public Member Functions | |
void | select (tXCombPtr) |
Set information about the selected XComb. | |
Standard constructors and destructors. | |
LuminosityFunction (Energy a=45.6 *GeV, Energy b=45.6 *GeV) | |
Default constructor. | |
Virtual functions to be overridden by sub-classes. | |
virtual bool | canHandle (const cPDPair &) const |
Return true if this luminosity function can actually handle a given pair of incoming particles. | |
virtual Energy | maximumCMEnergy () const |
Return the maximum possible center of mass energy for an event. | |
virtual LorentzRotation | getBoost () const |
Return the rotation needed to transform from the collision cm system to the labotatory system. | |
virtual double | Y () const |
Return the rapidity of the colliding particles (at the maximum energy) in the laboratory system. | |
virtual int | nDim (const cPDPair &) const |
How many random numbers are needed to generate a phase space point? Default is zero in which means the energy of the incoming particles is fixed. | |
virtual double | value (const cPDPair &, double l1, double l2) const |
The value of the luminosity function for the given particle types for the given energy fractions l1 and l2 (). | |
virtual pair< double, double > | generateLL (const double *r, double &jacobian) const |
Generate energy fractions l1 and l2 () given 'nDim()' random numbers in the range ]0,1[ given by the iterators. | |
Simple access functions | |
Energy | beamEMaxA () const |
The maximum energy of the beam entering along the positive z-axis. | |
Energy | beamEMaxB () const |
The maximum energy of the beam entering along the negative z-axis. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Protected Member Functions | |
void | beamEMaxA (Energy x) |
The maximum energy of the beam entering along the positive z-axis. | |
void | beamEMaxB (Energy x) |
The maximum energy of the beam entering along the negative z-axis. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
Private Member Functions | |
LuminosityFunction & | operator= (const LuminosityFunction &) |
Private and non-existent assignment operator. | |
Private Attributes | |
Energy | theBeamEMaxA |
The maximum energy of the beam entering along the positive z-axis. | |
Energy | theBeamEMaxB |
The maximum energy of the beam entering along the negative z-axis. | |
Static Private Attributes | |
static ClassDescription < LuminosityFunction > | initLuminosityFunction |
Describe an abstract class with persistent data. | |
Friends | |
class | EventHandler |
EventHandler is a friend. |
This is used by a EventHandler to generate collisions in their CM system. The LuminosityFunction will be asked to produce a LorentzRotation giving the transformation to the laboratory system.
The LuminosityFunction inherits from the LastXCombInfo class to give easy access to the information of the generated primary sub-process in the selected XComb.
This base class implements simple fixed momentum beams with energies given by the BeamEMaxA and BeamEMaxB interfaces.
Definition at line 39 of file LuminosityFunction.h.
ThePEG::LuminosityFunction::LuminosityFunction | ( | Energy | a = 45.6 *GeV , |
|
Energy | b = 45.6 *GeV | |||
) |
Default constructor.
Optionally the maximum energy of beam a and b can be given.
virtual LorentzRotation ThePEG::LuminosityFunction::getBoost | ( | ) | const [virtual] |
Return the rotation needed to transform from the collision cm system to the labotatory system.
This default version returns the unit transformation.
virtual double ThePEG::LuminosityFunction::Y | ( | ) | const [virtual] |
Return the rapidity of the colliding particles (at the maximum energy) in the laboratory system.
This default version assumes the CM system is the same as the lab system and returns zero.
virtual int ThePEG::LuminosityFunction::nDim | ( | const cPDPair & | ) | const [virtual] |
How many random numbers are needed to generate a phase space point? Default is zero in which means the energy of the incoming particles is fixed.
The only other reasonable values are 1 and 2.
virtual double ThePEG::LuminosityFunction::value | ( | const cPDPair & | , | |
double | l1, | |||
double | l2 | |||
) | const [virtual] |
The value of the luminosity function for the given particle types for the given energy fractions l1 and l2 ().
The default version returns 1 if l1 and l2 are zero otherwize zero.
virtual pair<double,double> ThePEG::LuminosityFunction::generateLL | ( | const double * | r, | |
double & | jacobian | |||
) | const [virtual] |
Generate energy fractions l1 and l2 () given 'nDim()' random numbers in the range ]0,1[ given by the iterators.
The jacobian argument must be multiplied by the jacobian of the variable transformation to l1 and l2. The default version is just a delta function with a jacobian of 1.
void ThePEG::LuminosityFunction::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::Interfaced.
void ThePEG::LuminosityFunction::persistentInput | ( | PersistentIStream & | is, | |
int | version | |||
) |
Function used to read in object persistently.
is | the persistent input stream read from. | |
version | the version number of the object when written. |
Reimplemented from ThePEG::Interfaced.
virtual IBPtr ThePEG::LuminosityFunction::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in ThePEG::FixedCMSLuminosity.
virtual IBPtr ThePEG::LuminosityFunction::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::FixedCMSLuminosity.
friend class EventHandler [friend] |