d88f97cc |
1 | //*CMZ : 1.00/02 04/07/97 16.48.20 by Nick van Eijndhoven (UU/CERN) |
2 | //*-- Author : Nick van Eijndhoven (UU/CERN) 04/07/97 |
3 | ////////////////////////////////////////////////////////////////////////// |
4 | // History of updates // |
5 | ////////////////////////////////////////////////////////////////////////// |
6 | 04-jul-1997 NvE First release of the package |
7 | 11-jul-1997 NvE Class Invmass added to /GENUTILS and directories /PHYSICS |
8 | and /TRACKING created to hold Jet and Track classes resp. |
9 | 15-aug-1997 NvE Pilot patch *RALICE removed and automatic installation |
10 | now completely performed by pure CMZ commands in the |
11 | INSTALL macro. |
12 | 12-sep-1997 NvE Signal of central cluster module and position in user |
13 | coordinates for all modules introduced in the Calorimetry |
14 | package. |
15 | Also all "float vec[]" replaced by "float* vec" in the |
16 | Lorbo class for stylistic reasons. |
17 | 20-sep-1997 NvE Name of member function "getc()" of Calorimeter changed to |
18 | "get_c()" to avoid clash with native C function. |
19 | Also protection added in Calorimeter::group() against cases |
20 | where no modules fired. |
21 | 23-sep-1997 NvE Macro "install" modified to also enable automatic installation |
22 | of a G++ or ROOT loadable shared library 'ralice.sl'. |
23 | 24-sep-1997 NvE Class "Calorimeter" optimized by introduction of pointers |
24 | for the Module matrix instead of an indexed array. |
25 | 26-sep-1997 NvE Directory /ROOT added to hold the universal ROOT dictionaries |
26 | (dict.h and dict.cc) as generated by "rootcint" for all the |
27 | classes of this RALICE package. |
28 | This will allow automatic installation of the RALICE library |
29 | without running "rootcint". |
30 | 30-sep-1997 NvE 2-body decay added to class Track and invokation of "delete []" |
31 | only performed in case the object exists in the destructors |
32 | of the Calorimeter, Jet and Track classes. |
33 | 02-oct-1997 NvE Installation for MSVC++ added into macro "install" and several |
34 | "return 0.;" statements added in some "Sample" member functions. |
35 | The latter caused MSVC++ compiler errors. |
36 | Also 'int ..=fabs(int..)' changed to 'int ..=int(fabs(int..))' |
37 | in "Cluster::Add()" to prevent G++ warning. |
38 | 03-oct-1997 NvE The above code is now ANSI compatible, but MSVC++ 5.0 still |
39 | gives an error when comp. extensions are switched off (flag /Za). |
40 | The reason is probably an incorrect implementation of the ANSI |
41 | type conversion rules in MSVC++. To satisfy MSVC++ for the moment |
42 | the code in in "Cluster::Add()" has been changed to |
43 | 'int ..=int(fabs(double(int..)))' so that at least a Microsoft |
44 | compatible RALICE.DLL can be produced. As soon as G++ is able |
45 | to produce Microsoft compatible dll's the support for MSVC++ |
46 | will be dropped for ralice.cmz. |
47 | Message to all : USE G++ AS COMPILATION STANDARD ! |
48 | Also CMZ standard adopted to include a "$" in the DECK names |
49 | which contain KEEP definitions. |
50 | 13-oct-1997 NvE Compiler directive for g++ changed in "flogon" and "install" |
51 | to provide warning for each non-ANSI C++ statement. |
52 | Also ROOT libs linked with g++ in "install" in case of |
53 | ROOT loadable shared library creation. |
54 | Unused variables removed in "Calorimeter::add_ring" and |
55 | "Track::decay". |
56 | 14-oct-1997 NvE Strict ANSI requirements dropped for ROOT loadable lib creation |
57 | to avoid many harmless warnings from rootcint generated code. |
58 | Class "Random" added to /GENUTILS and /ROOT updated accordingly. |
59 | 14-oct-1997 NvE Class "Random" extended with user definable distribution and |
60 | /ROOT updated accordingly. |
61 | 19-oct-1997 NvE Class "Random" extended with vector facility for user |
62 | defined dist. and also bug fixed. /ROOT updated accordingly. |
63 | 27-oct-1997 NvE Class "Random" optimised for user definable distribution and |
64 | /ROOT updated accordingly. |
65 | 10-dec-1997 NvE Creation of MSVC++ loadable library introduced in "install". |
66 | 12-dec-1997 NvE Keep and Deck in /ROOT given unique names to enable loading |
67 | of this package together with other packages. |
68 | 20-jan-1998 NvE New ralicedict produced because of new ROOT 1.03/09 version. |
69 | 23-mar-1998 NvE Macro "install" modified to support HP-CC. |
70 | Multiple usage of for-loop index names removed to satisfy HP-CC |
71 | compiler (although the original code was ANSI C++). |
72 | Cluster data just reset to 'empty cluster' in case of cluster |
73 | 'creation' or 'start' for edge module or no-signal module. |
74 | 31-mar-1998 NvE Array index bug fixed in class Jet. |
75 | 03-apr-1998 NvE Jet and Invmass classes optimised by using pointers and |
76 | compiler options /GD and /DWIN32 introduced for msvc++ |
77 | in order to optimize for windows DLL's and ensure correct |
78 | pre-processing in RConfig.h for ROOT library creation. |
79 | 13-apr-1998 NvE ROOTCINT processing implemented in $KUMACS/INSTALL and |
80 | contents of /ROOT updated accordingly. |
81 | Class Vertex added to /TRACKING and classes Track and Jet |
82 | protected against modifying of returned addresses. |
83 | 14-apr-1998 NvE "rm .def" removed for Unix systems in $KUMACS/INSTALL since |
84 | on Unix no .def file is created by ROOTCINT. |
85 | 17-apr-1998 NvE Return type Track& changed to Track* in the get_trk() |
86 | member functions of the Jet and Vertex classes. |
87 | 21-apr-1998 NvE Classes Track, Vertex, Jet, Lorbo and Invmass derived from |
88 | TObject to enable ROOT I/O. |
89 | $KUMACS/FLOGON and $KUMACS/INSTALL updated accordingly. |
90 | 26-apr-1998 NvE Classes Module, Cluster and Calorimeter derived from TObject |
91 | to enable ROOT I/O. |
92 | Functionality of class Calorimeter has also been extended to |
93 | enable re-clustering of original Module signals. |
94 | 28-apr-1998 NvE Decay produced Tracks in class Track stored also into TObjArray |
95 | to allow direct I/O. |
96 | 03-jun-1998 NvE MSVC++ compiler option /DWIN32 removed in $KUMACS/INSTALL |
97 | because of bug fix in ROOT version 2.00. |
98 | Printout of version number introduced in $KUMACS/FLOGON and |
99 | DOC section updated for new email and www address. |
100 | 17-aug-1998 NvE New ALICE coding conventions adopted and automatic marking |
101 | of 'edge modules' introduced in class AliCalorimeter. |
102 | The automatic treatment of edge modules required new member- |
103 | functions EdgeUp() and EdgeDown() in class AliModule. |
104 | 19-aug-1998 NvE Call to LoadMatrix() added in AliCalorimeter::Group() |
105 | to correctly treat different event sizes (i.e. empty events) |
106 | when reading data from input file(s). |
107 | 25-aug-1998 NvE AliCalorimeter::GetModule() introduced to provide quick |
108 | access to all 'fired' modules. |
109 | 27-aug-1998 NvE GetSignal() and GetClusteredSignal() of AliModule now |
110 | return 0 in case the module was marked as dead. |
111 | Because of the above, protection against row=col=0 |
112 | introduced in AliCalorimeter::Group(). |
113 | To enable access of modified calorimeter module data via |
114 | AliCalorimeter::GetModule() after reading in, the "fModules" |
115 | elements are updated in AliCalorimeter::LoadMatrix(). |
116 | 16-sep-1998 NvE Correct deletion of the module matrix introduced in the |
117 | AliCalorimeter destructor and AliCalorimeter::LoadMatrix(). |
118 | 16-oct-1998 NvE New ALICE coding conventions adopted. This resulted in |
119 | modifications in /$KUMACS and /ROOT (.cxx extension instead of .cc) |
120 | and /HEADERS (public class area in front of private). |
121 | #include <iostream.h> added in AliCluster (thanks to A.Zvyagin). |
122 | 19-oct-1998 NvE Protections agains crazy row,col numbers introduced in |
123 | AliCalorimeter (thanks to E. van der Pijll). |
124 | 22-oct-1998 NvE Bug fixed in setting edge values in SetDead() and SetAlive() |
125 | of AliCalorimeter (thanks to E. van der Pijll). |
126 | Also row and column dispersion introduced in AliCluster. |
127 | 24-oct-1998 NvE Memberfunctions DrawModules() and DrawClusters() introduced |
128 | in AliCalorimeter. |
129 | Also AliRandom derived from TObject to enable ROOT I/O. |
130 | 26-oct-1998 NvE DrawModules() and DrawClusters() histogram axes defined such |
131 | that the X and Y axis corresponds to columns and rows resp. |
132 | in AliCalorimeter. This view matches the 'common sense'. |
133 | 06-nov-1998 NvE SetDirectory(0) invoked for the histos created in |
134 | DrawModules() and DrawClusters() to suppress global character |
135 | of the histo pointer. |
136 | 16-nov-1998 NvE New class AliMath implemented in /GENUTILS and /ROOT |
137 | updated accordingly. |
138 | 23-jan-1999 NvE New class AliSignal implemented and AliCalorimeter extended |
139 | to contain veto signal information. |
140 | 25-jan-1999 NvE Most of the private areas modified into protected areas to enable |
141 | the use of inheritance. |
142 | Also support for veto signal information introduced in AliCluster. |
143 | 04-feb-1999 NvE Cluster array for internal use removed in AliCalorimeter; now only |
144 | the "TObjArray* fClusters" is used for performance optimalisation. |
145 | 06-feb-1999 NvE New class AliPosition implemented for universal position handling |
146 | and AliSignal, AliCluster and AliVertex all derived from AliPosition. |
147 | AliModule inherits from AliSignal and arguments of SetPosition() |
148 | and GetPosition() in AliCalorimeter updated to match the AliSignal |
149 | inheritance of AliModule. |
150 | 11-mar-1999 NvE All types changed to Int_t, Float_t etc... in order to guarantee |
151 | portability of all data within the ROOT framework. |
152 | 12-mar-1999 NvE Default destructors added in AliInvmass, AliLorbo and AliSample. |
153 | 30-mar-1999 NvE New base class Ali3Vector introduced for universal 3D vector handling |
154 | and AliPosition derived from it. |
155 | In AliSignal::Reset() memberfunction call introduced instead of setting |
156 | datamembers; this enhances flexibility for base class development. |
157 | 01-apr-1999 NvE "car" introduced as default frame for Ali3Vector::Print(). |
158 | 03-apr-1999 NvE New base class Ali4Vector introduced for universal handling of |
159 | Lorentz 4-vectors. |
160 | Also class AliBoost introduced to perform Lorentz boosts on Ali4Vector |
161 | objects. This class will replace the old AliLorbo. |
162 | Memberfunction Print() renamed to Info() for Ali3Vector, Ali4Vector |
163 | and AliBoost to prevent clash with TObject::Print(). |
164 | 05-apr-1999 NvE Functionality of Ali3Vector and Ali4Vector extended with += etc... |
165 | 06-apr-1999 NvE Class AliTrack derived from Ali4Vector and updated accordingly. |
166 | Also class AliJet modified by deriving it from AliTrack. |
167 | 08-apr-1999 NvE Class AliVertex derived from AliJet and updated accordingly. |
168 | Also recursive printing facilities List() and ListAll() introduced |
169 | for AliTrack, AliJet and AliVertex. |
170 | 09-apr-1999 NvE Obsolete classes AliLorbo and AliInvmass removed. |
171 | A new AliInvmass class is planned to provide invariant mass reconstruction |
172 | functionality to serve e.g. di-lepton and pi0 studies. |
173 | 16-apr-1999 NvE New class AliInvmass introduced for invariant mass and comb. bkg. reconstruction. |
174 | 21-apr-1999 NvE AliBoost::SetGamma() introduced for enhanced accuracy in boost parameters. |
175 | 27-apr-1999 NvE AliModule and AliCluster classes renamed to AliCalmodule and AliCalcluster resp. |
176 | in view of future general Aliroot base classes AliModule and AliCluster. |
177 | 28-jun-1999 NvE Ali4Vector casting changed in AliVertex::Add() and some explicit type conversions |
178 | added and an unused variable removed in AliInvmass to prevent g++ errors/warnings |
179 | (thanks to Eugene van der Pijll). |
959fbac5 |
180 | 23-sep-1999 NvE Errors and error propagation introduced in Ali3Vector in view of track |
181 | reconstruction/extrapolation development. |
182 | Also AliPosition and AliSignal updated accordingly by introducing the |
183 | SetPositionErrors(), SetSignalErrors() and Get memberfunctions. |
184 | Note : Errors (propagation) not yet fully implemented in Ali4Vector and |
185 | AliBoost. |
186 | 24-sep-1999 NvE In Ali4Vector internally the Lorentz invariant (x^mu x_mu) is now stored |
187 | instead of the scalar part x^0. This will yield better precision and |
188 | e.g. automatically conserves the particle identity (mass) in elastic |
189 | collisions. |
190 | 08-oct-1999 NvE GetResultError() introduced in Ali3Vector to provide error information |
191 | on results obtained from operations which yield a scalar. |
192 | Examples are the error on the norm (GetNorm) and the dotproduct (Dot). |
193 | 13-oct-1999 NvE Errors and error propagation fully implemented in Ali4Vector. |
194 | 15-oct-1999 NvE Algorithms for error calculations optimised for accuracy in Ali3Vector |
195 | and Ali4Vector. |
196 | Also particle mass datamember removed from AliTrack, since this is now |
197 | automatically handled via the SetInvariant()/GetInvariant() memberfunctions |
198 | of Ali4Vector. |
199 | 16-oct-1999 NvE Storage of multiple signal values (with errors) implemented in AliSignal |
200 | and AliCalmodule updated accordingly. |
201 | All documentation moved from the .h files into the .cxx files and also |
202 | Copyright and cvs logs introduced. |
203 | Html documentation generated for all classes using the ROOT automatic |
204 | documentation generator facility. |
205 | 18-oct-1999 NvE Classes Ali3VectorObj, Ali4VectorObj and AliPositionObj introduced. |
206 | 20-oct-1999 NvE AliTrack::AddSignal() & co. added to enable relating AliSignals to a certain |
207 | AliTrack object in view of track reconstruction development. |
208 | Also memberfunction Info() added to AliSignal. |
209 | 24-oct-1999 NvE Full error propagation implemented in AliBoost and obsolete memberfunction |
210 | AliBoost::SetGamma() removed. |
211 | 25-oct-1999 NvE Undefined "dtheta2" fixed in Ali3Vector::GetErrors() thanks to Rene Brun. |
212 | 29-oct-1999 NvE Compress() invoked for TObjArray fModules after removal of a single module |
213 | in AliCalorimeter::Reset(). |
214 | Begin- and endpoint introduced for AliTrack. |
215 | 30-oct-1999 NvE Pointer handling introduced instead of object copying in AliCalorimeter::Sortm |
216 | to enhance speed. Also AliCalorimeter::GetModule(row,col) introduced. |
217 | Array creation moved out of default constructor of AliSignal to comply with |
218 | ROOT I/O requirements. |
219 | 31-oct-1999 NvE AliCalmodule::GetSignal() removed; the AliSignal memberfunction is used |
220 | instead and AliCalorimeter::GetSignal() takes care of the dead modules. |
221 | AliCalcluster::Start updated accordingly. |
222 | New memberfunctions GetVetoLevel() and HasVetoHit() introduced |
223 | for AliCalcluster. |
f40f8fbd |
224 | 18-jan-2000 NvE AliCalorimeter updated to remove memory leak and to enable event mixing. |
225 | Module and position pointers and various attributes (like edge values etc...) |
226 | are now saved in separate matrices for the complete calorimeter. |
227 | AliCalmodule and AliCalcluster updated accordingly and also cleaned up |
228 | a little to remove unneeded datamembers. |
229 | 03-mar-2000 NvE AliCalorimeter::SetSignal() updated to provide position for new modules |
230 | and AliCalorimeter::AddSignal() updated to invoke AliCalorimeter::SetSignal() |
231 | in case of new modules instead of having duplicate code. |
232 | (Thanks to Eugene van der Pijll). |
5298c7cf |
233 | 12-mar-2000 NvE Computation of Integer Order Modified Bessel functions I_n(x) and K_n(x) |
234 | introduced in class AliMath. |
235 | Also already existing AliMath facilities converted to Double_t handling |
236 | to enhance flexibility. |
237 | 06-jun-2000 NvE AliMath::K() etc... renamed to AliMath::BesselK() etc... for clarity. |
238 | 07-jun-2000 NvE Vertex linking of AliVertex::Add(AliVertex&) made more sophisticated |
239 | by introduction of automatic generation of connecting track. |
f531a546 |
240 | 26-jan-2001 NvE File RALICELinkDef.h updated to allow the automatic schema evolution |
241 | as introduced in ROOT 3.00/05. |
242 | 27-may-2001 NvE New class AliEvent introduced and RALICELinkDef.h & co. updated accordingly. |
243 | Also RALICELinkDef.h changed back to old schema evolution (i.e. "+" removed) |
244 | because of problems with I/O in ROOT 3.00/06 w.r.t. multiple inheritance. |
245 | 29-may-2001 NvE Position reset added in AliVertex::Reset(). |
246 | 01-jun-2001 NvE Memberfunctions Add() renamed explicitly to AddTrack(), AddJet() and |
247 | AddVertex() in AliJet and AliVertex. |
248 | 03-jun-2001 NvE Treatment of masshypotheses introduced in AliTrack. |
249 | 04-jun-2001 NvE CVS Log text and keyword replaced by Id in .cxx files and C++ comment |
250 | indicator /* ... */ replaced by // in the Id record of the .h files |
251 | to prevent problems. |
252 | 06-jun-2001 NvE CVS Date keyword introduced in 'Modified' field in .cxx files so that |
253 | the modification date is updated automatically in the html docs. |
e0a93fae |
254 | 09-jun-2001 NvE Script mklibs.bat modified to match its new location in the SCRIPTS |
255 | subdirectory and file RALICEHeaders.h moved back to the RALICE |
256 | directory again to enable universal installation scripts. |
257 | Also name AliEvent.cxx added in Makefile. |
d071d629 |
258 | 11-jun-2001 NvE ResultError correctly set in GetMomentum() of AliTrack and AliJet. |
259 | 12-jun-2001 NvE Error calculation improved for spherical and cylindrical coord. |
260 | in Ali3Vector::GetErrors(). |
261 | 13-jun-2001 NvE Memberfunctions GetVecTrans() and GetVecLong() introduced for |
262 | Ali3Vector and Ali4Vector. |
263 | Also GetScaTrans(), GetScaLong() and GetPseudoRapidity() introduced |
264 | for Ali4Vector to provide a basis for e.g. E_trans and E_long calc. |
265 | Memberfunctions GetPt(), GetPl(), GetEt(), GetEl() and GetMt() |
266 | introduced for AliTrack and AliJet. |
267 | For AliTrack there is an additional GetMt(j) to provide the Mt |
268 | value for the jth mass hypothesis. |
8adaf597 |
269 | 14-jun-2001 NvE Memberfunction GetRapidity() introduced for AliTrack and AliJet |
270 | and accuracy improved in Ali3Vector::GetPseudoRapidity(). |
f935b777 |
271 | 27-jun-2001 NvE Overloaded memberfunction names Add(AliJet*) and Add(AliVertex*) corrected |
272 | into AddJet(AliJet*) and AddVertex(AliVertex*) in class AliVertex. |
c1f25d1d |
273 | 29-jun-2001 NvE TrackCopy mode introduced in AliJet. |