thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
ThePEG::Helicity::LorentzTensor< Value > Class Template Reference

The LorentzTensor class is designed to implement the storage of a complex tensor to be used to representation the wavefunction of a spin-2 particle. More...

#include <LorentzTensor.h>

Inheritance diagram for ThePEG::Helicity::LorentzTensor< Value >:

Public Member Functions

Standard constructors and destructors.
 LorentzTensor ()=default
 Default zero constructor.
 
 LorentzTensor (complex< Value > xx, complex< Value > xy, complex< Value > xz, complex< Value > xt, complex< Value > yx, complex< Value > yy, complex< Value > yz, complex< Value > yt, complex< Value > zx, complex< Value > zy, complex< Value > zz, complex< Value > zt, complex< Value > tx, complex< Value > ty, complex< Value > tz, complex< Value > tt)
 Constructor specifyign all components.
 
 LorentzTensor (const LorentzPolarizationVector &p, const LorentzPolarizationVector &q)
 Constructor in terms of two polarization vectors.
 
Access individual components.
complex< Value > xx () const
 Get x,x component.
 
complex< Value > yx () const
 Get y,x component.
 
complex< Value > zx () const
 Get z,x component.
 
complex< Value > tx () const
 Get t,x component.
 
complex< Value > xy () const
 Get x,y component.
 
complex< Value > yy () const
 Get y,y component.
 
complex< Value > zy () const
 Get z,y component.
 
complex< Value > ty () const
 Get t,y component.
 
complex< Value > xz () const
 Get x,z component.
 
complex< Value > yz () const
 Get y,z component.
 
complex< Value > zz () const
 Get z,z component.
 
complex< Value > tz () const
 Get t,z component.
 
complex< Value > xt () const
 Get x,t component.
 
complex< Value > yt () const
 Get y,t component.
 
complex< Value > zt () const
 Get z,t component.
 
complex< Value > tt () const
 Get t,t component.
 
void setXX (complex< Value > a)
 Set x,x component.
 
void setYX (complex< Value > a)
 Set y,x component.
 
void setZX (complex< Value > a)
 Set z,x component.
 
void setTX (complex< Value > a)
 Set t,x component.
 
void setXY (complex< Value > a)
 Set x,y component.
 
void setYY (complex< Value > a)
 Set y,y component.
 
void setZY (complex< Value > a)
 Set z,y component.
 
void setTY (complex< Value > a)
 Set t,y component.
 
void setXZ (complex< Value > a)
 Set x,z component.
 
void setYZ (complex< Value > a)
 Set y,z component.
 
void setZZ (complex< Value > a)
 Set z,z component.
 
void setTZ (complex< Value > a)
 Set t,z component.
 
void setXT (complex< Value > a)
 Set x,t component.
 
void setYT (complex< Value > a)
 Set y,t component.
 
void setZT (complex< Value > a)
 Set z,t component.
 
void setTT (complex< Value > a)
 Set t,t component.
 
complex< Value > operator() (int i, int j) const
 Get components by indices.
 
complex< Value > & operator() (int i, int j)
 Set components by indices.
 
Transformations.
LorentzTensorboost (double, double, double)
 Standard Lorentz boost specifying the components of the beta vector.
 
LorentzTensor< Value > & boost (const Boost &b)
 Standard Lorentz boost specifying the beta vector.
 
LorentzTensortransform (const SpinOneLorentzRotation &r)
 General Lorentz transformation.
 
LorentzTensor< Value > conjugate ()
 Return the complex conjugate.
 
LorentzVector< complex< Value > > preDot (const LorentzPolarizationVector &vec) const
 Various dot products. More...
 
LorentzVector< complex< Value > > postDot (const LorentzPolarizationVector &vec) const
 Second index dot product with polarization vector.
 
auto preDot (const Lorentz5Momentum &vec) const -> LorentzVector< decltype(vec.x() *this->xx())>
 First index dot product with momentum.
 
auto postDot (const Lorentz5Momentum &vec) const -> LorentzVector< decltype(vec.x() *this->xx())>
 Second index dot product with momentum.
 

Private Attributes

std::array< std::array< complex< Value >, 4 >, 4 > _tensor
 The components.
 

Arithmetic operators.

LorentzTensor< Value > operator*= (Complex a)
 Scaling with a complex number.
 
LorentzTensor< Value > operator+ (const LorentzTensor< Value > &in) const
 Addition.
 
LorentzTensor< Value > operator- (const LorentzTensor< Value > &in) const
 Subtraction.
 
complex< Value > trace () const
 Trace.
 
template<typename T , typename U >
auto operator* (const LorentzTensor< T > &t, const LorentzTensor< U > &u) -> decltype(t.xx() *u.xx())
 Scalar product with other tensor.
 

Detailed Description

template<typename Value>
class ThePEG::Helicity::LorentzTensor< Value >

The LorentzTensor class is designed to implement the storage of a complex tensor to be used to representation the wavefunction of a spin-2 particle.

At the moment it only implements the storage of the tensor components but it is envisaged that it will be extended to include boost methods etc.

Author
Peter Richardson

Definition at line 21 of file LorentzTensor.h.

Member Function Documentation

◆ preDot()

template<typename Value>
LorentzVector<complex<Value> > ThePEG::Helicity::LorentzTensor< Value >::preDot ( const LorentzPolarizationVector vec) const
inline

Various dot products.

First index dot product with polarization vector

Definition at line 359 of file LorentzTensor.h.


The documentation for this class was generated from the following file: