Gaudi version 9 News
What's New?

Windows

Linux

GaudiExamples

Gaudi Docs
Data Store Redesign
Developers Guide


The "core" of Gaudi v9 has been added to our CVS repository.  The checkout package is GaudiSys v9r0p1.

What's New in Gaudi v9?
Short Answer:
A bit.

Long Answer:  
Here's a list:
A new external package is used by Gaudi, AIDA 1.0.  It is a simple package, it just contains an interface for histograms right now.  This external library is now available from SLAC ftp:  ftp-glast.slac.stanford.edu/glast.u05/extlib/aida
The GaudiSys checkout package will retrieve a new interface package called AIDA.

Upgrade to CLHEP 1.7.0.0.  Also available via SLAC ftp:
ftp-glast.slac.stanford.edu/glast/u05/extlib/clhep

None of the "default" services are automatically loaded by Gaudi - rather they are late created if needed.  This may require some modification of calls to access services:
serviceLocator( )->service("name", interface, true)
where true would force creation of the service if it doesn't already exist.

The Transient Data Store (TDS) has gone through an overhaul.  The DataObject class has been modified - meaning that our classes (in GlastEvent) derived from DataObject will require at least some minor changes. i.e. the name parameter is no longer set through the DataObject contructor.

CLID_Event is no longer defined within Gaudi itself - rather it is left to be defined in the user's Event.h.

GaudiKernel's AddrFactory.h has been changed - it has been replaced by an interface:  IAddressCreator.h.  This change will require modification to our existing converters.

There is a nice document I am trying to absorb..details of the Data Store redesign.

Windows
GaudiSys v9r0p1 and GaudiExamples v9r0p1 have been built on Windows NT and 2000.  Three examples are running: AlgSequencer, AlgTools, and Properties.  See below for more details about the example programs.

Here are some detailed notes of what was done to get the source as obtained from the Gaudi web site to compile - these changes have been applied as patches to the original import into our repository.

Want  your own copy of the new Gaudi to play with?  See this page.

Linux
Builds and runs just fine with gcc 2.91.
Testing now with gcc 3.0.2 and 2.95

Ran into some questions as to how to tell CMT to use a version of gcc other than the default.  Note - this will not work:
cmt broadcast 'gmake CC='/usr/local/bin/gcc-3.0.2' CXX=/usr/local/bin/g++-3.02''
rather one must use the requirements file in GlastPolicy:
macro cc "/usr/local/bin/gcc-2.95.2"
macro shlibbuilder "/usr/local/bin/g++-2.95.2"
macro cpp "/usr/local/bin/g++-2.95.2" 

I think this is now working - I've been checking the resulting object files (see GCC Tricks below) to see what compiler left its tag.

Update:  Using the old HTL 1.3.0.1 fails
Tested with gcc 2.95.2 and new HTL 1.3.1.1.  We can compile and run GaudiSys v9r0p1 using 2.95.2.
Now trying gcc 3.0.2 - it fails in GaudiKernel stating:
PropertyMgr.h:72: explicit
specialization in non-namespace scope `class PropertyMgr'

Here is a start of some detailed notes.

GCC Tricks
I was wondering how to check the object files to see what version of gcc was actually used in the build..So I did a search on www.google.com and found the following page:
http://gcc.gnu.org/ml/gcc-help/2000-06/msg00016.html
It seems for recent versions of gcc we can do:
strings - objFileName | grep GCC

GaudiExamples
There are 3 functional (on Windows) examples in the GaudiExamples v9r0p1 package.  The rest have been disabled for now...  Please note that to run the examples, the jobOptions file must be passed in as a parameter.  i.e. AlgSequencer.exe home/AlgSequencer.txt

AlgSequencer
Gaudi's Hello World!
Here's the output.  Here's the jobOptions file, note the included Common.txt.

AlgTools
An example Tool - a small utility that may be made available to the whole framework - a "light" algorithm.
Here's the output.  Here's the jobOptions file, note the included Common.txt

Properties
An example that shows how to setup all types of properties.  Simple properties as well as more complex ones, such as an array of strings.  Also shows how to setup bounds on a property.  Show how to access properties of some other routine such as the ApplicationMgr or from another user defined algorithm.
Here's the output.  Here's the jobOptions file, note the included Common.txt

There are other examples in this package that will interest us, specifically, RandomNumber and RootIO. RootIO shows an example user defined DataObject and Converter.

Back to GLAST Software Home

H. Kelly Last Modified:  2002-12-02 11:37:24 -0800