herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
SpinCorrelationTensor.h
1// -*- C++ -*-
2//
3// SpinCorrelationTensor.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_SpinCorrelationTensor_H
10#define HERWIG_SpinCorrelationTensor_H
11
12#include "ThePEG/Config/Unitsystem.h"
13
14namespace Herwig {
15
16using namespace ThePEG;
17
29
34
38 Lorentz5Momentum theMomentum;
39
43 Energy2 theScale;
44
45public:
46
53 const Lorentz5Momentum& p,
54 Energy2 sc)
55 : theDiagonal(diag), theMomentum(p), theScale(sc) {}
56
57public:
58
62 double diagonal() const { return theDiagonal; }
63
67 const Lorentz5Momentum& momentum() const { return theMomentum; }
68
72 Energy2 scale() const { return theScale; }
73
74public:
75
81 const LorentzVector<Complex>& right) const {
82 return
83 left.dot(momentum())*right.dot(momentum())/scale();
84 }
85
86};
87
88}
89
90#endif // HERWIG_SpinCorrelationTensor_H
SpinCorrelationTensor represents a spin correlation tensor of the form.
double theDiagonal
The diagonal part.
Lorentz5Momentum theMomentum
The vector to define to off-diagonal part.
Energy2 scale() const
Return the scale.
SpinCorrelationTensor(double diag, const Lorentz5Momentum &p, Energy2 sc)
The standard constructor, giving diagonal part, and vector for off-diagonal components and the scale.
const Lorentz5Momentum & momentum() const
Return the off-diagonal vector part.
Energy2 theScale
The scale for the off-diagonal part.
Complex matrixElement(const LorentzVector< Complex > &left, const LorentzVector< Complex > &right) const
Return a matrix element of the diagonal part, by contracting with the given polarization vectors.
double diagonal() const
Return the diagonal part.
-*- C++ -*-
std::complex< double > Complex
ostream & right(ostream &os)
ostream & left(ostream &os)