Proposal for new Physics Vector classes in ROOT

From: Lorenzo Moneta <>
Date: Mon, 6 Jun 2005 10:51:08 +0200

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

-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 also provided.

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

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,

  Best Regards

  Lorenzo Moneta (on behalf of the ROOT Math Library Team) Received on Mon Jun 06 2005 - 10:51:19 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:09 MET