10-aug-2005 NvE AliSignal::GetSignal extended with mode=8 to support dead flag of...
[u/mrichter/AliRoot.git] / RALICE / history.txt
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
4// History of updates //
604-jul-1997 NvE First release of the package
711-jul-1997 NvE Class Invmass added to /GENUTILS and directories /PHYSICS
8 and /TRACKING created to hold Jet and Track classes resp.
915-aug-1997 NvE Pilot patch *RALICE removed and automatic installation
10 now completely performed by pure CMZ commands in the
11 INSTALL macro.
1212-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.
1720-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.
2123-sep-1997 NvE Macro "install" modified to also enable automatic installation
22 of a G++ or ROOT loadable shared library 'ralice.sl'.
2324-sep-1997 NvE Class "Calorimeter" optimized by introduction of pointers
24 for the Module matrix instead of an indexed array.
2526-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".
3030-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.
3302-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.
3803-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.
5013-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".
5614-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.
5914-oct-1997 NvE Class "Random" extended with user definable distribution and
60 /ROOT updated accordingly.
6119-oct-1997 NvE Class "Random" extended with vector facility for user
62 defined dist. and also bug fixed. /ROOT updated accordingly.
6327-oct-1997 NvE Class "Random" optimised for user definable distribution and
64 /ROOT updated accordingly.
6510-dec-1997 NvE Creation of MSVC++ loadable library introduced in "install".
6612-dec-1997 NvE Keep and Deck in /ROOT given unique names to enable loading
67 of this package together with other packages.
6820-jan-1998 NvE New ralicedict produced because of new ROOT 1.03/09 version.
6923-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.
7431-mar-1998 NvE Array index bug fixed in class Jet.
7503-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.
7913-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.
8314-apr-1998 NvE "rm .def" removed for Unix systems in $KUMACS/INSTALL since
84 on Unix no .def file is created by ROOTCINT.
8517-apr-1998 NvE Return type Track& changed to Track* in the get_trk()
86 member functions of the Jet and Vertex classes.
8721-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.
9026-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.
9428-apr-1998 NvE Decay produced Tracks in class Track stored also into TObjArray
95 to allow direct I/O.
9603-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.
10017-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.
10419-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).
10725-aug-1998 NvE AliCalorimeter::GetModule() introduced to provide quick
108 access to all 'fired' modules.
10927-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().
11616-sep-1998 NvE Correct deletion of the module matrix introduced in the
117 AliCalorimeter destructor and AliCalorimeter::LoadMatrix().
11816-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).
12219-oct-1998 NvE Protections agains crazy row,col numbers introduced in
123 AliCalorimeter (thanks to E. van der Pijll).
12422-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.
12724-oct-1998 NvE Memberfunctions DrawModules() and DrawClusters() introduced
128 in AliCalorimeter.
129 Also AliRandom derived from TObject to enable ROOT I/O.
13026-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'.
13306-nov-1998 NvE SetDirectory(0) invoked for the histos created in
134 DrawModules() and DrawClusters() to suppress global character
135 of the histo pointer.
13616-nov-1998 NvE New class AliMath implemented in /GENUTILS and /ROOT
137 updated accordingly.
13823-jan-1999 NvE New class AliSignal implemented and AliCalorimeter extended
139 to contain veto signal information.
14025-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.
14304-feb-1999 NvE Cluster array for internal use removed in AliCalorimeter; now only
144 the "TObjArray* fClusters" is used for performance optimalisation.
14506-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.
15011-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.
15212-mar-1999 NvE Default destructors added in AliInvmass, AliLorbo and AliSample.
15330-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.
15701-apr-1999 NvE "car" introduced as default frame for Ali3Vector::Print().
15803-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().
16405-apr-1999 NvE Functionality of Ali3Vector and Ali4Vector extended with += etc...
16506-apr-1999 NvE Class AliTrack derived from Ali4Vector and updated accordingly.
166 Also class AliJet modified by deriving it from AliTrack.
16708-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.
17009-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.
17316-apr-1999 NvE New class AliInvmass introduced for invariant mass and comb. bkg. reconstruction.
17421-apr-1999 NvE AliBoost::SetGamma() introduced for enhanced accuracy in boost parameters.
17527-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.
17728-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 18023-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.
18624-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.
19008-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).
19313-oct-1999 NvE Errors and error propagation fully implemented in Ali4Vector.
19415-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.
19916-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.
20518-oct-1999 NvE Classes Ali3VectorObj, Ali4VectorObj and AliPositionObj introduced.
20620-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.
20924-oct-1999 NvE Full error propagation implemented in AliBoost and obsolete memberfunction
210 AliBoost::SetGamma() removed.
21125-oct-1999 NvE Undefined "dtheta2" fixed in Ali3Vector::GetErrors() thanks to Rene Brun.
21229-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.
21530-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.
21931-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 22418-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.
22903-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 23312-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.
23706-jun-2000 NvE AliMath::K() etc... renamed to AliMath::BesselK() etc... for clarity.
23807-jun-2000 NvE Vertex linking of AliVertex::Add(AliVertex&) made more sophisticated
239 by introduction of automatic generation of connecting track.
f531a546 24026-jan-2001 NvE File RALICELinkDef.h updated to allow the automatic schema evolution
241 as introduced in ROOT 3.00/05.
24227-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.
24529-may-2001 NvE Position reset added in AliVertex::Reset().
24601-jun-2001 NvE Memberfunctions Add() renamed explicitly to AddTrack(), AddJet() and
247 AddVertex() in AliJet and AliVertex.
24803-jun-2001 NvE Treatment of masshypotheses introduced in AliTrack.
24904-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.
25206-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 25409-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 25811-jun-2001 NvE ResultError correctly set in GetMomentum() of AliTrack and AliJet.
25912-jun-2001 NvE Error calculation improved for spherical and cylindrical coord.
260 in Ali3Vector::GetErrors().
26113-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 26914-jun-2001 NvE Memberfunction GetRapidity() introduced for AliTrack and AliJet
270 and accuracy improved in Ali3Vector::GetPseudoRapidity().
f935b777 27127-jun-2001 NvE Overloaded memberfunction names Add(AliJet*) and Add(AliVertex*) corrected
272 into AddJet(AliJet*) and AddVertex(AliVertex*) in class AliVertex.
c1f25d1d 27329-jun-2001 NvE TrackCopy mode introduced in AliJet.
79830a7e 27402-jul-2001 NvE Misplaced statement corrected in AliJet::SetNtinit().
f34f4acb 27503-jul-2001 NvE Protections added in AliJet::GetTrack() and AliVertex::GetVertex() and
276 VertexCopy introduced in AliVertex.
277 Naming facility introduced in AliCalorimeter in order to identify
278 different calorimeter systems in an event structure.
279 Storage of jets introduced in AliVertex on the same footing as the
280 storage of (secondary) vertices.
7849a8ab 28104-jul-2001 NvE Storage of calorimeters introduced in AliEvent and ResetVertices()
282 added to AliVertex.
35044448 28305-jul-2001 NvE Clone() facility used in AddTrack() etc... of AliEvent & co. instead of
284 "new" in the case of TrackCopy etc... This in order to enable 'permanent'
285 AliTrack etc... storage in AliEvent & co.
286 Also (Ali4Vector&) casting stmt. in AliVertex::ResetVertices() changed
287 to make it ANSI compatible for all compilers/platforms.
43bfa5be 28809-jul-2001 NvE Support for impact points and user identifier introduced in AliTrack.
289 Also user identifier facility introduced for AliJet and AliVertex.
29012-jul-2001 NvE Memberfunction GetDistance() introduced for AliPosition and support for
291 point of closest approach introduced in AliTrack.
2693cb4e 29224-jul-2001 NvE Support for Chi2 and NDF information of track fit introduced in AliTrack.
6516b62d 29301-dec-2001 NvE SetOwner() introduced for certain TObjArray's in AliCalcluster, AliEvent,
294 AliInvmass, AliJet, AliTrack and AliVertex to adapt to the new memory
295 management of ROOT 3.01 (and later) in case of reading trees.
29606-dec-2001 NvE Memory usage optimised for AliVertex & co. and memory leak due to
297 cloning solved.
29807-dec-2001 NvE ClassDef() and ClassImp() statements introduced for AliSample.
29917-dec-2001 NvE Copy constructor and Init() memberfunction introduced for AliTrack & co.
30014-jan-2002 NvE New schema evolution activated via the "+" behind the classnames
301 in RALICELinkDef.h. Note that the new schema evolution only works
302 correctly for ROOT version 3.02/07 and later.
7a5c405b 30314-feb-2002 NvE Support for name tag introduced in AliSignal to indicate the kind of signal.
b31dbd22 304 Missing comment lines added in SetName() and GetName() of AliCalorimeter and AliSignal.
a37bb40e 30519-mar-2002 NvE AliVertex::Draw() introduced to enable 3D event display.
4575fcea 30625-apr-2002 NvE Projectile and target specifications introduced in AliEvent.
8e8e6c7f 30726-apr-2002 NvE AddVetoSignal(AliSignal) introduced in AliCalorimeter and AliCalcluster
308 to provide more flexibility and allow automatic calculation of
309 hit association confidence level based on position uncertainties.
31029-apr-2002 NvE Memberfunction GetNvalues() and copy constructor introduced in AliSignal.
31125-jun-2002 NvE Memberfunction SetOwner() introduced in AliJet, AliVertex and AliEvent to allow
312 to set ownership of "added objects" in the case of reading data from a file.
313 In this way possible memory leaks can always be prevented.
314 Also automatic extrapolation and confidence level calculation of associated
315 veto hits introduced in AliCalorimeter and AliCalcluster.
9f8f3e10 31628-oct-2002 NvE "Riostream.h" introduced to replace the standard C++ includes and
317 static_cast<int> introduced in AliVertex::Draw to prevent a warning
318 message for the new gcc compiler version.
fdbea0ce 31925-nov-2002 NvE User defined particle id code introduced in AliTrack.
32027-nov-2002 NvE New class AliCollider introduced and RALICEHeaders.h and RALICELinkdef.h
321 updated accordingly.
4b570fab 32229-nov-2002 NvE Typo corrected in AliCollider.cxx.
da17f667 32330-nov-2002 NvE Vertex position errors based on fResolution introduced in AliCollider.cxx.
32402-dec-2002 NvE Facility for user defined projectile and target particle ID introduced in
325 AliEvent and projectile/target information provided in the AliCollider created
326 event structure.
45575004 32711-dec-2002 NvE Copyright notice added into AliCollider.h and AliCollider.cxx.
328 Also small (integer division) modification made in AliCollider.cxx
329 to prevent an innocent warning of the g++ compiler under Linux.
a0fd4097 33008-jan-2003 NvE Delete statements for fMatrix[i] and fPositions[i] added in the dtor of
331 AliCalorimeter to fix a memory leak.
33209-jan-2003 NvE Different modes introduced for AliCalorimeter::Reset() to prevent memory
333 leaks in reading back AliCalorimeter objects from a data file.
334 Also unnecessary "LoadMatrix()" statement removed in AliCalorimeter::Reset().
335 Irrelevant cout statement removed from AliEvent constructor.
84bb7c66 33601-feb-2003 NvE Memberfunction Info() renamed to Data() in various classes in order to
337 prevent problems w.r.t. TObject::Info due to probable root/cint bug.
33803-feb-2003 NvE File "gcclib" added to subdirectory "scripts" to provide Ralice installation
339 script for Linux machines using gcc.
340 Class AliObjMatrix introduced.
dafe31a2 34108-feb-2003 NvE Class AliSignal modified such that the maximum number of signal slots is
342 handled completely dynamically at runtime.
343 Memberfunctions SetSignal() and AddSignal() of class AliCalmodule declared
344 virtual to enable inheritance.
34509-feb-2003 NvE Class AliCalcluster derived from AliSignal to enable automatic signal setting
346 for various rings of modules around the cluster center.
fdadc78a 34710-feb-2003 NvE Class AliSignal modified such that also signals without errors can be stored.
1ce8a857 348 This may minimise memory occupation and output file size.
34918-feb-2003 NvE Memberfunction ShowCalorimeters() introduced in AliEvent to display an overview of all
350 available calorimeter systems.
351 Date/time format changed and ShowCalorimeters() invoked in AliEvent::HeaderData().
c72198f1 35208-mar-2003 NvE Compiler option /GR introduced for MSVC++ in mklibs.bat to explicitly enable
353 the C++ RTTI. This prevents a warning when creating shared libraries
354 using the "old streamer method" (i.e. NO "+" behind the class names
355 in the Linkdef file).
35610-mar-2003 NvE AliPosition datamembers of AliTrack changed into AliPositionObj* to enable
357 minimisation of memory occupation and output file size in case a track
358 has not all attributes set.
35913-mar-2003 NvE Memberfunction SetZero() introduced for Ali3Vector and Ali4Vector.
36020-mar-2003 NvE Statement #include "Riostream.h" moved from header file into implementation file
361 for all classes and MSVC compiler option /Za replaced by /Ze in order to prevent
362 ANSI compliant compiler problems.
36315-apr-2003 NvE Waveform histogram introduced in AliSignal.
36429-apr-2003 NvE Memberfunction MakeCopy introduced for AliSignal and AliCalmodule.
365 This memberfunction enables automatic creation of new objects of the
366 correct type depending on the argument type, a feature which may be very useful
367 for containers like AliCalorimeter when adding objects in case the
368 container owns the objects. This feature allows e.g. AliCalorimeter
369 to store either AliCalmodule objects or objects derived from AliCalmodule,
370 provided these derived classes also have a proper MakeCopy memberfunction.
37117-jun-2003 NvE All TString objects "s" replaced by "s.Data()" in cout statements to comply
372 with MSVC++7.NET compiler and allow mixing with MSVC++6 libraries.
373 The classes in which these modifications were made are Ali3Vector, Ali4Vector,
374 AliSignal and AliEvent.
37520-jun-2003 NvE Copy constructor introduced for nearly all classes and also all destructors
376 explicitly declared virtual.
37711-jul-2003 NvE Functionality of AliObjMatrix extended by enabling removal of objects and
378 introduction of a linear object array for fast looping over the stored objects.
37915-aug-2003 NvE Usage of TMCParticle removed from AliCollider; only Pythia intrinsic functionality
380 is used.
1fbffa23 38101-sep-2003 NvE Explicit initialisation of TObject() introduced in default constructor of AliObjMatrix.
38216-sep-2003 NvE Parent track pointer introduced for AliTrack.
383 Functionality of AliSignal extended and support for gains and offsets introduced.
384 Gain datamember removed from AliCalmodule.
38517-sep-2003 NvE Memberfunction AddTrack with second argument "copy" of AliJet moved into the
386 "protected" area to avoid confusion among users.
387 The user has now only access to the AddTrack memberfunction with only the track
388 (pointer) as argument.
38923-sep-2003 NvE New classes AliAttrib and AliAttribObj introduced to centralise the handling of
390 name, gain, offset, edge and dead value attributes for a certain slot.
391 Classes AliSignal and AliCalmodule updated accordingly.
39228-sep-2003 NvE Facility for automatic gain etc... correction introduced in AliSignal::GetSignal().
39330-sep-2003 NvE New version of AliCalorimeter introduced, making use of AliObjMatrix and AliAttribObj
394 and supporting full treatment of module gains, offsets etc...
395 Also class AliCalcluster updated to take gain etc... correction into account.
39602-oct-2003 NvE Memberfunction Load() moved from Ali3VectorObj and Ali4VectorObj to Ali3Vector
397 and Ali4Vector respectively. This allows to use this memberfunction also in
398 all the derived classes (e.g. AliPosition, AliSignal, AliTrack, etc...).
399 Therefore the Load() memberfunction has been removed from AliPositionObj.
52c3ce02 40003-oct-2003 NvE Typos fixed in AliCalorimeter.cxx.
7afea6b2 401 Also memberfunction MakeCopy introduced in class AliCalorimeter.
1c01b4f8 40207-oct-2003 NvE Arguments of SetSignal and AddSignal memberfunctions of AliCalmodule corrected
403 to comply with the corresponding virtual functions of AliSignal.
404 AliCalorimeter modified accordingly.
40509-oct-2003 NvE Argument of all MakeCopy memberfunctions removed to obey the ANSI C++ rules for
406 virtual functions and to prepare for a common base class.
407 Due to the fact that not all compilers seem to accept the standard ANSI rule
408 that a virtual function is allowed to differ in return type from the corresponding
409 virtual function in the base class, the MakeCopy() memberfunctions have all been
410 given a return type of TObject*.
411 Also AliAttrib::Data renamed to AliAttrib::List to prevent violation of ANSI virtual
412 function rules and class AliSignal updated accordingly.
413 Memberfunction ResetPosition() moved from AliSignal to AliPosition.
414 Explicitly declared all memberfunctions virtual in the derived classes in case
415 the corresponding memberfunctions were also declared virtual in the base class.
416 Various memberfunctions which were declared virtual but were actually not meant
417 to be overridden declared as non-virtual in various low-level classes like
418 Ali3Vector, Ali4Vector, AliPosition etc...
41913-oct-2003 NvE Argument 'npt' of AliCollider::MakeEvent also made optional.
42024-oct-2003 NvE Private memberfunction Dump of AliTrack and AliVertex renamed to Dumps in order
421 not to override the Dump memberfunction of TObject.
422 Also definition of AliVertex::Draw slightly modified to comply with the standard
423 ANSI virtual function rules concerning TObject::Draw.
424 Invokation of ClassName() used in printout of AliSignal::Data to make the output
425 information more generic.
42625-oct-2003 NvE Memberfunction AddCalorimeter of AliEvent replaced by memberfunction AddDevice
427 to make the functionality more generic.
428 To comply with the enhanced flexibility of AliEvent::AddDevice the class
429 AliCalorimeter has been derived from TNamed and the MakeCopy() memberfunction
430 has been replaced by Clone() to override the default one of TNamed.
431 The specific GetName and SetName memberfunctions of AliCalorimeter have been removed.
43226-oct-2003 NvE Class AliSignal derived from TNamed and MakeCopy() memberfunction replaced by Clone()
433 like was done for AliCalorimeter.
434 The latter was also done for AliCalmodule and AliAttribObj.
387a745b 43529-oct-2003 NvE Obsolete include of AliCalorimeter.h removed from AliEvent header file.
43611-nov-2003 NvE Double_t dum=GetScalar() replaced by e[0]=GetScalar() in Ali4Vector.cxx to prevent
437 a warning for the gcc compiler (thanks to Thomas Burgess).
438 AliJet derived from TNamed instead of TObject to allow identification via name.
43912-nov-2003 NvE fDaytime datamember of AliEvent changed from TDatime to TTimeStamp in order to
440 obtain nanosecond precision. Setting of date and time via a TDatime argument is
441 still supported to provide backward compatibility.
44213-nov-2003 NvE Invokation of AliAttrib memberfunction Data() replaced by List() in the example
443 in AliAttrib.cxx (was just a typo; thanks Adam Bouchta).
444 Also test on pointer value introduced in AliAttrib::GetSlotIndex to prevent
445 crash when first slot is empty (thanks to Adam Bouchta).
44621-nov-2003 NvE Variable names of type "const" started with the character "k" in various
447 memberfunctions of AliMath in order to comply with the strict Alice
448 coding conventions.
176f88c0 44922-nov-2003 NvE Support for various computation modes introduced in AliMath::Prob.
45023-nov-2003 NvE New memberfunctions GetBetaVector(), GetBeta() and GetGamma() introduced in Ali4Vector.
45103-dec-2003 NvE Message removed from AliEvent::GetDevice in case there are no devices present.
5f25234b 45205-dec-2003 NvE Memberfunction SetStable introduced in AliCollider for the user's convenience.
45308-dec-2003 NvE AliTrack derived from TNamed to enhance labeling flexibility and also specific
454 Clone memberfunction introduced to enable storage of derived objects in AliJet & co.
455 Also specific Clone memberfunctions introduced for AliJet, AliVertex and AliEvent and
456 for the already existing specific Clone memberfunctions the default argument was set
457 to the empty string "".
45815-dec-2003 NvE Datamembers fNdec and fNsig removed from AliTrack since these data are now retrieved
459 directly from the corresponding arrays.
460 Support for hypothesis probability introduced in AliTrack and old mass hypothesis
461 machinery extended to provide now full track hypotheses.
46218-dec-2003 NvE Support for object references from the various signal slots introduced in AliSignal.
463 Since this is mainly intended for "backward references" to AliTrack objects,
464 the AliTrack class has been slightly updated for this to provide pointer consistency
465 in case the corresponding AliTrack object is deleted.
da94fdbd 46619-dec-2003 NvE Slight modification in AliVertex.h and AliAttribObj.cxx to prevent gcc compiler
467 warning concerning an unused variable.
47dddbe4 46822-dec-2003 NvE Event selection introduced in AliCollider.
46924-dec-2003 NvE Some cosmetics in printout of AliVertex, AliEvent and AliCollider.
470 Support for spectator tracks introduced in AliCollider.
47128-dec-2003 NvE Facility introduced in AliCollider to set minimal momentum for spectator tracks
472 to be stored.
4bb13277 47306-feb-2004 NvE "char* name" changed to "const char* name" in all specific Clone memberfunctions
474 to prevent compiler warnings on Sun.
475 Memberfunction Set() of TTimeStamp used in AliEvent instead of setting the date/time
476 via the TTimeStamp constructor. This is only possible with ROOT version 3.10/02 or later,
477 since for earlier versions the TTimeStamp::Set memberfunctions were erroneously declared
478 private.
6aff9852 47911-feb-2004 NvE In script "gcclib" the option -Wno-long-long added to prevent warnings from the usage
480 of type "long long" in Rtypes.h
48112-feb-2004 NvE In AliCollider::MakeEvent the statement "char* name" was replaced by "char name[16]" to
482 comply with TPythia6 convention. Also the hardcoded values of the p and n masses have
483 been replaced by masses obtained from the Pythia system via a call to GetPMAS().
484 Because of a bug in TPythia6 the function Pymass() couldn't be used directly.
48513-feb-2004 NvE AliCollider::GetPyname introduced to provide a correctly stripped character string
486 for the particle names. The name returned by TPythia6::Pyname contains trailing
487 characters due to an incorrect stripping process.
488 AliCollider::MakeEvent was updated accordingly to make use of this new memberfunction.
e604d3a8 48904-mar-2004 NvE Functionality of AliObjMatrix extended to provide the number of references and
490 (row,col) indices of all the occurrences of the stored objects.
491 Also an additional memberfunction AliObjMatrix::RemoveObject introduced to allow more
492 flexibility in specifying objects to be removed.
d0a8ef71 49309-mar-2004 NvE Additional memberfunction AliObjMatrix::RemoveObject renamed to RemoveObjects to prevent
494 confusion and ambiguity in usage.
495 Linking facility of AliSignal extended by enabling multiple links to a specific signal slot.
496 Also call to AliSignal::ResetLink changed to AliSignal::ResetLinks() in the dtor
497 of AliTrack to adopt the extended AliSignal linking facility and output in
498 AliTrack::ListAll() limited to only the referring signal slots to prevent long output lists.
e313997a 49912-mar-2004 NvE Additional "cout << endl;" in front of AliCollider initialisation message in order to always
500 have the initialisation message starting on a new line. On some systems the fortran
501 carriage control of the pure Pythia doesn't get treated correctly.
261c0caf 50204-apr-2004 NvE SetMass() invoked from AliTrack::Set3Momentum to get also the energy properly initialised.
50309-apr-2004 NvE Support for specification of unit scale introduced in AliPosition.
50419-apr-2004 NvE Memberfunction GetPrimed introduced for Ali3Vector.
50504-may-2004 NvE Various memberfunctions declared "const" to satisfy the strict Alice coding rules
506 and also to allow better compiler optimisation.
c5555bc0 50712-may-2004 NvE Track reference-point introduced in AliTrack.
50802-jun-2004 NvE Memberfunction GetUnprimed introduced for Ali3Vector.
50917-jun-2004 NvE New class AliHelix introduced and "macgcclib" added to create ralice libs on MAC.
7a086578 51024-jun-2004 NvE Coefficient kp7 changed from 7.4e-5 to 7.4e-6 in AliMath::BesselK0 to correct typo
511 (thanks Josh de Bever).
512 Typos corrected (i.e. abs() replaced by fabs() in several places) in AliHelix
513 to satisfy the Intel compiler (thanks Fons Rademakers).
51425-jun-2004 NvE Protection introduced in AliSignal::GetNlinks.
51529-jun-2004 NvE New class AliDevice introduced.
516 New memberfunctions and datamembers introduced in AliEvent to support investigation
517 and ordering of hits of various (classes of) devices.
b055c99d 51801-jul-2004 NvE AliCalorimeter derived from AliDevice to extend functionality (e.g. allow definition
519 of sets of calorimeters and investigate all the hits of a certain set via the
520 AliEvent structure). To prevent matrix swapping restrictions, the memberfuctions
521 SetSwapMode and GetSwapMode of AliCalorimeter have been renamed to SetMatrixSwapMode
522 and GetMatrixSwapMode, respectively.
523 Examples in the AliEvent.cxx documentation updated accordingly.
524 Backward links reset for non-owned hits in AliDevice destructor.
7b825f44 52506-jul-2004 NvE AliCalorimeter hit I/O only via the linear array to decrease filesize on disk
526 and improve I/O speed.
527 Internal temp. arrays used for hit sorting in AliDevice and AliEvent and array
528 pointers returned instead of the arrays themselves. This will provide more
529 flexibility in usage.
530 Sorting and clustering procedures in AliCalorimeter modified to use TObjArray pointers
531 to enable direct use of the AliDevice linear sorting facility.
532 Default for AliDevice changed such that now all registered hits are by default owned
533 by the AliDevice object.
2cb7369d 53406-oct-2004 NvE Full support for data access via slotname specification introduced in AliAttrib and AliSignal.
965bd237 53507-oct-2004 NvE Docs of AliAttrib and AliSignal updated for new data access via slotname specification.
53612-oct-2004 NvE Display facility introduced in AliDevice and device backward linking updated for
537 new "owning device" in AliSignal.
53813-oct-2004 NvE Hit investigation facilities extended in AliDevice and AliEvent.
53915-oct-2004 NvE Optimisation of MC parameters for nucleus-nucleus and astrophysics processes introduced
540 in AliCollider. Also facilities added to provide full user control.
4f368c8c 54126-nov-2004 NvE Printout of UniqueID added in AliSignal::Data() and AliEvent::ShowDevices() in view of
542 addressing specific signals or devices during data analysis.
543 Memberfunction GetIdHit introduced in AliDevice and AliEvent and AliJet::GetIdTrack
544 optimised for speed.
545 Memberfunction GetIdDevice introduced in AliEvent.
6a8254a0 54627-nov-2004 NvE Protection for j<1 introduced in AliSignal::SetWaveform().
547 The waveforms in AliSignal have now become completely decoupled from signal slots,
548 so support for setting waveforms by specifying a slotname has been removed.
549 Printout info in AliSignal::Data() and AliSignal::List() improved and memberfunctions
550 ListWaveform() and GetWaveformIndex() introduced in AliSignal.
9e6577df 55128-nov-2004 NvE User definable status word introduced in AliDevice to allow indication of different
552 versions of readout electronics etc...
75ad8ddd 55329-nov-2004 NvE Additional sub-directories (e.g. wa98) introduced which contain Ralice implementations
554 to serve data analysis efforts for various experiments.
55501-dec-2004 NvE Install scripts like e.g. "gcclib" renamed to "gcclib.sh" etc... in /scripts.
556 The old scripts (i.e. without the .sh extension) will be deleted in due time.
74c40ae5 55712-jan-2005 NvE Bug fix in AliAttrib::GetSlotIndex() by exiting as soon as matching name is found.
a80c27d9 55820-jan-2005 NvE Modification in AliSignal::GetNwaveforms() to return last index instead of array
559 size to take into account the fact that a TObjArray always gets a default size
560 of 16 when reading data from a file.
561 Also the standard ROOT file libNew.lib is now automatically renamed to libNew.lix
562 in the Ralice windows installation script mklibs.bat to prevent linking with
563 this libNew.lib which is inconsistent with the binary ROOT executable release.
3ea81e9c 56409-feb-2005 NvE New class AliTimestamp introduced to support timestamp information for
565 astrophysical research (i.e. Julian dates etc...) without the restrictions
566 of class TTimeStamp.
56710-feb-2005 NvE AliEvent modified such that it is derived from AliTimestamp.
568 This will allow events to be synchronised with astrophysical phenomena without
569 the restrictions imposed by TTimeStamp.
570 All existing user functions have been kept to provide full backward compatibility
571 in usage. However, a side effect of the new structure is that when reading data files
572 containing the old event structures, the original date/time stamp information is lost and
573 replaced by the date/time at the moment of reading the data.
574 This implies that to restore the original event date/time, the data files have to
575 be re-created. This I/O backward incompatibility could not be avoided in the
576 effort of eliminating the TTimeStamp restrictions.
30a5155c 57704-mar-2005 NvE Installation scripts named amdgcclib.sh introduced in all /scripts directories to enable
578 shared library creation on AMD 64 (Athlon and Opteron) machines.
ea0b5b7f 57931-mar-2005 NvE AliObjMatrix derived from TNamed instead of from TObject to allow specification of
580 a name and title for this class.
58113-apr-2005 NvE New memberfunctions SetFitDetails and GetFitDetails introduced in AliTrack
582 to enable a versatile facility to store details of various fit procedures
583 for a certain track. This new facility is based on the original idea of Adam Bouchta.
584 Destructor of AliSignal modified to remove the corresponding AliSignal instance
585 first from all related tracks before deleting the link matrix area.
58614-apr-2005 NvE Functionality of ShowDevices extended in AliEvent. Also memberfunction HeaderData() modified
587 to prevent long output lists when many devices (and/or tracks) are present.
588 New memberfunction ShowTracks introduced in AliJet and memberfunction Data() updated.
58918-apr-2005 NvE New memberfunction GetTracks introduced in AliJet to provide various track selections.
325b076c 59019-apr-2005 NvE Memberfunctions GetNtracks and GetTracks of AliJet extended in functionality.
f67e2651 59120-apr-2005 NvE Id of owning device added to the output of AliSignal::Data().
a7dc0627 59210-may-2005 NvE Support for timestamps introduced in AliTrack and AliPosition.
593 Memberfunction GetX introduced in Ali3Vector for easy component access.
594 Picosecond support and calculation of time difference introduced in AliTimestamp
595 to enable investigation of both very short (i.e. time of flight analysis in
596 particle physics experiments) and very long (i.e. astrophysical phenomena)
597 time intervals.
95cfc777 59817-may-2005 NvE Functionality of AliTimestamp extended w.r.t. treatment of time intervals and
599 accuracy bug fixed in the calculation of time difference.
ee26083f 60019-may-2005 NvE AliTimestamp* pointer arguments supported in AliTimestamp::GetDifference for convenience
601 when investigating e.g. TOF or trigger times for tracks and/or hits in analysing
602 AliEvent structures.
603 Also GetMJD() invoked in GetDifference to ensure to always have updated Julian parameters.
a57b6095 60422-may-2005 NvE Class AliMath extended to provide full distribution functions of several standard
605 distributions (e.g. Binomial, Poisson, Gauss) and key statistics (e.g. Chi-squared,
606 Student's T, F-test) in view of analysis using Bayesian logic.
607 The various distributions are provided as TF1 objects.
608 In addition, functions to provide the P-values of the various key statistics are also
609 introduced to allow a classical frequentist analysis as well.
cc45d09c 61025-may-2005 NvE Declaration of unused variable pi removed in AliMath::StudentDist and explicit double
611 specification of integer first argument to pow() in AliMath::FratioPvalue in order
612 to prevent messages from the gcc compiler (thanks Dipo, Philippe and Peter).
f4d1f676 61302-jun-2005 NvE Bug fix in copy ctor of AliPosition and beginpoint etc... setting of AliTrack.
614 In AliTrack all points are now set after first deleting the existing AliPositionObj
615 object instead of using the Ali3Vector::Load() memberfunction.
616 The bug arose because of the extension of AliPosition with the possibility to
617 store an AliTimestamp. This made AliPosition differ from Ali3Vector w.r.t. datamembers.
618 Also "cout << endl;" introduced after the Pylist() call in AliCollider in order to
619 separate the Pythia event listing from subsequent output due to the mis-interpretation
620 of Fortran carriage-control characters on some systems.
5481c137 62117-jun-2005 NvE New class AliJob introduced to provide a flexible (physics) analysis environment.
622 Bug (forgotten ps transfer in AliTimestamp::SetTJD) fixed (thanks Federico Carminati).
1c9018c6 62322-jun-2005 NvE Specific job folder recursively removed from the generic AliJob folder environment
624 in the AliJob destructor before actually deleting the specific job folder itself.
625 Also main object pointer updated in case of a match with removal of object(s) from
626 the specific job environment.
62723-jun-2005 NvE Creation of specific job folder made optionally in AliJob.
9f575717 62824-jun-2005 NvE Selection/overruling of specific job folder creation introduced in AliJob::ExecuteJob
629 and the AliJob (derived) instance explicitly removed from the ListOfTasks to prevent
630 ROOT crashing when closing after execution.
b721efb7 63102-aug-2005 NvE Support for explicit (de)calibration functions introduced in AliAttrib.
63203-aug-2005 NvE AliSignal::GetSignal has been extended to support various (de)calibration facilities.
633 Printout is now also provided in AliSignal::List when only calibration data exist
634 for AliDevice (or derived) objects.
64c21700 63505-aug-2005 NvE Typos fixed in AliAttrib::GetCalFunction and AliAttrib::GetDecalFunction which
636 erroneously always returned a null pointer.
216d1d91 63710-aug-2005 NvE AliSignal::GetSignal extended with mode=8 to support dead flag of parent device
638 in conjunction with the dead flag of the signal itself.
1c9018c6 639
cc45d09c 640
a7dc0627 641