]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RALICE/doc.txt
Removing obsolete package
[u/mrichter/AliRoot.git] / RALICE / doc.txt
diff --git a/RALICE/doc.txt b/RALICE/doc.txt
deleted file mode 100644 (file)
index 398beac..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-//*CMZ :  1.00/01 04/07/97  16.43.13  by  Nick van Eijndhoven (UU/CERN)
-//*-- Author :    Nick van Eijndhoven (UU/CERN)   04/07/97
-This RALICE cmz file is an attempt to provide an Object Oriented framework,
-consisting of C++ classes, in which event reconstruction of the ALICE
-detector data can be performed.
-In switching to Object Oriented programming, I myself have started to
-perform the WA93 and WA98 data analysis within the ROOT [1] framework.
-Having seen the great advantages of this system I have started to make my
-C++ classes more general in order to use them as an onset for an ALICE
-reconstruction (and physics analysis) framework.
-The RALICE package can be compiled on all platforms using the GNU G++
-compiler and the various classes can be used in standalone mode.
-However, running the programs within the ROOT framework greatly enlarges
-the analysis capabilities (e.g. histogramming, fitting, graphics etc...).
-In addition the high level of interactivity of the ROOT/CINT system allows
-program development without the time consuming compile/link/load/execute cycle,
-whereas also the ROOT tree output format provides a completely machine
-independent data format providing efficient and easy to use data access
-capable to cope with the most complex data analyses programs.
-Only the (proposed) C++ ANSI standard is used in the source code and as
-such is fully compatible with all standard C++ compilers as well as with
-the ROOT/CINT interpreting system.
-The comments in the source code are placed in the locations proposed
-in the ROOT manual pages [1] such that the automatic source code
-documentation system of ROOT can be used directly from the source code.
-This has turned out to be very convenient (time saving) and guarantees
-always updated documentation compatible with the current source code.
-Coding conventions :
---------------------
-In order not to clash with the (class) names of the ROOT framework
-and (future) packages of other groups, a few rules concerning names
-of classes, (member)functions and variables have to be obeyed.
-The rules are the following :
- 1) Only (proposed) ANSI standard C++ is allowed, with an even stricter
-    requirement that the code should compile without any warnings
-    under the GNU g++, msvc++ and the native C++ compilers of HP
-    and DECAlpha machines.
-    This will assure the programs to run on all standard ALICE platforms.
- 2) Class names start with "Ali" followed by an uppercase character,
-    all other characters are lowercase.
-    Example : AliCalorimeter
-    In this way the RALICE class names will NEVER clash with the ones
-    of ROOT whereas the probability of a clash with the class names of
-    other group's code (e.g. ATLAS, CDF, PHENIX etc...) is minimised.
-    To prevent name clashes within the various (future) ALICE packages,
-    please refer to the general note at the end.
- 3) Names of detector specific classes should start with "Ali" followed
-    by the detector name in uppercase, all other characters are lowercase
-    except the first character following the detector name, which has to
-    be uppercase..
-    Example : AliTPCSegment or AliPPCTiming.
-    These detector specific classes should only be introduced when there
-    is really a need for it.
-    E.g. when a track segment of the TPC and ITS have a lot in common
-    it would be better to introduce a general AliTracksegment class
-    instead of AliTPCSegment and AliITSSegment classes.
- 4) Class headers should be under the control of "#ifndef" and the name
-    should consist of "CLASSNAME_H" (i.e. the classname in uppercase).
-    Example : #ifndef ALITRACK_H
-              #define ALITRACK_H
-    In this way also the ifdefs will be unique and prevents the danger
-    of having the name of an ifdef being the same as a Classname.
- 5) The private area in the class header has to be defined as the last item.
-    Macros, like the ROOT ClassDef() statement (if needed) must be put
-    appear at the right location, i.e. just before the "};" of the
-    class definition.
- 6) Names of member functions should start with a capital character
-    and should NOT contain underscores (which drop out with HTML).
-    From the name it should be clear what the functionality is and
-    capital characters should be used to indicate various "words".
-    Example : AliTrack::Set3Momentum(float* p)
- 7) Names of datamembers of a class should start with a lowercase "f"
-    and the next character has to be uppercase.
-    Example : float fEnergy
-    This will allow directly identification of datamembers in the code.
-    The names of all other local variables may be chosen freely by the
-    author.
-    Note : It is recommended to use only lowercase characters
-           for local variables.
- 8) Names of global variables should start with "gAli" and the next
-    character has to be uppercase.
-    Example : gAliRun
-    This will allow directly identification of global variables in the
-    code and will not clash with the existing ROOT globals like
-    for instance gDirectory etc...
-    Note : Usage of global variables should be avoided as much as
-           possible. Most of the data transfer should go via the classes
-           and their member functions (data hiding).
- 9) Comments should be placed at the positions as outlined in the ROOT docs.
-    This will enable the automatic HTML machinery of ROOT.
-10) Each class header should contain a short description of the class
-    functionality including some examples.
-General note :
---------------
-Within the ALICE software pool it may happen that e.g. in simulation
-applications one wants to define for instance a Track class which
-contains as data members some additional information (e.g. which was
-the corresponding parent particle) compared to the AliTrack class.
-Since objects reconstructed from real data will always contain the
-minimal amount of information compared to e.g. objects from simulation,
-it is in the above case then necessary to introduce a new class
-AliSTrack (simulation track).
-Obviously such a newly defined object (AliSTrack) can be derived from
-the reconstruction object (AliTrack) and just have some data members
-and/or memberfunctions added to it.
-In such a way maximum flexibility is provided within every (future)
-ALICE project, whereas all produced data can always be analysed using
-the RALICE tools.
-In view of this it might even be preferred to impose as a convention
-for future projects to adopt a unique prefix for their specific classes.
-For example the prefixes "AliS" and "AliD" could be used to indicate
-the simulation and DAQ specific classes respectively.
-Installation :
---------------
-The RALICE library can be automatically installed using the automatic CMZ
-installation procedure.
-Available installation modes :
-------------------------------
-cmz -install ralice              --> GNU G++ loadable libralice.a
-cmz -install ralice shared       --> GNU G++ loadable shared library ralice.sl
-cmz -install ralice root         --> ROOT (G++ based) loadable library ralice.sl
-cmz -install ralice   -    msvc  --> MSVC++ loadable library
-cmz -install ralice shared msvc  --> MSVC++ loadable shared library ralice.dll
-cmz -install ralice root   msvc  --> ROOT (MSVC++ based) loadable library ralice.dll
-cmz -install ralice   -    hpcc  --> HP CC loadable library
-cmz -install ralice shared hpcc  --> HP CC loadable shared library ralice.sl
-cmz -install ralice root   hpcc  --> ROOT (HP CC based) loadable library ralice.sl
-[1] http://root.cern.ch
-                                           Nick van Eijndhoven
-                                           Subatomic Physics Dept.
-                                           Utrecht University/NIKHEF
-                                           P.O. Box 80.000
-                                           NL-3508 TA Utrecht
-                                           The Netherlands
-                                           Email: nick@phys.uu.nl
-                                           WWW: http://www.phys.uu.nl/~nick