ThePEG
2.2.1
|
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>
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. | |
LorentzTensor & | boost (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. | |
LorentzTensor & | transform (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. | |
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.
Definition at line 21 of file LorentzTensor.h.
|
inline |
Various dot products.
First index dot product with polarization vector
Definition at line 359 of file LorentzTensor.h.