The Fermilab Physics Class Library

Paper: 452
Session: E (talk)
Speaker: Moibenko, Alexander, Fermilab, Batavia
Keywords: object-oriented methods, component software, portability, quality control, software tools

The Fermilab Physics Class Library

Mark Fischler and John Yoh
Fermilab, Batavia, IL 60510 USA

The Fermilab Physics Class Library Task Force has been formed to supply
C++ classes, routines and utilities, primarily suppporting the Run II efforts
of CDF and D0 to move into the C++ realm. A collection of libraries and tools
will be produced by means ranging from development by the task force, through
collaboration with other HEP developers, and on the other extreme to acquiring
existing modules. Even in the latter case, some massaging may be done to put
the interfaces, methods of maintenance and documentation into defined uniform
forms. The collection will thus be suited as a resource throughout the HEP

Since the main emphasis is on a kit of resources which other physics coders
can incorporate into their programs, there must be considerably more emphasis
robustness and correct behavior than is typically found in large, stand-alone
packages. Methods for ensuring that high level of confidence in bug-free code
-- and the consequences of applying those methods -- are discussed. We also
present key features of the FPCLTF standards of interface, documentation, and

A workshop was held at Fermilab in January to determine what sort of
functionallity the task force will develop, and which parts must be given
high priority, either because they are crucial for imminent Run II coding
activity or because they provide fundamental underpinnings for other routines.
The contents and priorities decided by that workshop are presented here;
the first wave of desired packages includes basic functionallity such as good
implementations of container classes and linear algebra, wrappers for histogram
packages, and coding gadgets such as timing routines.

The task force is composed of 4-5 FTEs, divided roughly evenly between
Division personnel and physicists from the collider experiments (with valuable
participation by the Beams Divsion as well). Timetables for the completion of
the first wave of priority modules are presented, and we report on completion,
progress levels, and availability of these.