herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
FFMassiveTildeKinematics.h
1// -*- C++ -*-
2//
3// FFMassiveTildeKinematics.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_FFMassiveTildeKinematics_H
10#define HERWIG_FFMassiveTildeKinematics_H
11//
12// This is the declaration of the FFMassiveTildeKinematics class.
13//
14
15#include "Herwig/MatrixElement/Matchbox/Phasespace/TildeKinematics.h"
16
17namespace Herwig {
18
19using namespace ThePEG;
20
30
31public:
32
41 virtual bool doMap();
42
46 virtual Energy lastPt() const;
47
51 virtual pair<double,double> zBounds(Energy pt, Energy hardPt ) const;
52
56 virtual Energy lastPt(Lorentz5Momentum,Lorentz5Momentum,Lorentz5Momentum) const ;
57
58
62 virtual double lastZ() const;
63
64public:
65
69 template <class T>
70 inline T rootOfKallen (T a, T b, T c) const {
71 return sqrt( a*a + b*b + c*c - 2.*( a*b+a*c+b*c ) ); }
72
73public:
74
82
88 void persistentInput(PersistentIStream & is, int version);
90
97 static void Init();
98
99protected:
100
107 virtual IBPtr clone() const;
108
113 virtual IBPtr fullclone() const;
115
116
117// If needed, insert declarations of virtual function defined in the
118// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
119
120
121private:
122
128
129};
130
131}
132
133#endif /* HERWIG_FFMassiveTildeKinematics_H */
FFMassiveTildeKinematics implements the 'tilde' kinematics for a final-final subtraction dipole.
virtual Energy lastPt(Lorentz5Momentum, Lorentz5Momentum, Lorentz5Momentum) const
Return the pt associated to emitter emission and sppectator momentum.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double lastZ() const
Return the momentum fraction associated to the last splitting.
static void Init()
The standard Init function used to initialize the interfaces.
virtual bool doMap()
Perform the mapping to the tilde kinematics for the last selected process and store all dimensionless...
FFMassiveTildeKinematics & operator=(const FFMassiveTildeKinematics &)=delete
The assignment operator is private and must never be called.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual Energy lastPt() const
Return the pt associated to the last merged splitting.
virtual pair< double, double > zBounds(Energy pt, Energy hardPt) const
Given a pt, return the boundaries on z.
T rootOfKallen(T a, T b, T c) const
Triangular / Kallen function.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
TildeKinematics is the base class for the 'tilde' kinematics being used for subtraction terms in the ...
-*- C++ -*-
double sqrt(int x)
ThePEG::Ptr< InterfacedBase >::pointer IBPtr