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

The LorentzRank3Tensor 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 <LorentzRank3Tensor.h>

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

Public Member Functions

 LorentzRank3Tensor ()=default
 Default zero constructor.
 
complex< Value > operator() (int i, int j, int k) const
 Get components by indices.
 
complex< Value > & operator() (int i, int j, int k)
 Set components by indices.
 
Transformations.
LorentzRank3Tensorboost (double, double, double)
 Standard Lorentz boost specifying the components of the beta vector.
 
LorentzRank3Tensor< Value > & boost (const Boost &b)
 Standard Lorentz boost specifying the beta vector.
 
LorentzRank3Tensortransform (const SpinOneLorentzRotation &r)
 General Lorentz transformation.
 
LorentzRank3Tensor< Value > conjugate ()
 Return the complex conjugate.
 

Arithmetic operators.

std::array< std::array< std::array< complex< Value >, 4 >, 4 >, 4 > _tensor
 The components.
 
LorentzRank3Tensor< Value > operator*= (Complex a)
 Scaling with a complex number.
 
LorentzRank3Tensor< Value > operator+ (const LorentzRank3Tensor< Value > &in) const
 Addition.
 
LorentzRank3Tensor< Value > operator- (const LorentzRank3Tensor< Value > &in) const
 Subtraction.
 
template<typename ValueB >
auto dot (const LorentzVector< complex< ValueB > > &vec, unsigned int iloc) const -> LorentzTensor< decltype(ValueB() *Value())>
 Dot product with the ith index.
 
auto dot (const Lorentz5Momentum &vec, unsigned int iloc) const -> LorentzTensor< decltype(vec.x() *Value())>
 dot product with momentum
 
template<typename T , typename U >
auto operator* (const LorentzRank3Tensor< T > &t, const LorentzRank3Tensor< U > &u) -> decltype(t.xx() *u.xx())
 Scalar product with other tensor.
 

Detailed Description

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

The LorentzRank3Tensor 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 37 of file LorentzRank3Tensor.h.

Member Function Documentation

◆ boost()

template<typename Value >
LorentzRank3Tensor< Value > & ThePEG::Helicity::LorentzRank3Tensor< Value >::boost ( const Boost b)
inline

Standard Lorentz boost specifying the beta vector.

Definition at line 73 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::boost().

◆ conjugate()

template<typename Value >
LorentzRank3Tensor< Value > ThePEG::Helicity::LorentzRank3Tensor< Value >::conjugate ( )
inline

Return the complex conjugate.

Definition at line 104 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ dot() [1/2]

template<typename Value >
auto ThePEG::Helicity::LorentzRank3Tensor< Value >::dot ( const Lorentz5Momentum vec,
unsigned int  iloc 
) const -> LorentzTensor<decltype(vec.x()*Value())>
inline

dot product with momentum

Definition at line 199 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ dot() [2/2]

template<typename Value >
template<typename ValueB >
auto ThePEG::Helicity::LorentzRank3Tensor< Value >::dot ( const LorentzVector< complex< ValueB > > &  vec,
unsigned int  iloc 
) const -> LorentzTensor<decltype(ValueB()*Value())>
inline

Dot product with the ith index.

Definition at line 161 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ operator()() [1/2]

template<typename Value >
complex< Value > & ThePEG::Helicity::LorentzRank3Tensor< Value >::operator() ( int  i,
int  j,
int  k 
)
inline

Set components by indices.

Definition at line 57 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ operator()() [2/2]

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRank3Tensor< Value >::operator() ( int  i,
int  j,
int  k 
) const
inline

Get components by indices.

Definition at line 49 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ operator*=()

template<typename Value >
LorentzRank3Tensor< Value > ThePEG::Helicity::LorentzRank3Tensor< Value >::operator*= ( Complex  a)
inline

Scaling with a complex number.

Definition at line 123 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ operator+()

template<typename Value >
LorentzRank3Tensor< Value > ThePEG::Helicity::LorentzRank3Tensor< Value >::operator+ ( const LorentzRank3Tensor< Value > &  in) const
inline

Addition.

Definition at line 140 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ operator-()

template<typename Value >
LorentzRank3Tensor< Value > ThePEG::Helicity::LorentzRank3Tensor< Value >::operator- ( const LorentzRank3Tensor< Value > &  in) const
inline

Subtraction.

Definition at line 150 of file LorentzRank3Tensor.h.

References ThePEG::Helicity::LorentzRank3Tensor< Value >::_tensor.

◆ transform()

template<typename Value >
LorentzRank3Tensor & ThePEG::Helicity::LorentzRank3Tensor< Value >::transform ( const SpinOneLorentzRotation r)
inline

General Lorentz transformation.

Definition at line 80 of file LorentzRank3Tensor.h.

Referenced by ThePEG::Helicity::Rank3TensorWaveFunction::transform().

Member Data Documentation

◆ _tensor


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