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 alwasy be less than P2 to preserve a positive value of E2
Definition at line 47 of file PxPyPzM4D.h.
Public Types | |
typedef ScalarType | Scalar |
Public Member Functions | |
PxPyPzM4D () | |
Default constructor with x=y=z=m=0. More... | |
template<class CoordSystem > | |
PxPyPzM4D (const CoordSystem &v) | |
construct from any 4D coordinate system class implementing X(), Y(), X() and M() More... | |
PxPyPzM4D (const PxPyPzM4D &v) | |
copy constructor More... | |
PxPyPzM4D (Scalar px, Scalar py, Scalar pz, Scalar m) | |
Constructor from x, y , z , m values. More... | |
Scalar | E () const |
Energy. More... | |
Scalar | E2 () const |
energy squared More... | |
Scalar | Et () const |
transverse energy More... | |
Scalar | Et2 () const |
transverse energy squared More... | |
Scalar | Eta () const |
pseudorapidity More... | |
void | GetCoordinates (Scalar &px, Scalar &py, Scalar &pz, Scalar &m) const |
get internal data into 4 Scalar numbers More... | |
void | GetCoordinates (Scalar dest[]) const |
get internal data into an array of 4 Scalar numbers More... | |
Scalar | M () const |
Scalar | M2 () const |
vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values) More... | |
Scalar | Mag () const |
Scalar | Mag2 () const |
Scalar | Mt () const |
transverse mass More... | |
Scalar | Mt2 () const |
transverse mass squared More... | |
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. More... | |
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() More... | |
PxPyPzM4D & | operator= (const PxPyPzM4D &v) |
assignment operator More... | |
bool | operator== (const PxPyPzM4D &rhs) const |
Exact equality. More... | |
Scalar | P () const |
magnitude of spatial components (magnitude of 3-momentum) More... | |
Scalar | P2 () const |
squared magnitude of spatial components More... | |
Scalar | Perp () const |
Scalar | Perp2 () const |
Scalar | Phi () const |
azimuthal angle More... | |
Scalar | Pt () const |
Transverse spatial component (P_perp or rho) More... | |
Scalar | Pt2 () const |
transverse spatial component squared More... | |
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 More... | |
void | SetCoordinates (const Scalar src[]) |
Set internal data based on an array of 4 Scalar numbers. More... | |
void | SetCoordinates (Scalar px, Scalar py, Scalar pz, Scalar m) |
Set internal data based on 4 Scalar numbers. More... | |
void | SetM (Scalar m) |
set T value More... | |
void | SetPx (Scalar px) |
set X value More... | |
void | SetPxPyPzE (Scalar px, Scalar py, Scalar pz, Scalar e) |
set all values More... | |
void | SetPy (Scalar py) |
set Y value More... | |
void | SetPz (Scalar pz) |
set Z value More... | |
Scalar | T () const |
Scalar | t () const |
Scalar | Theta () const |
polar angle More... | |
Scalar | X () const |
Scalar | x () const |
Scalar | Y () const |
Scalar | y () const |
Scalar | Z () const |
Scalar | z () const |
Private Member Functions | |
void | RestrictNegMass () |
Private Attributes | |
ScalarType | fM |
ScalarType | fX |
(contigous) data containing the coordinate values x,y,z,t More... | |
ScalarType | fY |
ScalarType | fZ |
#include <Math/GenVector/PxPyPzM4D.h>
typedef ScalarType ROOT::Math::PxPyPzM4D< ScalarType >::Scalar |
Definition at line 51 of file PxPyPzM4D.h.
|
inline |
Default constructor with x=y=z=m=0.
Definition at line 58 of file PxPyPzM4D.h.
|
inline |
Constructor from x, y , z , m values.
Definition at line 64 of file PxPyPzM4D.h.
|
inlineexplicit |
|
inline |
copy constructor
Definition at line 84 of file PxPyPzM4D.h.
|
inline |
Energy.
Definition at line 157 of file PxPyPzM4D.h.
|
inline |
energy squared
Definition at line 186 of file PxPyPzM4D.h.
|
inline |
transverse energy
Definition at line 236 of file PxPyPzM4D.h.
|
inline |
transverse energy squared
Definition at line 227 of file PxPyPzM4D.h.
|
inline |
pseudorapidity
Definition at line 254 of file PxPyPzM4D.h.
|
inline |
get internal data into 4 Scalar numbers
Definition at line 137 of file PxPyPzM4D.h.
|
inline |
get internal data into an array of 4 Scalar numbers
Definition at line 123 of file PxPyPzM4D.h.
|
inline |
Definition at line 147 of file PxPyPzM4D.h.
|
inline |
vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values)
Definition at line 176 of file PxPyPzM4D.h.
|
inline |
Definition at line 181 of file PxPyPzM4D.h.
|
inline |
Definition at line 179 of file PxPyPzM4D.h.
|
inline |
transverse mass
Definition at line 213 of file PxPyPzM4D.h.
|
inline |
transverse mass squared
Definition at line 208 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 299 of file PxPyPzM4D.h.
|
inline |
Definition at line 323 of file PxPyPzM4D.h.
|
inline |
|
inline |
assignment operator
Definition at line 90 of file PxPyPzM4D.h.
|
inline |
Exact equality.
Definition at line 320 of file PxPyPzM4D.h.
|
inline |
magnitude of spatial components (magnitude of 3-momentum)
Definition at line 169 of file PxPyPzM4D.h.
|
inline |
squared magnitude of spatial components
Definition at line 164 of file PxPyPzM4D.h.
|
inline |
Definition at line 202 of file PxPyPzM4D.h.
|
inline |
Definition at line 196 of file PxPyPzM4D.h.
|
inline |
azimuthal angle
Definition at line 244 of file PxPyPzM4D.h.
|
inline |
Transverse spatial component (P_perp or rho)
Definition at line 201 of file PxPyPzM4D.h.
|
inline |
transverse spatial component squared
Definition at line 195 of file PxPyPzM4D.h.
|
inline |
Definition at line 144 of file PxPyPzM4D.h.
|
inline |
Definition at line 145 of file PxPyPzM4D.h.
|
inline |
Definition at line 146 of file PxPyPzM4D.h.
|
inline |
Definition at line 170 of file PxPyPzM4D.h.
|
inlineprivate |
Definition at line 355 of file PxPyPzM4D.h.
|
inline |
Definition at line 203 of file PxPyPzM4D.h.
|
inline |
scale coordinate values by a scalar quantity a
Definition at line 309 of file PxPyPzM4D.h.
|
inline |
Set internal data based on an array of 4 Scalar numbers.
Definition at line 115 of file PxPyPzM4D.h.
|
inline |
Set internal data based on 4 Scalar numbers.
Definition at line 129 of file PxPyPzM4D.h.
|
inline |
set T value
Definition at line 282 of file PxPyPzM4D.h.
|
inline |
set X value
Definition at line 264 of file PxPyPzM4D.h.
|
inline |
set all values
Definition at line 390 of file PxPyPzM4D.h.
|
inline |
set Y value
Definition at line 270 of file PxPyPzM4D.h.
|
inline |
set Z value
Definition at line 276 of file PxPyPzM4D.h.
|
inline |
Definition at line 159 of file PxPyPzM4D.h.
|
inline |
Definition at line 333 of file PxPyPzM4D.h.
|
inline |
polar angle
Definition at line 249 of file PxPyPzM4D.h.
|
inline |
Definition at line 149 of file PxPyPzM4D.h.
|
inline |
Definition at line 330 of file PxPyPzM4D.h.
|
inline |
Definition at line 150 of file PxPyPzM4D.h.
|
inline |
Definition at line 331 of file PxPyPzM4D.h.
|
inline |
Definition at line 151 of file PxPyPzM4D.h.
|
inline |
Definition at line 332 of file PxPyPzM4D.h.
|
private |
Definition at line 372 of file PxPyPzM4D.h.
|
private |
(contigous) data containing the coordinate values x,y,z,t
Definition at line 369 of file PxPyPzM4D.h.
|
private |
Definition at line 370 of file PxPyPzM4D.h.
|
private |
Definition at line 371 of file PxPyPzM4D.h.