10 #define ThePEG_XComb_H 13 #include "ThePEG/Config/ThePEG.h" 14 #include "ThePEG/PDF/PartonExtractor.fh" 15 #include "ThePEG/PDF/PartonBin.h" 16 #include "ThePEG/PDF/PartonBinInstance.h" 17 #include "ThePEG/Utilities/AnyReference.h" 18 #include "ThePEG/Utilities/VSelector.h" 19 #include "ThePEG/Utilities/ClassDescription.h" 20 #include "ThePEG/Utilities/Maths.h" 21 #include "ThePEG/EventRecord/Particle.h" 22 #include "ThePEG/Handlers/EventHandler.fh" 23 #include "ThePEG/Cuts/Cuts.fh" 54 const PBPair & newPartonBins, tCutsPtr newCuts);
362 return theMeta.find(
id)->second.cast<T>();
568 typedef Base NthBase;
579 static string className() {
return "ThePEG::XComb"; }
T & meta(int id) const
Retrieve meta information.
DPair theLastL1L2
Log of one over the incoming partons momentum fraction wrt.
const EventHandler & eventHandler() const
Return a reference to the corresponding collision handler.
bool empty() const
Returns true if this XComb does not correspond to a proper subprocess generation. ...
void lastPartons(PPair pp)
Set the pair of incoming parton instances.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
tCascHdlPtr theCKKW
A pointer to a CascadeHandler to be used for CKKW-reweighting.
tPExtrPtr pExtractor() const
A pointer to the parton extractor.
void lastX1X2(pair< double, double >)
Set the incoming parton momentum fractions w.r.t.
void lastS(Energy2 s)
Set the last generated total energy squared of the incoming particles.
map< int, AnyReference > theMeta
The meta information.
tEHPtr eventHandlerPtr() const
Return a pointer to the corresponding collision handler.
The EventHandler is the base class used to implement event handlers in ThePEG.
DPair theLastP1P2
Log of one over the momentum fraction of the incoming particles.
Define the base class from which all (polymorphic) classes in ThePEG are derived. ...
tSubProPtr subProcess() const
Return the SubProcess object corresponding to the last generated sub-process.
ClassTraitsType is an empty, non-polymorphic, base class.
SubProPtr theSub
The SubProcess object corresponding to the last generated sub-process.
const PPair & lastPartons() const
Return the pair of incoming parton instances.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
cPDPair thePartons
The incoming parton types.
void lastL1L2(pair< double, double >)
Set log of one over the incoming parton momentum fractions w.r.t.
double lastTau() const
lastSHat()/lastS().
bool hasMeta(int id) const
Check for meta information.
const PPair & lastParticles() const
Return the pair of incoming particle instances.
double theLastAlphaEM
The used in the hard scattering.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
tCascHdlPtr CKKWHandler() const
Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting.
double lastL2() const
Log of one over the second incoming parton momentum fraction w.r.t.
double theLastAlphaS
The used in the hard scattering.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
tCutsPtr cuts() const
A pointer to the kinematical cuts.
double lastE1() const
Return 1-lastX1() to highest possible precision for x 1.
double lastY() const
The last generated rapidity of the hard scattering sub-system.
This is the main namespace within which all identifiers in ThePEG are declared.
DVector theMEInfo
Information saved by the matrix element in the calculation of the cross section to be used later when...
Energy2 lastScale() const
Get the last chosen scale of the hard scattering.
void lastScale(Energy2 Q2)
Set the last chosen scale of the hard scattering.
void lastSHat(Energy2 sh)
Set the last generated total energy squared of the incoming prtons.
double lastX1() const
The first incoming parton momentum fraction w.r.t.
double lastAlphaEM() const
Get the used in the hard scattering.
PBPair theParticleBins
Additional information about the origins of the incoming partons.
void createPartonBinInstances()
Create PartonBinInstance objects for this XComb.
void lastAlphaEM(double a)
Set the used in the hard scattering.
vector< double > DVector
A vector of doubles.
void lastAlphaS(double a)
Set the used in the hard scattering.
virtual ~XComb()
Destructor.
PBIPair & partonBinInstances()
Additional information about the incoming partons.
The XComb class stores all information about the generation of a hard sub-proces for a given pair of ...
PBPair thePartonBins
Additional information about the incoming partons.
QTY< 0, 1, 0 >::Type Energy
Energy.
void lastP1P2(pair< double, double > pp)
Set log of one over the momentum fraction of the incoming particles w.r.t.
double theLastY
The last rapidity of the sub process, log(x1/x2)/2.
tPExtrPtr thePartonExtractor
A pointer to the parton extractor.
tCutsPtr theCuts
A pointer to the kinematical cuts used.
PPair theLastParticles
The pair of incoming particle instances.
double lastX2() const
The second incoming parton momentum fraction w.r.t.
const cPDPair & partons() const
The incoming parton types.
void lastY(double y)
Set the last generated rapidity of the hard scattering sub-system.
void setPartonBinInstances(PBIPair pbis, Energy2 scale)
Set information about currently generated partons.
AnyReference is inspired by boost::any to hold a reference to an object of arbitrary type...
cPDPair theParticles
The incoming particle types.
void setPartonBinInfo()
Set the local parton bin info objects for this XComb.
void prepare(const PPair &)
Prepare this XComb for producing a sub-process.
pair< PPtr, PPtr > PPair
A pair of pointers to Particle objects.
pair< PBIPtr, PBIPtr > PBIPair
A pair of pointers to PartonBinInstance objects.
static ClassDescription< XComb > initXComb
Describe a concrete class with persistent data.
void clean()
Reset all saved data about last generated phasespace point;.
RCPtr is a reference counted (smart) pointer.
pair< double, double > DPair
A pair of doubles.
DPair theLastE1E2
1-lastX1() and 1-lastX2() to highest possible precision for x 1.
double lastE2() const
Return 1-lastX2() to highest possible precision for x 1.
Energy2 lastSHat() const
The last generated total energy squared of the incoming prtons.
XComb()
Default constructor.
void lastE1E2(pair< double, double >)
Set one minus the incoming parton momentum fractions w.r.t.
DPair theLastX1X2
The incoming partons momentum fraction wrt.
void eraseMeta(int id)
Erase meta information.
PPair theLastPartons
The pair of incoming parton instances.
The default concrete implementation of ClassTraitsBase.
const PBIPair & partonBinInstances() const
Additional information about the incoming partons.
Energy2 theLastS
The last generated total energy squared of the incoming particles.
double lastP2() const
Log of one over the momentum fraction of the second incoming particle w.r.t.
void resetPartonBinInstances(const PBIPair &newBins)
Set information about currently generated partons.
static void Init()
Standard Init function used to initialize the interface.
double lastAlphaS() const
Get the used in the hard scattering.
Energy theMaxEnergy
The maximum cm energy for this process.
double lastP1() const
Log of one over the momentum fraction of the first incoming particle w.r.t.
pair< cPDPtr, cPDPtr > cPDPair
A pair of pointers to const ParticleData objects.
const cPDPair & particles() const
The incoming particle types.
void meta(int id, T &ref)
Set meta information.
Energy2 lastS() const
The last generated total energy squared of the incoming particles.
tEHPtr theEventHandler
The corresponding collision handler.
XComb & operator=(const XComb &)
Private and non-existent assignment operator.
BaseClassTraits describes the base classes of the templated class.
const PBPair & partonBins() const
Additional information about the incoming partons.
Energy2 theLastScale
The last chosen scale of the hard scattering.
void lastParticles(const PPair &p)
Set the pair of incoming particle instances.
Energy maxEnergy() const
The maximum cm energy for this process.
tPBIPtr partonBinInstance(tcPPtr) const
Return the corresponding parton bin instance for a given extracted parton.
PBIPair thePartonBinInstances
Additional information about the incoming partons.
double lastL1() const
Log of one over the first incoming parton momentum fraction w.r.t.
Energy2 theLastSHat
The last generated total energy squared of the incoming prtons.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...