Hi Xavier, Thanks for sending this interesting evaluation of the Users Guide. Being back from FNAL, I have to catch up with my mail and I will answer with more details later. I just want to warn readers who have never seen this manual that: - the version of the manual you received from me was printed for the CERN School of Computing in September. This manual is just a very preliminary version not to be distributed at a large scale. We gave it to a few people to get feedback, but the manual is not in a shape to be distributed to thousands of people. - We are currently working on the manual. There are several changes with respect to the version you have. - Suzanne Panacek will announce the manual at the end of this month, once we have corrected several mistakes and implemented a few more chapters. We will post the corresponding PDF file on our web site. - Meanwhile, please, do not ask me or roottalk where you can pick the manual. Rene Brun GENTIT Francois-Xavier DAPNIA wrote: > > To the authors of the new ROOT documentation, > > Thanks to René Brun, I had the chance to read a pre-release of the new > ROOT documentation and here are my comments about it. > First of all, it is clear that it is a huge improvment as compared to > what was available before. Reading it, I have found that in the past I > missed plenty of interesting features. So first of all , be insure that I > am very satisfied with this new documentation. If what follows contains > more critics than compliments, it is not because I do not recognise that > giant step forward, it is because criticism is a more efficient way of > getting things improved. > > So here are my comments, for every chapter : > > (1) - Chapter 1 Introduction. : Ok keep it as it is. > (2) - Chapter 2 Getting Started : Ok keep it as it is. > (3) - Chapter 3 A little C++ : It is a good idea to place such a > chapter here. On the other hand, it is extremely difficult here to find the > right middle between too short introduction and writing a book on C++. I > think you are too close to the first case. To my mind, a user knowing > nothing about C++ will not understand what you mean by inheritance. A > definition of "Stack" and "Heap" would also be useful. You use these > concepts without defining them. You should also end this chapter with > recommended books on C++. > (4) - Chapter 4 CINT the C++ Interpreter. This chapter is very good > until you come to the point of "compiling a script". To my mind, ACLiC is > a very strange extension to ROOT. If you have come to the point where your > script are becoming too slow to execute, it means ( at least to my opinion > ) that you have done the mistake of leaving in CINT things that you should > have compiled and linked with ROOT. ACLiC looks to me as something for > people in a hurry, not having time to do things properly. If I am wrong, it > means at least that this chapter was not clever enough to make me > understand why. If I am right, I think that ACLiC should not be explained > here, but in an appendix. > (5) - Chapter 5 Extending ROOT with your code This chapter is not > clear enough about the following point : there are 2 ways of extending ROOT > with user classes : > (A) - either one builds an entirely new ROOT, containing the user > classes in addition. This requires a main program, which is not documented > in this chapter. > (B) - either one builds a .so (or .dll) library, which has then to be > loaded through gSystem.Load("xxx.so"); > I am not sure of what follows, but at least it is what I have experienced > with ROOT : Point (B) is only working if one does not define global > variables. I have never succeeded in doing a .so or .dll in case my code > contained global variables. If it is true, this chapter should explain why. > If it is not true, there is something that I missed in the way to define > global variables for which I found nothing in this chapter. > (6) - Collection Classes To my opinion, it is the > chapter which requires the biggest effort to improve. It contains too much > information about internal working which is of interest only for those > interesting in understanding the code, and not enough information about the > interest for the user to use collection classes. It should begin by an > explanation about why the "array" construct of C++ is not sufficient. It > should explain why ROOT is so rich in different collection classes (for > instance, I confess that until now, I have only used TObjArray, and that I > was hoping in reading this chapter that I would find interest in the > other collection classes, but it was not the case, except for the > TClonesArray class, for which unfortunatly many things remained unclear to > me, I come to this point later ). > Points unclear to me : > - for TList, why including a previous and a next pointer, since TIter > does the job ? > - why not include the operator[] to all collection classes ? > - for TCloneArray, it is said that they have fixed length, and in the > example given, they are used for storing tracks, something which by no mean > has fixed length ! There are short tracks and there are long tracks ! Does > it mean that one reserves always the memory for the longest possible track > ? it seems awful and surely I missed something. > Besides of this, the chapter terminates abruptly and give no explanation > about THashList, TOrdCollection ? > (7) - Chapter 7 Histograms and Fitting Excellent chapter. Perhaps should > be placed sooner ? > (8) - Chapter 8 Input/Output Excellent chapter. > (9) - Chapter 9 Graphics and Interaction with the user: it is the best > chapter of the book. Reading it, I profoundly regret to not having it with > me 2 years ago ! > (10)- Chapter 10 Trees An other excellent chapter. You > should emphasize much more the remark at the end of page 195 : ROOT does > not support splitting an object that has pointers as data members. I felt > several times into this and in that case, ROOT crashes wildly without any > warning message. > (..) I have not yet read the last chapters > > To finish, some regrets or puzzles: > - Why nothing about 3D ? Coming to this point, the status of ROOT about > 3D to-day seems strange : Why is it possible to do such a complicated thing > as moving in 3D an object like a TGTRA and impossible to simply define such > simple objects like a 3d line ? > - I was extremely surprised looking at the drawing of page 140. Here we > can see ROOT working inside a MacIntosh window !!! Have you installed ROOT > on Mac without making any publicity about that ??? > > F.X. Gentit > DAPNIA/SPP CEN Saclay > tel : 01 69 08 30 38 fax : 01 69 08 64 28 > web : http://home.cern.ch/~gentit/
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:35 MET