herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
FIMassiveInvertedTildeKinematics.h
1 // -*- C++ -*-
2 //
3 // FIMassiveInvertedTildeKinematics.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_FIMassiveInvertedTildeKinematics_H
10 #define HERWIG_FIMassiveInvertedTildeKinematics_H
11 //
12 // This is the declaration of the FIMassiveInvertedTildeKinematics class.
13 //
14 
15 #include "Herwig/MatrixElement/Matchbox/Phasespace/InvertedTildeKinematics.h"
16 
17 namespace Herwig {
18 
19 using namespace ThePEG;
20 
30 
31 public:
32 
39 
45 
46 public:
47 
56  virtual bool doMap(const double *);
57 
61  virtual Energy lastPt() const;
62 
66  virtual double lastZ() const;
67 
71  virtual Energy ptMax() const;
72 
76  virtual pair<double,double> zBounds(Energy pt, Energy hardPt = ZERO) const;
77 
78 public:
79 
83  template <class T>
84  inline T rootOfKallen (T a, T b, T c) const {
85  return sqrt( a*a + b*b + c*c - 2.*( a*b+a*c+b*c ) ); }
86 
87 public:
88 
95  void persistentOutput(PersistentOStream & os) const;
96 
102  void persistentInput(PersistentIStream & is, int version);
104 
111  static void Init();
112 
113 protected:
114 
121  virtual IBPtr clone() const;
122 
127  virtual IBPtr fullclone() const;
129 
130 
131 // If needed, insert declarations of virtual function defined in the
132 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
133 
134 
135 private:
136 
142 
143 };
144 
145 }
146 
147 #endif /* HERWIG_FIMassiveInvertedTildeKinematics_H */
FIMassiveInvertedTildeKinematics inverts the final-final tilde kinematics.
double sqrt(int x)
InvertedTildeKinematics is the base class for the inverted &#39;tilde&#39; kinematics being used for subtract...
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
T rootOfKallen(T a, T b, T c) const
Triangular / Kallen function.
-*- C++ -*-
constexpr ZeroUnit ZERO