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 */