herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
QTilde
Kinematics
ShowerBasis.h
1
// -*- C++ -*-
2
#ifndef Herwig_ShowerBasis_H
3
#define Herwig_ShowerBasis_H
4
//
5
// This is the declaration of the ShowerBasis class.
6
//
7
8
#include "ShowerBasis.fh"
9
#include "Herwig/Shower/QTilde/Base/ShowerParticle.fh"
10
#include "Herwig/Shower/QTilde/ShowerConfig.h"
11
#include "
ThePEG/Config/ThePEG.h
"
12
#include "ThePEG/Vectors/Lorentz5Vector.h"
13
14
namespace
Herwig
{
15
16
using namespace
ThePEG
;
17
21
class
ShowerBasis
:
public
Base
{
22
23
public
:
24
28
enum
Frame
{BackToBack,Rest};
29
30
public
:
31
35
ShowerBasis
() {}
36
40
Frame
frame
()
const
{
return
frame_;}
41
48
virtual
vector<Lorentz5Momentum> getBasis()
const
;
49
53
void
setBasis(
const
Lorentz5Momentum &p,
const
Lorentz5Momentum & n,
54
Frame
frame);
55
59
const
Lorentz5Momentum &
pVector
()
const
{
return
pVector_;}
60
64
const
Lorentz5Momentum &
nVector
()
const
{
return
nVector_;}
65
69
Energy2
p_dot_n
()
const
{
return
pVector_*nVector_;}
70
74
virtual
void
transform(
const
LorentzRotation
& r);
75
86
Lorentz5Momentum
sudakov2Momentum
(
double
alpha,
double
beta,
87
Energy px, Energy py)
const
{
88
return
alpha*pVector_ + beta*nVector_ + px*xPerp_ + py*yPerp_;
89
}
90
91
private
:
92
97
ShowerBasis
& operator=(
const
ShowerBasis
&) =
delete
;
98
99
private
:
100
104
Frame
frame_
;
105
109
Lorentz5Momentum
pVector_
;
110
114
Lorentz5Momentum
nVector_
;
115
119
LorentzVector<double>
xPerp_
;
120
124
LorentzVector<double>
yPerp_
;
125
126
};
127
128
}
129
130
#endif
/* Herwig_ShowerBasis_H */
ThePEG::LorentzVector< double >
ThePEG::Base
Herwig::ShowerBasis
The ShowerBasis class stores the basis vectors used by the shower.
Definition:
ShowerBasis.h:21
Herwig::ShowerBasis::pVector
const Lorentz5Momentum & pVector() const
Access to the vector used to describe the kinematics.
Definition:
ShowerBasis.h:59
ThePEG::LorentzRotation
Herwig::ShowerBasis::yPerp_
LorentzVector< double > yPerp_
y reference vector
Definition:
ShowerBasis.h:124
Herwig::ShowerBasis::nVector
const Lorentz5Momentum & nVector() const
Access to the vector used to describe the kinematics.
Definition:
ShowerBasis.h:64
ThePEG
ThePEG.h
Herwig::ShowerBasis::pVector_
Lorentz5Momentum pVector_
The reference vector.
Definition:
ShowerBasis.h:109
Herwig::ShowerBasis::sudakov2Momentum
Lorentz5Momentum sudakov2Momentum(double alpha, double beta, Energy px, Energy py) const
Converts a Sudakov parametrization of a momentum w.r.t.
Definition:
ShowerBasis.h:86
Herwig::ShowerBasis::xPerp_
LorentzVector< double > xPerp_
x reference vector
Definition:
ShowerBasis.h:119
Herwig::ShowerBasis::ShowerBasis
ShowerBasis()
The default constructor.
Definition:
ShowerBasis.h:35
Herwig::ShowerBasis::nVector_
Lorentz5Momentum nVector_
The reference vector.
Definition:
ShowerBasis.h:114
Herwig::ShowerBasis::Frame
Frame
enum for the frame definition
Definition:
ShowerBasis.h:28
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::ShowerBasis::frame_
Frame frame_
The frame in which the basis vectors are defined.
Definition:
ShowerBasis.h:104
Herwig::ShowerBasis::frame
Frame frame() const
Access to the frame definition.
Definition:
ShowerBasis.h:40
Herwig::ShowerBasis::p_dot_n
Energy2 p_dot_n() const
Dot product of thew basis vectors.
Definition:
ShowerBasis.h:69
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13