Class describing a 4D coordinate system or momentum-energy vectors stored as (Px, Py, Pz, M).
This system is useful to describe ultra-relativistic particles (like electrons at LHC) to avoid numerical errors evaluating the mass when E >>> m The metric used is (-,-,-,+) Spacelike particles (M2 < 0) are described with negative mass values, but in this case m2 must always be less than P2 to preserve a positive value of E2
Definition at line 49 of file PxPyPzM4D.h.
Public Types | |
typedef ScalarType | Scalar |
Public Member Functions | |
PxPyPzM4D () | |
Default constructor with x=y=z=m=0. | |
template<class CoordSystem > | |
constexpr | PxPyPzM4D (const CoordSystem &v) |
construct from any 4D coordinate system class implementing X(), Y(), X() and M() | |
PxPyPzM4D (const PxPyPzM4D &v) | |
copy constructor | |
PxPyPzM4D (Scalar px, Scalar py, Scalar pz, Scalar m) | |
Constructor from x, y , z , m values. | |
Scalar | E () const |
Energy. | |
Scalar | E2 () const |
energy squared | |
Scalar | Et () const |
transverse energy | |
Scalar | Et2 () const |
transverse energy squared | |
Scalar | Eta () const |
pseudorapidity | |
void | GetCoordinates (Scalar &px, Scalar &py, Scalar &pz, Scalar &m) const |
get internal data into 4 Scalar numbers | |
void | GetCoordinates (Scalar dest[]) const |
get internal data into an array of 4 Scalar numbers | |
Scalar | M () const |
Scalar | M2 () const |
vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values) | |
Scalar | Mag () const |
Scalar | Mag2 () const |
Scalar | Mt () const |
transverse mass | |
Scalar | Mt2 () const |
transverse mass squared | |
void | Negate () |
negate the 4-vector - Note that the energy cannot be negate (would need an additional data member) therefore negate will work only on the spatial components. | |
bool | operator!= (const PxPyPzM4D &rhs) const |
template<class AnyCoordSystem > | |
PxPyPzM4D & | operator= (const AnyCoordSystem &v) |
construct from any 4D coordinate system class implementing X(), Y(), X() and M() | |
PxPyPzM4D & | operator= (const PxPyPzM4D &v) |
assignment operator | |
bool | operator== (const PxPyPzM4D &rhs) const |
Exact equality. | |
Scalar | P () const |
magnitude of spatial components (magnitude of 3-momentum) | |
Scalar | P2 () const |
squared magnitude of spatial components | |
Scalar | Perp () const |
Scalar | Perp2 () const |
Scalar | Phi () const |
azimuthal angle | |
Scalar | Pt () const |
Transverse spatial component (P_perp or rho) | |
Scalar | Pt2 () const |
transverse spatial component squared | |
Scalar | Px () const |
Scalar | Py () const |
Scalar | Pz () const |
Scalar | R () const |
Scalar | Rho () const |
void | Scale (const Scalar &a) |
scale coordinate values by a scalar quantity a | |
void | SetCoordinates (const Scalar src[]) |
Set internal data based on an array of 4 Scalar numbers. | |
void | SetCoordinates (Scalar px, Scalar py, Scalar pz, Scalar m) |
Set internal data based on 4 Scalar numbers. | |
void | SetM (Scalar m) |
set T value | |
void | SetPx (Scalar px) |
set X value | |
void | SetPxPyPzE (Scalar px, Scalar py, Scalar pz, Scalar e) |
set all values | |
void | SetPy (Scalar py) |
set Y value | |
void | SetPz (Scalar pz) |
set Z value | |
Scalar | T () const |
Scalar | t () const |
Scalar | Theta () const |
polar angle | |
Scalar | X () const |
Scalar | x () const |
Scalar | Y () const |
Scalar | y () const |
Scalar | Z () const |
Scalar | z () const |
Static Public Attributes | |
static constexpr unsigned int | Dimension = 4U |
Private Member Functions | |
void | RestrictNegMass () |
Private Attributes | |
ScalarType | fM |
ScalarType | fX |
(contiguous) data containing the coordinate values x,y,z,t | |
ScalarType | fY |
ScalarType | fZ |
#include <Math/GenVector/PxPyPzM4D.h>
typedef ScalarType ROOT::Math::PxPyPzM4D< ScalarType >::Scalar |
Definition at line 53 of file PxPyPzM4D.h.
|
inline |
Default constructor with x=y=z=m=0.
Definition at line 61 of file PxPyPzM4D.h.
|
inline |
Constructor from x, y , z , m values.
Definition at line 67 of file PxPyPzM4D.h.
|
inlineexplicitconstexpr |
construct from any 4D coordinate system class implementing X(), Y(), X() and M()
Definition at line 78 of file PxPyPzM4D.h.
|
inline |
copy constructor
Definition at line 87 of file PxPyPzM4D.h.
|
inline |
Energy.
Definition at line 160 of file PxPyPzM4D.h.
|
inline |
energy squared
Definition at line 189 of file PxPyPzM4D.h.
|
inline |
transverse energy
Definition at line 241 of file PxPyPzM4D.h.
|
inline |
transverse energy squared
Definition at line 232 of file PxPyPzM4D.h.
|
inline |
pseudorapidity
Definition at line 260 of file PxPyPzM4D.h.
|
inline |
get internal data into 4 Scalar numbers
Definition at line 140 of file PxPyPzM4D.h.
|
inline |
get internal data into an array of 4 Scalar numbers
Definition at line 126 of file PxPyPzM4D.h.
|
inline |
Definition at line 150 of file PxPyPzM4D.h.
|
inline |
vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values)
Definition at line 179 of file PxPyPzM4D.h.
|
inline |
Definition at line 184 of file PxPyPzM4D.h.
|
inline |
Definition at line 182 of file PxPyPzM4D.h.
|
inline |
transverse mass
Definition at line 216 of file PxPyPzM4D.h.
|
inline |
transverse mass squared
Definition at line 211 of file PxPyPzM4D.h.
|
inline |
negate the 4-vector - Note that the energy cannot be negate (would need an additional data member) therefore negate will work only on the spatial components.
One would need to use negate only with vectors having the energy as data members
Definition at line 305 of file PxPyPzM4D.h.
|
inline |
Definition at line 329 of file PxPyPzM4D.h.
|
inline |
construct from any 4D coordinate system class implementing X(), Y(), X() and M()
Definition at line 107 of file PxPyPzM4D.h.
|
inline |
assignment operator
Definition at line 93 of file PxPyPzM4D.h.
|
inline |
Exact equality.
Definition at line 326 of file PxPyPzM4D.h.
|
inline |
magnitude of spatial components (magnitude of 3-momentum)
Definition at line 172 of file PxPyPzM4D.h.
|
inline |
squared magnitude of spatial components
Definition at line 167 of file PxPyPzM4D.h.
|
inline |
Definition at line 205 of file PxPyPzM4D.h.
|
inline |
Definition at line 199 of file PxPyPzM4D.h.
|
inline |
azimuthal angle
Definition at line 250 of file PxPyPzM4D.h.
|
inline |
Transverse spatial component (P_perp or rho)
Definition at line 204 of file PxPyPzM4D.h.
|
inline |
transverse spatial component squared
Definition at line 198 of file PxPyPzM4D.h.
|
inline |
Definition at line 147 of file PxPyPzM4D.h.
|
inline |
Definition at line 148 of file PxPyPzM4D.h.
|
inline |
Definition at line 149 of file PxPyPzM4D.h.
|
inline |
Definition at line 173 of file PxPyPzM4D.h.
|
inlineprivate |
Definition at line 361 of file PxPyPzM4D.h.
|
inline |
Definition at line 206 of file PxPyPzM4D.h.
|
inline |
scale coordinate values by a scalar quantity a
Definition at line 315 of file PxPyPzM4D.h.
|
inline |
Set internal data based on an array of 4 Scalar numbers.
Definition at line 118 of file PxPyPzM4D.h.
|
inline |
Set internal data based on 4 Scalar numbers.
Definition at line 132 of file PxPyPzM4D.h.
|
inline |
set T value
Definition at line 288 of file PxPyPzM4D.h.
|
inline |
set X value
Definition at line 270 of file PxPyPzM4D.h.
|
inline |
set all values
Definition at line 396 of file PxPyPzM4D.h.
|
inline |
set Y value
Definition at line 276 of file PxPyPzM4D.h.
|
inline |
set Z value
Definition at line 282 of file PxPyPzM4D.h.
|
inline |
Definition at line 162 of file PxPyPzM4D.h.
|
inline |
Definition at line 339 of file PxPyPzM4D.h.
|
inline |
polar angle
Definition at line 255 of file PxPyPzM4D.h.
|
inline |
Definition at line 152 of file PxPyPzM4D.h.
|
inline |
Definition at line 336 of file PxPyPzM4D.h.
|
inline |
Definition at line 153 of file PxPyPzM4D.h.
|
inline |
Definition at line 337 of file PxPyPzM4D.h.
|
inline |
Definition at line 154 of file PxPyPzM4D.h.
|
inline |
Definition at line 338 of file PxPyPzM4D.h.
|
staticconstexpr |
Definition at line 54 of file PxPyPzM4D.h.
|
private |
Definition at line 378 of file PxPyPzM4D.h.
|
private |
(contiguous) data containing the coordinate values x,y,z,t
Definition at line 375 of file PxPyPzM4D.h.
|
private |
Definition at line 376 of file PxPyPzM4D.h.
|
private |
Definition at line 377 of file PxPyPzM4D.h.