Dear ROOT users,
This is a proposal describing new Physics Vector classes for 3D
(geometrical Points and Vectors) and 4D (LorentzVectors) with their
operations and transformations (rotations).
The proposal is available, together with a prototype describing the
API for the classes at
These new classes will be part of the new mathcore package
(part of libCore) and also available as a standalone library (libMathCore).
The main characteristics as explained in the linked Web page are:
-possibility to have Vector based on various coordinate systems
such as Cartesian, Polar and Cylindrical
-distinction between position vectors (Points) and displacement vectors
-possibility to have classes based on arbitrary scalar type (they
are templated on the scalar value type)
An easy connection to Linear Algebra Vector and Matrices classes is
The plan is to release a first version in the new ROOT version 5 at the
end of the month.
The current Physics classes, TVector3, TLorentzVector, … will be kept,
and eventually they will be reimplemented using the new Vector classes
(but still being back compatible).
It is also planned to add to libMathCore other classes such as
-Random number generators
-Numerical algorithms such as adaptive integration, differentiation, root finders
- Some basics mathematical functions
In addition we will provide a libMathMore library with a more complete set of functions and algorithms
based on the GNU GSL library.
Any comments, or feedback or criticism is highly welcomed,
Lorenzo Moneta (on behalf of the ROOT Math Library Team)