Podd version 1.4

17 July 2006

The Hall A software team is pleased to present version 1.4 of the C++ analysis software Podd. This version is largely a maintenance release; it includes various corrections and smaller improvements that have accumulated since the release of version 1.3 in June 2004.

The main structural improvement is in the decoder. The decoder interface is now an abstract base class, and the actual implementation can be chosen by the user. In this version, a standard CODA file decoder is provided, and an alternative frontend interface to simulation data (VDCsim) is available in a separate package.

The most current beam helicity code is available as a separate plug-in. The older THaHelicity class is still available as before, but expect its functionality to change in the next release.

What's new

Compared to Release 1.3, the following features have been added:


Version 1.4 is mostly source-compatible with version 1.3, but not binary-compatible. The one known source code incompatibility occurs in the THaDetector class hierarchy: The member variables fDetector and fApparatus have been changed from simple pointers to TRef objects. Classes that formerly accessed these pointers directly should now use calls to the GetDetector() and GetApparatus() member functions. For example, replace
       TString name = fApparatus->GetName();
       TString name = GetApparatus()->GetName();
Modules developed for version 1.3 must be modified like this, but will then still work with version 1.3 or earlier. Of course, all modules need to be recompiled for use with version 1.4.

The only module that is known to have been affected by this change is the RICH library. The RICH code has been patched in CVS.

NOTE: ROOT 5.08/00 contains a bug in the TFormula code that causes Podd's test and output packages to crash "mysteriously" under certain circumstances. Please avoid using this version of ROOT and upgrade to ROOT 5.10/00 instead.

System requirements

The following platforms have been explicitly tested: Most other recent Linux and Solaris installations should work as well. Other Unix platforms require (probably fairly simple) changes to the Makefiles.

Building and installing the program

Please see docs/install.html

Running the program / How to analyze data

Please see docs/quickstart.html and the main documentation page.

Example Scripts

Example scripts can be found in the "examples" and "examples/BPM" subdirectories.


Further documentation is available in the "docs" subdirectory and at the project home page.


Special thanks to Rob Feuerbach, Robert Michaels, Bodo Reitz, Ken Rossato (summer student), and Amy Orsborn (summer student) who contributed significantly to this version.

Ole Hansen <ole@jlab.org>
Last modified: Mon Jul 17 14:20:11 EDT 2006