ThePEG::StandardXComb Class Reference

The StandardXComb class inherits from the more general XComb class which stores all information about the generation of a hard sub-proces for a given pair of incoming particles, a pair of extracted partons, etc. More...

#include <StandardXComb.h>

Inheritance diagram for ThePEG::StandardXComb:

ThePEG::XComb ThePEG::Base ThePEG::Pointer::ReferenceCounted

List of all members.

Public Types

typedef MEBase::DiagramVector DiagramVector
 A vector of DiagramBase objects.
typedef MEBase::DiagramIndex DiagramIndex
 A vector of indices.

Public Member Functions

Standard constructors and destructors.
 StandardXComb (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, tMEPtr newME, const DiagramVector &newDiagrams, bool mir)
 Standard constructor.
 StandardXComb ()
 Default constructor.
 ~StandardXComb ()
 Destructor.
 StandardXComb (tMEPtr me, const tPVector &parts, DiagramIndex i)
 Constructor used by MEBase to create a temporary object to store info.
Access the assigned objects used in the generation.
tcSubHdlPtr subProcessHandler () const
 Return a pointer to the corresponding sub-process handler.
tMEPtr matrixElement () const
 The matrix element to be used.
Main functions used for the generation.
virtual bool checkInit ()
 Try to determine if this subprocess is at all possible.
int nDim () const
 The number of dimensions of the phase space used to generate this process.
CrossSection dSigDR (const pair< double, double > ll, int nr, const double *r)
 Generate a phase space point from a vector r of nr numbers in the interval ]0,1[ and return the corresponding differential cross section.
tSubProPtr construct ()
 Construct a sub-process object from the information available.
Functions used for collecting statistics.
const XSecStatstats () const
 The statistics object for this XComb.
void select (double weight)
 Select the current event.
void accept ()
 Accept the current event assuming it was previously selcted.
void reject (double weight=1.0)
 Reject the current event assuming it was previously accepted.
void reset ()
 Reset statistics.
Access information used by the MEBase object.
const DiagramVectordiagrams () const
 The diagrams used by the matrix element.
bool mirror () const
 True if the TreeDiagram's for this matrix element should in fact be mirrored before used to create an actual sub-rocess.
const vector< Lorentz5Momentum > & meMomenta () const
 Return the momenta of the partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
tcDiagPtr lastDiagram () const
 Return the last selected diagram.
const cPDVectormePartonData () const
 Return the parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
DiagramIndex lastDiagramIndex () const
 Return the index of the last selected diagram.
const DVectormeInfo () const
 Get information saved by the matrix element in the calculation of the cross section to be used later when selecting diagrams and colour flow.
void meInfo (const DVector &info)
 Set information saved by the matrix element in the calculation of the cross section to be used later when selecting diagrams and colour flow.
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 newSubProcess ()
 Construct the corresponding SubProcess object if it hasn't been done before.
vector< Lorentz5Momentum > & meMomenta ()
 Return the momenta of the partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
cPDVectormePartonData ()
 Return the parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
void lastDiagramIndex (DiagramIndex i)
 Set the last selected diagram.

Private Member Functions

StandardXComboperator= (const StandardXComb &)
 Private and non-existent assignment operator.

Private Attributes

tSubHdlPtr theSubProcessHandler
 The corresponding sub-process handler.
tMEPtr theME
 The matrix element to be used.
XSecStat theStats
 Statistics gathering for this XComb.
DiagramVector theDiagrams
 The diagrams used by the matrix element.
bool isMirror
 True if the TreeDiagram's for this matrix element should in fact be mirrored before used to create an actual sub-rocess.
int theNDim
 The number of dimensions of the phase space used to generate this process.
pair< int, int > partonDims
 The number of dimensions of the phase space used for each of the incoming partons.
vector< Lorentz5MomentumtheMEMomenta
 The momenta of the partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
cPDVector theMEPartonData
 The parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
DiagramIndex theLastDiagramIndex
 The last selected tree diagram.
DVector theMEInfo
 Information saved by the matrix element in the calculation of the cross section to be used later when selecting diagrams and colour flow.

Static Private Attributes

static ClassDescription
< StandardXComb
initStandardXComb
 Describe a concrete class with persistent data.

Friends

class MEBase
 MEBase needs to be a friend.


Detailed Description

The StandardXComb class inherits from the more general XComb class which stores all information about the generation of a hard sub-proces for a given pair of incoming particles, a pair of extracted partons, etc.

This class stores more information related to thestandard process generation scheme in ThePEG, such as the PartonExtractor and MEBase object used. It also does some of the administration of the process generation.

The main function is dSigDR() which returns the differential cross section w.r.t. a given vector of random numbers in the interval ]0,1[. In the initialization this is used to pre-sample the phase space. In the generation phase it is used to give the cross section for a phase space point, and if this StandardXComb is chosen the construct() function is called to generate the actual sub-process.

See also:
ParonExtractor

MEBase

Cuts

Definition at line 51 of file StandardXComb.h.


Member Typedef Documentation

A vector of DiagramBase objects.

Definition at line 56 of file StandardXComb.h.

A vector of indices.

Definition at line 59 of file StandardXComb.h.


Member Function Documentation

tcSubHdlPtr ThePEG::StandardXComb::subProcessHandler (  )  const [inline]

Return a pointer to the corresponding sub-process handler.

May be null if the standard process generation in ThePEG was not used.

Definition at line 100 of file StandardXComb.h.

References theSubProcessHandler.

void ThePEG::StandardXComb::select ( double  weight  )  [inline]

Select the current event.

It will later be rejected with a probability given by weight.

Definition at line 145 of file StandardXComb.h.

References ThePEG::XSecStat::select(), and theStats.

void ThePEG::StandardXComb::reject ( double  weight = 1.0  )  [inline]

Reject the current event assuming it was previously accepted.

If weighted events are produced, the weight should be the same as the previous call to select(double).

Definition at line 157 of file StandardXComb.h.

References ThePEG::XSecStat::reject(), and theStats.

void ThePEG::StandardXComb::persistentOutput ( PersistentOStream os  )  const

Function used to write out object persistently.

Parameters:
os the persistent output stream written to.

Reimplemented from ThePEG::XComb.

void ThePEG::StandardXComb::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters:
is the persistent input stream read from.
version the version number of the object when written.

Reimplemented from ThePEG::XComb.


Friends And Related Function Documentation

friend class MEBase [friend]

MEBase needs to be a friend.

Definition at line 62 of file StandardXComb.h.


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

Generated on Thu Apr 29 12:43:05 2010 for ThePEG by  doxygen 1.5.5