thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
14#include "ThePEG/Cuts/Cuts.fh"
15#include "XComb.h"
16
17namespace ThePEG {
18
31template <typename XC = XComb>
33
34public:
35
37
38public:
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
267protected:
268
273};
274
275}
276
277#endif /* ThePEG_LastXCombInfo_H */
#define ThePEG_DECLARE_TEMPLATE_POINTERS(full, abbrev)
This macro helps us to declare pointers and stuff to standard classes.
Definition: Pointers.h:36
This is the main config header file for ThePEG.
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition: Cuts.h:53
The EventHandler is the base class used to implement event handlers in ThePEG.
Definition: EventHandler.h:63
LastXCombInfo is a templated class giving easy access to the information in an XComb object.
Definition: LastXCombInfo.h:32
double lastMEPDFWeight() const
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply...
tPExtrPtr lastExtractor() const
A pointer to the currently used parton extractor.
Definition: LastXCombInfo.h:77
double lastL1() const
Log of one over the first incoming parton momentum fraction w.r.t.
double lastX2() const
The second incoming parton momentum fraction w.r.t.
CrossSection lastMECrossSection() const
Return the partonic cross section as calculated for the last phase space point.
double lastE1() const
Return 1-lastX1() to highest possible precision for x 1.
tXCPtr lastXCombPtr() const
Return a pointer to the last selected XComb.
Definition: LastXCombInfo.h:50
double jacobian() const
Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
double lastAlphaS() const
Get the used in the hard scattering.
double lastE2() const
Return 1-lastX2() to highest possible precision for x 1.
const Cuts & lastCuts() const
A reference to the currently used kinematical cuts.
Definition: LastXCombInfo.h:92
double lastX1() const
The first incoming parton momentum fraction w.r.t.
const EventHandler & lastEventHandler() const
Return a reference to the currently used EventHandler.
Definition: LastXCombInfo.h:72
double lastME2() const
Return the matrix element squared as calculated for the last phase space point.
XCPtr theLastXComb
The pointer to the last selected XComb.
PDFT pdf(tcPPtr parton) const
Return the parton density used to extract the given parton.
Definition: LastXCombInfo.h:85
const cPDVector & mePartonData() const
Return the incoming and outgoing parton types to be used by the matrix element object,...
Energy2 lastS() const
The last generated total energy squared of the incoming particles.
const PPair & lastPartons() const
Return the pair of incoming parton instances.
double lastY() const
The generated rapidity of the hard scattering sub-system.
double lastL2() const
Log of one over the second incoming parton momentum fraction w.r.t.
tCutsPtr lastCutsPtr() const
A pointer to the currently used kinematical cuts.
Definition: LastXCombInfo.h:97
Energy2 lastScale() const
The chosen scale of the hard scattering.
double lastP1() const
Log of one over the momentum fraction of the first incoming particle w.r.t.
tXCPtr lastHeadXCombPtr() const
If the last selected XComb object belongs to a group of XComb's return a pointer to the head XComb ob...
Definition: LastXCombInfo.h:64
const XC & lastXComb() const
Return a reference to the last selected XComb.
Definition: LastXCombInfo.h:45
double lastAlphaEM() const
Get the used in 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.
const XC & lastHeadXComb() const
If the last selected XComb object belongs to a group of XComb's return a reference to the head XComb ...
Definition: LastXCombInfo.h:57
double lastTau() const
Return lastSHat()/lastS().
const vector< Lorentz5Momentum > & meMomenta() const
Return the momenta of the incoming and outgoing partons to be used by the matrix element object,...
double lastP2() const
Log of one over the momentum fraction of the second incoming particle w.r.t.
Energy2 lastSHat() const
The last used interval in total parton-parton energy squared.
double lastPreweight() const
Return the last preweight factor.
double lastMECouplings() const
Return the coupling weight as calculated for the last phase space point.
tSubProPtr subProcess() const
Return the SubProcess object corresponding to the last generated sub-process.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
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
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
pair< PPtr, PPtr > PPair
A pair of pointers to Particle objects.
Definition: Containers.h:127
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
Definition: Containers.h:36