ThePEG  1.8.0
LastXCombInfo.h
1 // -*- C++ -*-
2 //
3 // LastXCombInfo.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 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 
225  double jacobian() const { return lastXComb().jacobian(); }
226 
232  CrossSection lastMECrossSection() const { return lastXComb().lastMECrossSection(); }
233 
240  double lastMEPDFWeight() const { return lastXComb().lastMEPDFWeight(); }
241 
246  tSubProPtr subProcess() const { return lastXComb().subProcess(); }
247 
253  const cPDVector & mePartonData() const { return lastXComb().mePartonData(); }
255 
256 protected:
257 
262 };
263 
264 }
265 
266 #endif /* ThePEG_LastXCombInfo_H */
XCPtr theLastXComb
The pointer to the last selected XComb.
double jacobian() const
Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
double lastP1() const
Log of one over the momentum fraction of the first incoming particle w.r.t.
tSubProPtr subProcess() const
Return the SubProcess object corresponding to the last generated sub-process.
The EventHandler is the base class used to implement event handlers in ThePEG.
Definition: EventHandler.h:63
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
tXCPtr lastXCombPtr() const
Return a pointer to the last selected XComb.
Definition: LastXCombInfo.h:50
LastXCombInfo is a templated class giving easy access to the information in an XComb object...
Definition: LastXCombInfo.h:32
double lastL2() const
Log of one over 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 lastAlphaS() const
Get the used in the hard scattering.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:681
const vector< Lorentz5Momentum > & meMomenta() const
Return the momenta of the incoming and outgoing partons to be used by the matrix element object...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:509
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.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
const Cuts & lastCuts() const
A reference to the currently used kinematical cuts.
Definition: LastXCombInfo.h:92
double lastX2() const
The second incoming parton momentum fraction w.r.t.
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.
#define ThePEG_DECLARE_TEMPLATE_POINTERS(full, abbrev)
This macro helps us to declare pointers and stuff to standard classes.
Definition: Pointers.h:36
const PPair & lastParticles() const
Return the pair of incoming parton instances.
double lastE1() const
Return 1-lastX1() to highest possible precision for x 1.
double lastE2() const
Return 1-lastX2() to highest possible precision for x 1.
double lastMEPDFWeight() const
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply...
double lastTau() const
Return lastSHat()/lastS().
const PPair & lastPartons() const
Return the pair of incoming parton instances.
const XC & lastXComb() const
Return a reference to the last selected XComb.
Definition: LastXCombInfo.h:45
double lastME2() const
Return the matrix element squared as calculated for the last phase space point.
PDFT pdf(tcPPtr parton) const
Return the parton density used to extract the given parton.
Definition: LastXCombInfo.h:85
pair< PPtr, PPtr > PPair
A pair of pointers to Particle objects.
Definition: Containers.h:127
Energy2 lastS() const
The last generated total energy squared of the incoming particles.
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 lastFL1L2() const
The product of the parton density functions at the last generated phase-space point.
double lastAlphaEM() const
Get the used in the hard scattering.
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.
const EventHandler & lastEventHandler() const
Return a reference to the currently used EventHandler.
Definition: LastXCombInfo.h:72
This template class allows the compiler to check calculations with physical quantities for dimensiona...
Definition: PhysicalQty.h:81
double lastX1() const
The first incoming parton momentum fraction w.r.t.
Energy2 lastSHat() const
The last used interval in total parton-parton energy squared.
double lastY() const
The generated rapidity of the hard scattering sub-system.
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
double lastP2() const
Log of one over the momentum fraction of the second incoming particle w.r.t.
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition: Cuts.h:52