herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
IILightTildeKinematics.h
1 // -*- C++ -*-
2 //
3 // IILightTildeKinematics.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig 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 HERWIG_IILightTildeKinematics_H
10 #define HERWIG_IILightTildeKinematics_H
11 //
12 // This is the declaration of the IILightTildeKinematics class.
13 //
14 
15 #include "Herwig/MatrixElement/Matchbox/Phasespace/TildeKinematics.h"
16 
17 namespace Herwig {
18 
19 using namespace ThePEG;
20 
30 
31 public:
32 
39 
43  virtual ~IILightTildeKinematics();
45 
46 public:
47 
56  virtual bool doMap();
57 
61  virtual Energy lastPt() const;
62 
66  //TODO: make this static?
67  virtual Energy lastPt(Lorentz5Momentum,Lorentz5Momentum,Lorentz5Momentum) const ;
68 
72  virtual pair<double,double> zBounds(Energy pt, Energy hardPt ) const;
73 
77  virtual double lastZ() const;
78 
83  virtual bool doesTransform() const { return true; }
84 
90  virtual Lorentz5Momentum transform(const Lorentz5Momentum& p) const;
91 
92 
93  /*
94  * True if phase space point is above the alpha cut for this dipole.
95  */
96 
97  bool aboveAlpha() const {return dipole()->alpha()<subtractionParameters()[1];}
98 
99 
100 public:
101 
108  void persistentOutput(PersistentOStream & os) const;
109 
115  void persistentInput(PersistentIStream & is, int version);
117 
124  static void Init();
125 
126 protected:
127 
134  virtual IBPtr clone() const;
135 
140  virtual IBPtr fullclone() const;
142 
143 
144 // If needed, insert declarations of virtual function defined in the
145 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
146 
147 private:
148 
152  Lorentz5Momentum K;
153 
157  Lorentz5Momentum Ktilde;
158 
159 private:
160 
165  IILightTildeKinematics & operator=(const IILightTildeKinematics &) = delete;
166 
167 };
168 
169 }
170 
171 #endif /* HERWIG_IILightTildeKinematics_H */
Lorentz5Momentum K
The K momentum used to transform the final state.
virtual bool doesTransform() const
Return true, if this TildeKinematics object needs to transform all other particles in the process exc...
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
TildeKinematics is the base class for the &#39;tilde&#39; kinematics being used for subtraction terms in the ...
-*- C++ -*-
Lorentz5Momentum Ktilde
The Ktilde momentum used to transform the final state.