thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
LastXCombInfo.h
1 // -*- C++ -*-
2 //
3 // LastXCombInfo.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_LastXCombInfo_H
10 #define ThePEG_LastXCombInfo_H
11 // This is the declaration of the LastXCombInfo class.
12 
13 #include "ThePEG/Config/ThePEG.h"
14 #include "ThePEG/Cuts/Cuts.fh"
15 #include "XComb.h"
16 
17 namespace ThePEG {
18 
31 template <typename XC = XComb>
33 
34 public:
35 
37 
38 public:
39 
45  const XC & lastXComb() const { return *theLastXComb; }
46 
50  tXCPtr lastXCombPtr() const { return theLastXComb; }
51 
57  const XC& lastHeadXComb() const { return *lastXComb().head(); }
58 
64  tXCPtr lastHeadXCombPtr() const { return lastXComb().head(); }
66 
72  const EventHandler & lastEventHandler() const { return lastXComb().eventHandler(); }
73 
77  tPExtrPtr lastExtractor() const { return lastXComb().pExtractor(); }
78 
84  template <typename PDFT>
85  PDFT pdf(tcPPtr parton) const {
86  return PDFT(lastXComb().partonBinInstance(parton));
87  }
88 
92  const Cuts & lastCuts() const { return *lastXComb().cuts(); }
93 
97  tCutsPtr lastCutsPtr() const { return lastXComb().cuts(); }
98 
100 
106  const PPair & lastParticles() const { return lastXComb().lastParticles(); }
107 
111  Energy2 lastS() const { return lastXComb().lastS(); }
112 
116  const PPair & lastPartons() const { return lastXComb().lastPartons(); }
117 
121  Energy2 lastSHat() const { return lastXComb().lastSHat(); }
122 
126  double lastTau() const { return lastXComb().lastTau(); }
127 
131  double lastY() const { return lastXComb().lastY(); }
132 
137  double lastP1() const { return lastXComb().lastP1(); }
138 
143  double lastP2() const { return lastXComb().lastP2(); }
144 
149  double lastL1() const { return lastXComb().lastL1(); }
150 
155  double lastL2() const { return lastXComb().lastL2(); }
156 
161  double lastX1() const { return lastXComb().lastX1(); }
162 
167  double lastX2() const { return lastXComb().lastX2(); }
168 
173  double lastE1() const { return lastXComb().lastE1(); }
174 
179  double lastE2() const { return lastXComb().lastE2(); }
180 
185  double lastFL1L2() const { return lastXComb().lastFL1L2(); }
187 
193  Energy2 lastScale() const { return lastXComb().lastScale(); }
194 
199  double lastAlphaS() const { return lastXComb().lastAlphaS(); }
200 
205  double lastAlphaEM() const { return lastXComb().lastAlphaEM(); }
206 
212  const vector<Lorentz5Momentum> & meMomenta() const { return lastXComb().meMomenta(); }
213 
219  double lastME2() const { return lastXComb().lastME2(); }
220 
224  double lastPreweight() const { return lastXComb().lastPreweight(); }
225 
230  double jacobian() const { return lastXComb().jacobian(); }
231 
237  CrossSection lastMECrossSection() const { return lastXComb().lastMECrossSection(); }
238 
245  double lastMEPDFWeight() const { return lastXComb().lastMEPDFWeight(); }
246 
251  double lastMECouplings() const { return lastXComb().lastMECouplings(); }
252 
257  tSubProPtr subProcess() const { return lastXComb().subProcess(); }
258 
264  const cPDVector & mePartonData() const { return lastXComb().mePartonData(); }
266 
267 protected:
268 
273 };
274 
275 }
276 
277 #endif /* ThePEG_LastXCombInfo_H */
const cPDVector & mePartonData() const
Return the incoming and outgoing parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
XCPtr theLastXComb
The pointer to the last selected XComb.
double lastX1() const
The first incoming parton momentum fraction w.r.t.
The EventHandler is the base class used to implement event handlers in ThePEG.
Definition: EventHandler.h:63
tSubProPtr subProcess() const
Return the SubProcess object corresponding to the last generated sub-process.
const EventHandler & lastEventHandler() const
Return a reference to the currently used EventHandler.
Definition: LastXCombInfo.h:72
LastXCombInfo is a templated class giving easy access to the information in an XComb object...
Definition: LastXCombInfo.h:32
double lastME2() const
Return the matrix element squared as calculated for the last phase space point.
double lastMECouplings() const
Return the coupling weight as calculated for the last phase space point.
const XC & lastHeadXComb() const
If the last selected XComb object belongs to a group of XComb&#39;s return a reference to the head XComb ...
Definition: LastXCombInfo.h:57
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:519
tXCPtr lastXCombPtr() const
Return a pointer to the last selected XComb.
Definition: LastXCombInfo.h:50
Energy2 lastS() const
The last generated total energy squared of the incoming particles.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
This is the main config header file for ThePEG.
tPExtrPtr lastExtractor() const
A pointer to the currently used parton extractor.
Definition: LastXCombInfo.h:77
#define ThePEG_DECLARE_TEMPLATE_POINTERS(full, abbrev)
This macro helps us to declare pointers and stuff to standard classes.
Definition: Pointers.h:36
double lastX2() const
The second incoming parton momentum fraction w.r.t.
double jacobian() const
Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
const Cuts & lastCuts() const
A reference to the currently used kinematical cuts.
Definition: LastXCombInfo.h:92
double lastAlphaEM() const
Get the used in the hard scattering.
double lastY() const
The generated rapidity of the hard scattering sub-system.
Energy2 lastSHat() const
The last used interval in total parton-parton energy squared.
double lastP2() const
Log of one over the momentum fraction of the second incoming particle w.r.t.
const XC & lastXComb() const
Return a reference to the last selected XComb.
Definition: LastXCombInfo.h:45
double lastE1() const
Return 1-lastX1() to highest possible precision for x 1.
const PPair & lastPartons() const
Return the pair of incoming parton instances.
pair< PPtr, PPtr > PPair
A pair of pointers to Particle objects.
Definition: Containers.h:127
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
Definition: Containers.h:36
double lastE2() const
Return 1-lastX2() to highest possible precision for x 1.
double lastL2() const
Log of one over the second incoming parton momentum fraction w.r.t.
double lastTau() const
Return lastSHat()/lastS().
double lastL1() const
Log of one over the first incoming parton momentum fraction w.r.t.
PDFT pdf(tcPPtr parton) const
Return the parton density used to extract the given parton.
Definition: LastXCombInfo.h:85
const vector< Lorentz5Momentum > & meMomenta() const
Return the momenta of the incoming and outgoing partons to be used by the matrix element object...
double lastPreweight() const
Return the last preweight factor.
double lastP1() const
Log of one over the momentum fraction of the first incoming particle w.r.t.
double lastMEPDFWeight() const
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply...
tCutsPtr lastCutsPtr() const
A pointer to the currently used kinematical cuts.
Definition: LastXCombInfo.h:97
double lastAlphaS() const
Get the used in the hard scattering.
tXCPtr lastHeadXCombPtr() const
If the last selected XComb object belongs to a group of XComb&#39;s return a pointer to the head XComb ob...
Definition: LastXCombInfo.h:64
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition: Cuts.h:53
Energy2 lastScale() const
The chosen scale of the hard scattering.
double lastFL1L2() const
The product of the parton density functions at the last generated phase-space point.
const PPair & lastParticles() const
Return the pair of incoming parton instances.
CrossSection lastMECrossSection() const
Return the partonic cross section as calculated for the last phase space point.