| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

GaudiUtils

    Package: GaudiUtils
    Package manager : Marco Clemencic
    Commit Id: $Format:%H$

    ================================ Gaudi v28r2 =================================

    ! 2017-03-10 - Chris Jones (commit b0466c4)

     - Merge branch 'HistoStats-PreventFPEs' into 'master'

       Fix HistoStats in GaudiUtils to prevent floating point exceptions due to
       'bad' return values
        See merge request !270

    ! 2017-03-10 - Marco Clemencic (commit 245c497)

     - Merge branch 'improve-vfssvc' into 'master'

       allow multiple handlers for a protocol in VFSSvc
        See merge request !295

    ================================ Gaudi v28r1 =================================

    ! 2016-12-14 - Attila Krasznahorkay (commit a42ff2a)

     - CMake configuration changes to build Gaudi with optional externals missing

       In the last days I experimented a bit with teaching Gaudi how to build when
       only ROOT, Boost and TBB are available to it. This is the result. As far as I
       can tell the code builds in the same way as the current master branch when
       all possible externals are available. (All the ones available in a full ATLAS
       offline build at least.) And I'm also able to build the project in these
       modes:
         * On Ubuntu 16.04 with the system provided Boost and TBB versions, against
       a privately built ROOT 6 version.
         * On macOS Sierra against privately built Boost, ROOT and TBB versions.
       Both when building the project completely on its own, and when building it
       against an ATLAS externals project.
        Some notes:
         * The code uses C++14 expressions in quite a few places by now. So I raised
       the default C++ standard to C++14. This is the default in ATLAS builds since
       a while, I only saw this as an issue when building Gaudi "on its own" with a
       very minimal configuration command.
         * While the code advertises that it still has support for ROOT 5, it's not
       able to build against it since a wile. Since the updates I put in for TLS
       variables on macOS. (The macros used there are ROOT 6 only.) And this update
       makes things even worse. As the code now relies on not providing the
       definition of some classes to the dictionary generator in GaudiPython that
       are not available. (Because AIDA or XercesC is missing.) While ROOT 6 handles
       this with just a build warning, ROOT 5's genreflex treats this with an ERROR
       message. That I was unable to get rid of.
        So, extended testing is clearly necessary, the configuration code could
       definitely be fine tuned as I probably turned off the build of more source
       files than absolutely necessary, but I think we should move ahead with such a
       configuration organisation.
        See merge request !241

    ================================ Gaudi v28r0 =================================

    ! 2016-10-27 - Gerhard Raven, Marco Clemencic (commit b111898)

     - modernization of Property

       This is a major rewrite of the system of `Property` classes. Started as  the
       implementation of GAUDI-1214, it continued as a review of
       `IProperty` and `PropertyMgr`, to end up in a complete rewrite
       (and optimization) of `PropertyWithValue`.

       * Fixes GAUDI-1214
        - added missing `declareProperty` signature
        - added `PropertyHolder` (an updated `PropertyMgr`)
        - adapted all properties in Gaudi
       * improved use of `PropertyHolder`
        - use inheritance instead of composition
        - removed ~200 (duplicated) lines of code in GaudiKernel
       * optimization of Property (fixes GAUDI-1229)
        - use templates and automatic code generation to handle efficiently
          both value and reference properties
          - avoid creation of values on the heap (see GAUDI-1229)
          - removed the *owned* boolean flag
          - improved usability of properties (e.g. begin/end wrappers for
            C++11 loops, increment/decrement operators...)
          - deprecated use of C arrays as properties
        - merged features of `PropertyWithVerifier`, `SimpleProperty` and
          `SimplePropertyRef` into `PropertyWithValue`
        - deduplication of name and doc strings via

       [`boost::string_ref`](http://www.boost.org/doc/libs/1_61_0/libs/utility/doc/html/string_ref.html)

          and a static storage  (see GAUDI-1229)
       * Fixes GAUDI-1205
       * add deprecation warnings in service accessors of `Algorithm` (@graven)
       * renamed `Property` base class to `Gaudi::Details::PropertyBase` and
       `PropertyWithValue` to `Gaudi::Property`
        - added backward compatibility type aliases (but not compatible with
          forward declarations of `class Property`, which should be replaced
          by `#include "GaudiKernel/PropertyFwd.h"`)
       * added macro `GAUDI_PROPERTY_v2` to allow easy implementation of
        backward compatible changes in derived projects (e.g. when user code
        relied on `DoubleProperty` having a verifier)
       * Fixes GAUDI-1268
        The changes are as backward compatible as much as possible (except if you
       explicitly inherit from `SimpleProperty`, or you forward declared
       `class Property`, which now are typedefs), but must be validated in the
       experiment frameworks.
        See merge request !182

    ! 2016-10-24 - Marco Clemencic (commit a8d6605)

     - hidden/fixed "missing override" warnings exposed after !192

       - warnings from external headers are hidden declaring the include directories
       as `-system`
       - warnings from a couple of new files have been fixed
       - warnings in `HistogramSvc` are hidden because unavoidable (see f83c3d8e)
       - warnings related to CLHEP-136 have been hidden with a special trick (see
       0a238135)
        See merge request !205

    ! 2016-10-19 - Marco Clemencic (commit e2c1f4a)

     - fixes and improvements for ROOT 6.08 and gcc 6.1

       * added option to use or not GCC old C++11 ABI (off by default)
       * added some missing #include for the usual headers clean up in gcc
       * fixed a few places where old GCC behaviour was assumed
       * fixed default C++ standard version for clang >= 3.7
       * fixed GAUDI-1242

        See merge request !187

    ! 2016-10-12 - Marco Clemencic (commit b5e05a1)

     - improved handling of package version in CMake configuration

       use project version if a package version is not provided
        See GAUDI-1215.
        See merge request !175

    ! 2016-10-01 - Marco Clemencic (commit 99b1001)

     - enable missing override warnings (gcc >= 5.1)

       Fixes GAUDI-1241
        See merge request !192

    ! 2016-08-19 - Marco Clemencic (commit f3050c3)

     - Fix compile time warnings

       fixed/hidden all warnings in GCC builds
        See merge request !189

    ! 2016-07-25 - Marco Clemencic (commit e3d4b07)

     - remove CMT configuration and related files

       * removed CMT configuration files
       * adapted scripts not to use CMT
        Fixes GAUDI-1216 Fixes GAUDI-979
        See merge request !186

    ============================== GaudiUtils v6r2 ===============================

    ! 2016-03-10 - commit 4a18175

     - removed uses of templates implements[1-4], extends[1-4] and
       extend_interfaces[1-4]

       Since merge request !22 they are unnecessary.
        See merge request !133

    ! 2016-02-11 - commit b0618f7

     - Improve CommonMessaging

       Implementation of GAUDI-1146: Improve CommonMessaging and use it in more
       places.

       See merge request !76

       Conflicts:
       GaudiExamples/tests/qmtest/refs/AlgTools2.ref
       GaudiExamples/tests/qmtest/refs/MultiInput/Read.ref
       GaudiExamples/tests/qmtest/refs/conditional_output/write.ref
       GaudiKernel/GaudiKernel/AlgTool.h
       GaudiKernel/GaudiKernel/Algorithm.h
       GaudiKernel/GaudiKernel/Service.h
       GaudiKernel/src/Lib/AlgTool.cpp
       GaudiKernel/src/Lib/Algorithm.cpp

    ============================== GaudiUtils v6r1 ===============================

    ! 2016-01-12 - commit 4dbdc8e

     - fixed clang 3.7 compilation warnings

       Fixes GAUDI-1083.
     See merge request !89

    ! 2016-01-07 - commit fabc739

     - fixed compilation with clang 3.7 (after hive merge)

       * fixed compilation problems related to `operator<<` (gcc is more
        permissive than clang).
       * fixed also some clang warnings.
        Fixes GAUDI-1157.
        See merge request !84

    ! 2015-11-02 - commit 57f356c

     - Merge branch 'hive' into 'master'

       Fixes GAUDI-978.

       See merge request !65

    ! 2015-10-26 - commit de80db5

     - More modernization changes

       Fix (almost) all warnings from clang 3.7, and use clang-modernize to further
       modernize the code.

       Fixes GAUDI-1118.

       See merge request !49

    ============================== GaudiUtils v6r0 ===============================

    ! 2015-09-25 - commit 35dd00c

     - Merge branch 'dev-smartif-use' into 'master'

       Provide (and use) C++11 smart pointer 'look and feel' for SmartIF

       The aim of this branch is to confine, for everything that inherits from
       IInterface, the calls to addRef(), release() and queryInterface() to the
       SmartIF implementation. Exceptions are a few places where interfaces
       (currently) return bare pointers (instead of SmartIF...) and where one thus
       has to addRef() explicitly to avoid returning a dangling pointer. This can be
       avoided by changing the relevant interface to return a SmartIF instead of a
       bare pointer.

       In addition, make SmartIF 'look and feel' like a smart pointer.

       - use explict bool conversion instead of .isValid()
       - add SmartIF::as<IFace>(), to return a SmartIF<IFace> to an alternate
          interface -- which (together with move) encourages the use of auto
       - add ISvcLocator::as<IFace>(), to return a SmartIF<IFace> to the current
       ISvcLocator.
       - add ServiceManager::service<IFace>() which return SmartIF<IFace> which
       encourages
          the use of auto

       And add a few other C++11 modernizations (eg. prefer STL over raw loop)

       Fixes GAUDI-1094

       See merge request !24

    ! 2015-09-21 - commit 850d801

     - Merge branch 'master' into 'master'

       Functions added to GaudiUtils that allow generation of random numbers from
       integer and string input

       Add hash functions with good avalanche characteristiscs to GaudiUtils.

       - Header and implementation are QuasiRandom.{h,cpp} in GaudiUtils
       - Relevant functions have been added to GaudiPython dictionary for
        interactive use
       - Update RandomNumber test to include these functions
       - Update RandomNumber test reference

       See merge request !20

    ! 2015-09-11 - commit c062cbe

     - C++11 modernization changes

       Some trivial - and some not so trivial! - changes which take advantage of
       C++11...

       See merge request !7

    ============================== GaudiUtils v5r3 ===============================
    ! 2014-10-10 - Marco Clemencic
     - Added optional 'se' attribute the the XML file catalog DTD.

    ! 2014-09-18 - Marco Clemencic
     - Fixed Eclipse Code Analysis warning.

    ============================== GaudiUtils v5r2 ===============================
    ! 2014-06-19 - Marco Clemencic
     - Fixed unchecked StatusCode.

    ! 2014-06-17 - Marco Clemencic
     - Fixed bug GAUDI-971 (successful failover to a replica in IODataManager leads
       to non-zero exit code).
       The application exit code set before the loop on the replicas is restored
       if the access to any of the replicas succeeds.

    ! 2014-06-17 - Marco Clemencic
     - Build test functions in XMLCatalogTest.cpp as proper tests (CMake only).

    ! 2014-05-07 - Sebastien Binet
     - use new PluginService API (with C++11 variadic templates for the factories.)
     - hide the C++11 constructs from Reflex as GCC-XML parser predates C++11

    ============================== GaudiUtils v5r1 ===============================
    ! 2014-03-18 - Ben Couturier
     - Fixed bug #104127: remove hwaf configuration.

    ============================== GaudiUtils v5r0 ===============================
    ! 2013-12-11 - Sebastien Binet
     - Added hwaf configuration files.

    ! 2013-07-19 - Marco Clemencic
     - Clean up in the use of the new PluginService.

    ! 2013-07-18 - Marco Clemencic
     - Removed use of obsolete AlgFactory.h, SvcFactory.h, ToolFactory.h,
       AudFactory.h and CnvFactory.h.

    ! 2013-07-17 - Marco Clemencic
     - Use the new ROOT-free Plugin Service.

    ! 2013-07-17 - Marco Clemencic
     - Removed factories forward declarations.

    ! 2013-07-03 - Marco Clemencic
     - Minor changes in a comment.
     - Removed explicit link against Reflex from cmt/requirements.
     - Replaced references to ROOT::Reflex::PluginService with Gaudi::PluginService.

    ============================== GaudiUtils v4r7 ===============================
    ! 2013-11-01 - Markus Frank
     - Add support for data federations. The IODataManager will try out
       all PFNs in the file catalog until one entry is found, which can be opened.

    ============================== GaudiUtils v4r6 ===============================
    ! 2013-07-09 - Marco Clemencic
     - Fixed bug #101513: Raw->Raw processing should not print an error
       Added the property DisablePFNWarning to silence the ERROR message about files
       opened by their physical name.

    ============================== GaudiUtils v4r5 ===============================
    ! 2013-05-28 - Marco Clemencic
     - Modified StalledEventMonitor to be able to print a stack trace of the stalled
       process and abort the execution.

    ! 2013-04-16 - Marco Clemencic
     - Fixed Clang warnings.

    ============================== GaudiUtils v4r4 ===============================
    ! 2013-01-22 - Vanya Belyaev
     - Patch #5594: fix for parsing of 1D histograms with non-equidistant binnings

    ============================== GaudiUtils v4r3 ===============================
    ! 2012-11-14 - Marco Clemencic
     - Updated CMakeLists.txt.

    ============================== GaudiUtils v4r2 ===============================
    ! 2012-07-13 - Marco Clemencic
     - Fixed configuration for Boost 1.50.
     - Fixed a problem with symbols visibility.

    ============================== GaudiUtils v4r1 ===============================
    ! 2012-06-08 - Marco Clemencic
     - Added CMake configuration files.

    ! 2012-06-07 - Marco Clemencic
     - Fixed Clang warnings.

    ============================== GaudiUtils v4r0 ===============================
    ! 2012-01-20 - Marco Clemencic
     - Imported HistoStrings functions from (LHCb) Kernel/HistoStrings
       (required to build DetDesc).

    ! 2011-12-02 - Marco Clemencic
     - Moved VFSSvc from GaudiSvc to GaudiUtils.

    ============================== GaudiUtils v3r14 ==============================
    ! 2011-10-28 - Marco Clemencic
     - Changed the usage of make_pair to support C++0x.

    ============================== GaudiUtils v3r13 ==============================
    ! 2011-06-23 - Hubert Degaudenzi
     - fixed warnings from the eclipse code analysis engine.

    ============================== GaudiUtils v3r12 ==============================
    ! 2011-03-23 - Marco Clemencic
     - Fixed VC9 warnings.
       - Replaced C-style string manipulation and formatting with C++ (and Boost)
         implementations.
       - Disabled some warnings.

    ============================== GaudiUtils v3r11 ==============================
    ! 2011-01-11 - Marco Clemencic
     - Fixed some ICC remarks.

    ============================== GaudiUtils v3r10 ==============================
    ! 2010-09-20 - Marco Clemencic
     - Fixed bug #70956: Add method to find the reason for termination of the
                         event loop
       - Use the new return code constants in case of signal
         (Gaudi::Utils::StopSignalHandler).

    ============================== GaudiUtils v3r9 ===============================
    ! 2010-07-14 - Marco Clemencic
     - Another small fix for Xerces-C 3.1.

    ! 2010-05-27 - Chris Jones
     - Patch #4045: Utilities to set histogram axis and bin labels for GaudiUtils

    ! 2010-05-17 - Marco Clemencic
     - Adepted to work with Xerces-C 3.1.0 (as well as 2.8.0).

    ============================== GaudiUtils v3r8 ===============================
    ! 2010-04-23 - Marco Clemencic
     - Minor fix to compile with gcc 4.5.0

    ! 2010-04-22 - Marco Clemencic
     - Set the return code of the application to (128 + signal number) when a signal
       is trapped by the StopSignalHandler.

    ! 2010-04-21 - Marco Clemencic
     - Changed the messages in StalledEventMonitor to report about memory usage and
       not stop printing after 3 calls.

    ! 2010-04-20 - Marco Clemencic
     - Removed ICC warnings and remarks.

    ! 2010-04-19 - Marco Clemencic
     - Moved the EventTimeoutWatchdog thread from the EventLoopMgr to a dedicated
       service in GaudiUtils (StalledEventMonitor).

    ! 2010-04-16 - Marco Clemencic
     - Modified the implementation of the fix to bug #62374 (Handling of signal
       SIGXCPU).
       The new implementation is based on a couple of extra services instead of
       being integrated in EventLoopMgr (less intrusive).
       - Gaudi::Utils::SignalMonitorSvc (implementing the interface ISignalMonitor)
         is a service that just keep track of the occurrences of the requested
         signals and, optionally, propagates them to the previously registered
         handlers (if any).
       - Gaudi::Utils::StopSignalHandler uses SignalMonitorSvc to check if any of
         the signals in the list (property) "Signals" has been received and trigger
         a stop of the event loop in that case (during the BeginEvent incident).

    ============================== GaudiUtils v3r7 ===============================
    ! 2010-03-16 - Vanya Belyaev
     - Patch #3840: Fix for bug #59009
       - HistoDump:
         Rename the functions with return value of std::ostream&, they produce
         messages to std::err in python.
         Since "std::ostream&" variants are useless to python, just rename them,
         thus avoiding the dictionaries.

    ! 2010-01-28 - Marco Clemencic
     - Fixed icc remark #177: X declared but never referenced

    ============================== GaudiUtils v3r6 ===============================
    ! 2009-12-15 - Marco Clemencic
     - Fixed bug #59659: Untested StatusCodes in IODataManager.cpp

    ================ GaudiUtils v3r5 ====================================
    ! 2009-10-08 - Vanya Belyaev
     - Patch #3311: Add ASCII dump for 1D-profile histograms
       Extension of patch #3261 to 1D-profile histograms

    ! 2009-10-07 - Vanya Belyaev
     - Patch #3261: Utility for ASCII dump of 1D-histograms
       Added the function Gaudi::Utils::Histo::histoDump.

    ! 2009-09-08 - Rob Lambert
     - Patch #3222: Patch to Issue incidents for Input Files
       - Details required for the documentation of output
         files in the Summary services
       - Added functionality to IODataManager
         will now fire a FailedInputFile incident when there is a problem

    ================ GaudiUtils v3r4 ====================================
    ! 2009-08-01 - Rob Lambert
     - Patch #3174: Added GaudiUtils/RegEx.h
       It containes templated functions to deal with Regular Expressions.
       Uses boost/regex.hpp, and std::string.

    ! 2009-07-21 - Hubert Degaudenzi
     - Fixed typo in the -no_static usage.

    ! 2009-07-20 - Marco Clemencic
     - Added '-no_static' to the declaration of the libraries (implemented since CMT
       v1r20p20081118).

    ================ GaudiUtils v3r3 ====================================
    ! 2009-07-08 - Marco Clemencic
     - Removed the usage of extend_interfaces1.

    ================ GaudiUtils v3r2 ====================================
    ! 2009-06-23 - Marco Clemencic, Vanya Belyaev
     - Patch #2980: Moved Range.h and NamedRange.h from GaudiUtils to GaudiKernel.

    ! 2009-06-15 - Hubert Degaudenzi
     - use the new LCG tag convention.

    ================ GaudiUtils v3r1 ====================================
    ! 2009-05-15 - Marco Clemencic
     - Fixed bug #50389: AppMgr.algorithm/tool/algorithms does not work for
                         GaudiPython::PyAlg<TYPE>
       Changed the inheritance from "implements#": replaced "virtual public" with
       "public" (more correct and does not confuse PyROOT).

    ================ GaudiUtils v3r0 ====================================
    ! 2009-04-07 - Marco Clemencic
     - Moved back the namespace MSG to the global namespace.

    ! 2009-04-06 - Vanya Belyaev
     - Patch #2930: improve the manipulations with AIDA histograms
       - GaudiUtils/HistoStats.h, src/Lib/HistoStats.cpp
         1) fix the bug in evaluation of error in kurotsis (thanks to Dmitry Golubkov!)
         2) fix the bug in evaluation of error in moment
         3) add new methods for class Gaudi::Utils::HistoStats
            sumBinHeightErr          : the error for AIDA::IHistogram1D::sumBinHeights
            sumAllBinHeightErr       : the error for AIDA::IHistogram1D::sumAllBinHeights
            overflowEntriesFrac      : the fraction of overflow entries
            underflowEntriesFrac     : the fraction of underflow entries
            overflowEntriesFracErr   : the (binomial) error on fraction of overflow entries
            underflowEntriesFracErr  : the (binomial) error on fraction of underflow entries
            overflowIntegralFrac     : the fraction of overflow integral
            underflowIntegralFrac    : the fraction of underflow integral
            overflowIntergalFracErr  : the error on fraction of overflow integral
            underflowIntegralFracErr : the error on fraction of underflow integral
            nEntries                 : number of entries for certain ranges
            nEntriesFrac             : fraction entries for certain ranges
            nEntriesFracErr          : the (binomial) error for the fraction entries for certain ranges
       - GaudiUtils/HistoTableFormat.h, src/Lib/HistoTableFormat.cpp
         1) Add the possibility to print new estimators from class HistoStats.
            The overall number of the predefined fields in table printout
            now is 26.. see GaudiUtils/HistoTableFormat.h for the list
         2) add few new reference formats:
              StatOnly  : #entries, mean, rms, skewness & kurtosis
              Stat1     : similar to StatOnly but with errors
              ShapeOnly : mean.rms, skewness,kurtosis, overflow&underflow fractions
              Shape     : similar for ShapeOnly but with errors
           "Shape"-format are very useful for comparison of histograms by shapes,
           ignoring the normalization

    ! 2009-04-06 - Marco Clemencic
     - Renamed back the namespace Msg to MSG and moved it into the namespace Gaudi.

    ! 2009-03-13 - Marco Clemencic
     - Task #9061: Introduction of component managers
       - Adapted to use the changes in the ISvcLocator, ISvcManager and IAlgManager
         interfaces.

    ! 2009-02-19 - Marco Clemencic
     - Patch #2790: Rename the namespace MSG to Msg

    ! 2009-02-06 - Marco Clemencic
     - Moved the implementation of the methods addRef and release to the templated
       base class implements<> (avoids duplication).

    ! 2009-01-30 - Marco Clemencic
     - Replaced all the occurrences of endreq with endmsg.

    ! 2009-01-29 - Marco Clemencic
     - Symbol visibility
       - Decorated all the classes and functions that needs to be exported (see
         GaudiKernel release.notes).
       - Added a hack to force the export of the symbols of AIDA interfaces to allow
         the dynamic_cast (see GaudiSvc release.notes).

    ! 2009-01-22 - Marco Clemencic
     - Adapted to the new IInterface functionalities (see GaudiKernel release.notes)
     - Removed the IID_* constants.

    ================ GaudiUtils v2r2 ====================================
    ! 2008-11-27 - Marco Clemencic
     - Fixed compilation problems with ROOT 5.21/06.

    ================ GaudiUtils v2r1 ====================================
    ! 2008-10-10 - Vanya Belyaev
     - Patch #2073: SharedObjectsContainer and 'blind' access to TYPE::Container &
                    TYPE::Selection
        * GaudiUtils/Range.h
        * GaudiUtils/NamedRange.h
        * src/Lib/Range.cpp
       The light representation of containers through the par of iterators.
       The files are copied (and renamed) from LoKi project.

    ! 2008-10-03 - Vanya Belyaev
     - Patch #1943. Added update handler to MultiFileCatalog.Catalogs

    ================ GaudiUtils v2r0 ====================================
    ! 2008-06-04 - Chris Jones
     - Patch #1861. Prevent division-by-zero results in skewness and kurtosis.
       Protection against NaN/Inf in Gaudi::Utils::HistoStats::skewness and
       Gaudi::Utils::HistoStats::kurtosis (return 0 instead).

    ! 2008-06-02 - Marco Clemencic
     - Task #5809. Extension to Gaudi Application state machine.
       - Renamed the method IFileCatalog::start to IFileCatalog::init, to avoid
         clashes with IService::start.

    ================ GaudiUtils v1r6 ====================================
    ! 2008-04-03 - Vanya BELYAEV
     - Patch #1749. Improve some printout of the histogram.
       The default width of "ID" and the "title" fields are incremented to improve
       the printout.
       Also more coherent treatment of HistoStats is performed to minimize the
       cross references.

    ! 2008-04-03 - Markus Frank
     - Bug #33372 (Patch #1746). Memory leak in XmlFileCatalog.
       - Fix memory leak on transcoding XML strings during Xerces exception handling.

    ================ GaudiUtils v1r5 ====================================
    ! 2008-03-04 - Markus Frank
     - Patch #1722.
       - Fix dataset access by LFN. Was simply not working.

    ! 2008-02-21 - Markus Frank
     - patch #1700. Fix the filter mechanism to reduce the number of messages
       for inaccessible objects.

    ! 2008-02-11 - Markus Frank
     - Fixed Bug #33372. Tiny memory leak in XmlFileCatalog.

    ================ GaudiUtils v1r4 ====================================
    ! 2008-01-30 - Markus Frank
     - Fix bug in XMLCatalog (protect if element is not a DOMElement)
     - Fix bug in IODataManager catalog lookup

    ! 2008-01-19 - Markus Frank
     - Fix bug in file aging: only age files when new read-only connections appear
       (like in POOL)

    ! 2008-01-19 - Markus Frank
     - Fix printout level of messages from the IODataManager.

    ! 2008-01-15 - Markus Frank
     - Patch #1622. Reduce printout level on unsuccessful catalog lookup.
                    (MultiFileCatalog)
       An unsuccessful catalog lookup is not an error, but rather a normal operation
       if e.g. the existence of a file should be checked.

    ! 2007-12-12 - Marco Clemencic
     - patch #1585.
       Fixed warnings about breaking of strict-aliasing rules (gcc 4.1 optimized).

    ================ GaudiUtils v1r3 ====================================
    ! 2007-10-21 - Markus Frank
     - Patch #1534. Fixed compilation warning which didn't appear on
       windows.

    ! 2007-10-19 - Markus Frank
     - Patch #149[234]. Add components library containing file catalog and I/O data manager.
       Used by DAQ/MDF and GaudiPoolDb

    ================ GaudiUtils v1r2 ======================================
    ! 2007-09-19 - Vanya Belyaev
     - Fixed bug #29969 (Error compiling GaudiUtils/HistoTableFormat with gcc4.1)

    ! 2007-09-19 - Vanya Belyaev
     - patch #1273.
       - GaudiUtils/HistoStats.h
          add new functions
          - meanErr
          - rmsErr
          - kurtosisErr
          - skewnessErr
          - momentErr
          - centralMomenErr
          rmsErr is more precise that ROOT, since ROOT neglects kurtosis.
          Please note that ROOT has a completely wrong calculations
          of errors in skewness and kurtosis

       - GaudiUtils/HistoTableFormat.h
         new utilities for highly customizable printout of histograms

    ! 2007-08-07 - Vanya BELYAEV
     Patch #1266:
     - GaudiUtils/HistoStats.h, src/Lib/HistoStats.cpp
         new files with simple class Gaudi::Utils::HistoStats for evaluation
         of few basic statistical quantities for AIDA::historgams:
           - moments
           - central moments
           - skewness
           - kurtosis
        The moments (and therefore all other quantities) are calculated on
        "bin-by-bin"-basis, since the corresponding cumulants needed
        for "event-by-event"-calculations are not available.
     - GaudiUtils/Aida2ROOT.h, src/Lib/Aida2ROOT.cpp
       fix doxygen comments

    ================ GaudiUtils v1r1 ======================================
    ! 2007-04-27 - Hubert Degaudenzi
     - fixed compilation problem with ROOT libHist which requires
       libMatrix on mac osx.

    ================ GaudiUtils v1r0 ======================================
    ! 2007-02-07 - Ivan Belyaev
     - patch #989. GaudiUtils/Aida2ROOT.h, src/Lib/Aida2ROOT.cpp, new
       class Gaudi::Aida2ROOT for access for internal ROOT implementation
       of transient histograms in Gaudi [Useful functions, heavily used in
       the context of Bender/Panoramix&Online]