> Jordi Burguet Castell <[EMAIL PROTECTED]> writes: > > > "The CERN Program Library is a large collection of general purpose > > libraries and modules maintained and offered in both source and object > > code form on the CERN central computers. The two most popular > > applications based on CERNLIB are PAW and GEANT 3.21. Most of these > > programs were developed at CERN and are therefore oriented towards the > > needs of a physics research laboratory that is general mathematics, data > > analysis, detectors simulation, data-handling etc... applicable to a > > wide range of problems." > > Could be interesting. What are the characteritics of the major > applications using this library?
The relicensing was done only recently. Previously, distribution was limited to educational and research institutions which could claim some connection (however tenuous) to the CERN labratory, which meant just about every university and physics labratory you can think of. I've been using it for about six or seven years, but it's much older than that. (But continuously updated, of course.) CERN decided to court the open source community by releasing it under a modified GPL, but I and others on the linux-hep mailing list successfully lobbied for a change to full GPL. CERNLIB is huge. If this gets packaged for Debian (and I would *love* to see someone package this) it's going to need to be broken into many subpackages. The subset of CERNLIB that I have installed (most devel libraries, header files, and binary executables. I don't have source or object files.) weighs in at about 100MB. What cernlib offers varies widely. It has very sophisticated histogram handling routines. If you want to take data and put it into histograms, make plots of those histogram, fit the histogram to functions, compare histogram, whatever you can even think of wanting to do with a histogram, nothing does this better than CERNLIB/PAW. On the other hand, there's also code for detector modeling. You can describe the geometry using a kind of CSG language not too unlike what's used in PovRay or other such programs (at least conceptually) and assign material properties to the components of the detector and then do physics simulations of how the detector responds. There's also a graphics package which can take these CSG descriptions and render these object discription into an image of the device. (It's a three dimensional image, which can be rotated to any angle, have sections removed, sliced for cross sections, whatever you want.) The emphasis is on producing technical drawings more than pretty pictures you might get from something like PovRay. The graphics package also contains drawing primatives and can be used to build just about any sort of data display system. Graphics can be rendered into X, Postscript, ASCII, or several other formats. All of the code is completely platform independent. It works on all Unices, Windows, DOS, Mac, VMS, etc. There's data management code. If you want to create a binary data format which is extensible, compact, and portable, there are a lot of code for doing that. There's KUIP (Kit for a User Interface Package) which handles user interfaces. If you want to hack together an interactive shell with a heirarchical command structure and online help, KUIP is a quick way to do that. There's a large number of things I've also forgotten about. It's a lot of code. The biggest problem with the code is that it's very Fortrany. You can interface with C/C++, but the mindset that went into designing the APIs and user interface was definitely a Fortran one. If you like Fortran, though, you'll be at home with this code. Eric -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

