ALICE Off-line Project Logo AliRoot history ALICE Logo

History

This page summarizes the status of Version 3.02 that has been released on Wed Jun 16 10:00 1999.

The Geant3.21 based simulation program galice had been originally developed under the coordination of N.Van Eijndhoven for the Technical Proposal of the ALICE experiment at LHC. This code was based on the CERNLIB FORTRAN environment, using PAW N-tuple for the storage of the hits.

In 1998 the activities leading to the Technical Design Reports (TRDs) for the various sub-detectors of ALICE started. Simulation was an essential tool for the detailed design of the detectors. After a requirement collection phase within the collaboration, it became clear that a substantial upgrade of the galice package used for the Technical Proposal was necessary. In line with the policy of the collaboration and the recommendations of both the IT Division and the LHCC Computing Board (LCB), it was decided to develop a new environment based on Object Oriented techniques and implemented in C++.

Version 2 of galice was quickly prototyped, still using the Geant3.21 simulation program, but completely wrapped into a C++ class. The results of the simulation were objects stored in a Persistent Object Manager. At the time the code amounted to about 40 kLOC of Fortran code and 10 kLOC of C++. This rapid prototyping activity was possible thanks to the availability of the ROOT framework and to the active support of the ROOT team.

The results of this activity lead to a usable tool for simulation. At the same time both the advantages of the OO programming style and the soundness of the ROOT framework became clear. This lead to the official adoption of ROOT by the ALICE Off-line Project in November 1998. This also lead to the development of a completely C++ version of the simulation programme and to the development of the digitisation and reconstruction framework based on ROOT. Version 3 of the code, now renamed AliRoot was completely rewritten in C++ and it was composed by 70 kLOC of C++ and 2 kLOC of FORTRAN.

At the moment of writing the code contains 150kLOC of C++, out of which 60kLOC automatically generated by the ROOT preprocessor.

The history of AliRoot V3.01 can be found here.


by Federico Carminati