1#ifndef RAD_TLorentzVectorC
2#define RAD_TLorentzVectorC
4#include "TLorentzVector.h"
13 TLorentzVectorC( std::complex<double> x, std::complex<double> y, std::complex<double> z,
14 std::complex<double> e ) {
22 void SetPxPyPzE( std::complex<double> x, std::complex<double> y, std::complex<double> z,
23 std::complex<double> e ) {
30 inline std::complex<double>
Px()
const {
return fx; }
31 inline std::complex<double>
Py()
const {
return fy; }
32 inline std::complex<double>
Pz()
const {
return fz; }
33 inline std::complex<double>
E()
const {
return fe; }
34 inline std::complex<double>
X()
const {
return fx; }
35 inline std::complex<double>
Y()
const {
return fy; }
36 inline std::complex<double>
Z()
const {
return fz; }
37 inline std::complex<double>
T()
const {
return fe; }
100 return T() * std::conj(
q.T() ) -
101 (
Z() * std::conj(
q.Z() ) +
Y() * std::conj(
q.Y() ) +
X() * std::conj(
q.X() ) );
104 inline std::complex<double>
Dot(
const TLorentzVector&
q )
const {
105 return T() *
q.T() -
Z() *
q.Z() -
Y() *
q.Y() -
X() *
q.X();
110 inline std::complex<double>
operator*(
const TLorentzVector&
q )
const {
return Dot(
q ); }
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
TLorentzVectorC operator+(const TLorentzVectorC &q) const
TLorentzVectorC & operator+=(const TLorentzVectorC &q)
TLorentzVectorC operator*(double a) const
void SetPxPyPzE(std::complex< double > x, std::complex< double > y, std::complex< double > z, std::complex< double > e)
TLorentzVectorC(std::complex< double > x, std::complex< double > y, std::complex< double > z, std::complex< double > e)
std::complex< double > E() const
std::complex< double > fe
std::complex< double > Dot(const TLorentzVector &q) const
TLorentzVectorC & operator=(const TLorentzVectorC &q)
std::complex< double > operator*(const TLorentzVectorC &q) const
TLorentzVectorC & operator*=(double a)
TLorentzVectorC operator-() const
std::complex< double > T() const
std::complex< double > fx
TLorentzVectorC & operator*=(std::complex< double > a)
std::complex< double > X() const
TLorentzVectorC operator*(std::complex< double > a) const
std::complex< double > operator*(const TLorentzVector &q) const
TLorentzVectorC & operator-=(const TLorentzVectorC &q)
std::complex< double > Z() const
std::complex< double > Pz() const
std::complex< double > Y() const
std::complex< double > Py() const
std::complex< double > fz
std::complex< double > Dot(const TLorentzVectorC &q) const
TLorentzVectorC operator-(const TLorentzVectorC &q) const
std::complex< double > fy
std::complex< double > Px() const