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 @ingroup GenVector
void | RestrictNegMass() |
Set internal data based on an array of 4 Scalar numbers
get internal data into an array of 4 Scalar numbers
Set internal data based on 4 Scalar numbers
get internal data into 4 Scalar numbers
--------- Coordinates and Coordinate-like Scalar properties ------------- cartesian (Minkowski)coordinate accessors
{ return fX;}
magnitude of spatial components (magnitude of 3-momentum)
{ return std::sqrt(P2()); }
vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values)
--------- Set Coordinates of this system --------------- set X value
set all values
------ Manipulations ------------- 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
scale coordinate values by a scalar quantity a
============= Compatibility section ================== The following make this coordinate system look enough like a CLHEP vector that an assignment member template can work with either
{ return X(); }