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"; }
DPair theLastL1L2
Log of one over the incoming partons momentum fraction wrt.
void lastPartons(PPair pp)
Set the pair of incoming parton instances.
const cPDPair & particles() const
The incoming particle types.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
tCutsPtr cuts() const
A pointer to the kinematical cuts.
tCascHdlPtr theCKKW
A pointer to a CascadeHandler to be used for CKKW-reweighting.
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.
const PBPair & partonBins() const
Additional information about the incoming partons.
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. ...
ClassTraitsType is an empty, non-polymorphic, base class.
SubProPtr theSub
The SubProcess object corresponding to the last generated sub-process.
tPExtrPtr pExtractor() const
A pointer to the parton extractor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double lastAlphaS() const
Get the used in the hard scattering.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
T & meta(int id) const
Retrieve meta information.
cPDPair thePartons
The incoming parton types.
void lastL1L2(pair< double, double >)
Set log of one over the incoming parton momentum fractions w.r.t.
Energy2 lastS() const
The last generated total energy squared of the incoming particles.
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...
double lastE2() const
Return 1-lastX2() to highest possible precision for x 1.
Energy2 lastScale() const
Get the last chosen scale of the hard scattering.
const PPair & lastPartons() const
Return the pair of incoming parton instances.
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...
double theLastAlphaS
The used in the hard scattering.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
const PBIPair & partonBinInstances() const
Additional information about the incoming partons.
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...
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.
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.
double lastL2() const
Log of one over the second incoming parton momentum fraction w.r.t.
virtual ~XComb()
Destructor.
PBIPair & partonBinInstances()
Additional information about the incoming partons.
bool hasMeta(int id) const
Check for meta information.
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.
tPBIPtr partonBinInstance(tcPPtr) const
Return the corresponding parton bin instance for a given extracted parton.
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.
double lastL1() const
Log of one over the first incoming parton momentum fraction w.r.t.
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.
double lastX2() const
The second incoming parton momentum fraction w.r.t.
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.
tCascHdlPtr CKKWHandler() const
Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting.
static ClassDescription< XComb > initXComb
Describe a concrete class with persistent data.
void clean()
Reset all saved data about last generated phasespace point;.
double lastP2() const
Log of one over the momentum fraction of the second incoming particle w.r.t.
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.
tEHPtr eventHandlerPtr() const
Return a pointer to the corresponding collision handler.
double lastAlphaEM() const
Get the used in the hard scattering.
bool empty() const
Returns true if this XComb does not correspond to a proper subprocess generation. ...
const EventHandler & eventHandler() const
Return a reference to the corresponding collision handler.
tSubProPtr subProcess() const
Return the SubProcess object corresponding to the last generated sub-process.
double lastTau() const
lastSHat()/lastS().
XComb()
Default constructor.
const PPair & lastParticles() const
Return the pair of incoming particle instances.
void lastE1E2(pair< double, double >)
Set one minus the incoming parton momentum fractions w.r.t.
double lastX1() const
The first incoming parton momentum fraction w.r.t.
Energy maxEnergy() const
The maximum cm energy for this process.
DPair theLastX1X2
The incoming partons momentum fraction wrt.
void eraseMeta(int id)
Erase meta information.
PPair theLastPartons
The pair of incoming parton instances.
double lastY() const
The last generated rapidity of the hard scattering sub-system.
Energy2 lastSHat() const
The last generated total energy squared of the incoming prtons.
The default concrete implementation of ClassTraitsBase.
Energy2 theLastS
The last generated total energy squared of the incoming particles.
void resetPartonBinInstances(const PBIPair &newBins)
Set information about currently generated partons.
const cPDPair & partons() const
The incoming parton types.
static void Init()
Standard Init function used to initialize the interface.
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.
void meta(int id, T &ref)
Set meta information.
double lastE1() const
Return 1-lastX1() to highest possible precision for x 1.
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.
Energy2 theLastScale
The last chosen scale of the hard scattering.
void lastParticles(const PPair &p)
Set the pair of incoming particle instances.
PBIPair thePartonBinInstances
Additional information about the incoming partons.
Energy2 theLastSHat
The last generated total energy squared of the incoming prtons.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...