| The Gaudi Framework v28r2-patches (bc4ad17a)

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

GaudiExamples

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

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

    ! 2017-03-20 - Gerhard Raven, Marco Clemencic (commit 04cfad9)

     - Merge branch 'fix-clang-compilation' into 'master'

       fixed compilation with Clang
        See merge request !294

    ! 2017-03-16 - Marco Clemencic (commit e27fee6)

     - cleaned up MessageSvc color handling and fixed inconsitencies

       Closes GAUDI-1293
        See merge request !296

    ! 2017-03-09 - Marco Clemencic (commit c10e24d)

     - support special build flags

       Closes LBCORE-1228
        See merge request !289

    ! 2017-02-13 - Marco Clemencic (commit 099cad6)

     - consistent repr for Python Configurables

       fixes GAUDI-1290
        See merge request !285

    ! 2017-02-08 - Charles Leggett (commit 09859bd)

     - add sysExecute(EventContext) and extract errorCount from Algorithm base class

       We need to extract the `m_errorCount` variable from the Algorithm base class,
        as it's not important on a per-instance basis, but rather on a job level.
       This is moved to the AlgExecStateSvc.
        This merge request also adds an explicit `IAlgorithm::sysExecute(const
       EventContext&)`, which should become the standard entry point to
       `Algorithm::execute`. This sets the local m_event_context variable, so
       derived classes can get quick access to the current context instead of going
       through the slower thead local `Gaudi::Hive::currentContext()`.
        Note that `IAlgorithm::sysExecute()` has been removed, to avoid "overloaded
       virtual" compiler errors, and should be replaced in all clients with
       `IAlgorithm::sysExecute(EventContext)`, or if the context is not immediately
       available, with `IAlgorithm::sysExecute(Gaudi::Hive::currentContext())`.
        All this is being done in preparation to re-introduce the ReEntrantAlgorithm
       class from merge !177 (see also !274)
        See merge request !273

    ! 2017-02-08 - Marco Clemencic (commit 29443f0)

     - Fix test stdout preprocessing

       Some mistakes in the regexps used for the ErrorLog test (GaudiExamples) were
       making the test almost blind and causing problems in other tests (in LHCb).
        This fixes the problems.
        See merge request !263

    ! 2017-02-08 - Marco Clemencic (commit d3c4be3)

     - test wrapper improvements

       modified the test wrapper script/classes to allow access to stdout and stderr
        reference files names from the custom validator code in .qmt files.
        This allow to implement easily validators addressing the problem reported
       in LHCBPS-1693.
        See merge request !281

    ! 2017-02-08 - Marco Clemencic (commit 817be0f)

     - misc CMake fixes

       - fixes GAUDI-1279
       - fixes GAUDI-1288
        See merge request !282

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

    ! 2016-12-14 - Sebastien Ponce (commit a15fae4)

     - Fixed reference files

       See merge request !251

    ! 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

    ! 2016-12-14 - Sebastien Ponce (commit efc88ab)

     - Context fixes

       See merge request !248

    ! 2016-12-07 - many contributors (commit dc1b505)

     - port LHCb MT developments to Gaudi master

       among others we have
       - `Gaudi::Functional`: base classes to write algorithms as pure functions
       - `AnyDataWrapper`/`AnyDataHandle`: helper to store any type in the Transient
       Store (DataSvc)
       - fixes to `DataObjectHandle`
       - fixes to `GaudiHive`
       - new tests and examples
       - modernization (removed empty destructors, ...)
        See merge request !245

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

    ! 2016-11-08 - Marco Clemencic (commit ec96c27)

     - cleaning up last minute glitches

       - fixed warnings from clang
       - fixed issues with ROOT 6.08
       - minor polishing
       - minor fixes to tests
       - fixed GAUDI-1221
        See merge request !230

    ! 2016-11-02 - Chris Jones (commit 6d4d438)

     - Add support for Handle const assignment from non const instances

       Add support for copy assigning or constructing
       `XYZHandle<const T>` from a `XYZHandle<T>`.
        Extended the test `MyGaudiAlg.py` test for this feature and
       `ToolHandle<const T>` support in general.
        Developed due to the discussion in gaudi/Gaudi!215
        See merge request !226

    ! 2016-10-31 - Marco Clemencic (commit b9f002b)

     - minor fixes to failing tests

       - fixed issue in CMake modules test
       - fixed BrunelScenarioGraphScheduler
       - clean up CPUCruncher
        See merge request !227

    ! 2016-10-28 - Marco Clemencic (commit 7a372bb)

     - fixed a few compilation warnings

       See merge request !221

    ! 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-26 - Benedikt Hegner (commit 668ce4b)

     - Remove deprecated schedulers

       - remove deprecated RoundRobin, ParallelSequential and Sequential schedulers
        (see GAUDI-1263)
       - remove deprecated copy of state machine interface from IAlgManager.
        This removal has been checked grep'ing the git repo of ATLAS

       See merge request !202

    ! 2016-10-24 - Attila Krasznahorkay (commit ac4dbc7)

     - Changes to build on MacOS X 10.11

       See merge request !200

    ! 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 - Charles Leggett (commit 958570b)

     - Algorithm Execution State Service

       Introduction of AlgExecStateSvc
        All event state information removed from Algorithm base class
       (m_filterPassed, m_isExecuted) as it will cause difficulties with re-entrant
       Algorithms.
        event success/fail flag removed from EventContext
        These flags are moved to be under control of a new service, the
       AlgExecStateSvc, which keeps track of the execution state of all Algorithms,
       and the Event as a whole.
        Algorithm status kept in a new class ```AlgExecState``` which has
       ```
           bool m_filterPassed  {true};
           bool m_isExecuted    {false};
           StatusCode m_execStatus  {StatusCode::FAILURE};
       ```
        AlgExecStateSvc holds an AlgExecState for each Algorithm in each Event
       Slot, as well as an overall ```EventStatus``` for each EventSlot, which can
       be one of

       ```
         Invalid = 0,
         Success = 1,
         AlgFail = 2,
         AlgStall = 3,
         Other = 4
       ```
        Algorithms add themselves to the AlgExecStateSvc upon initialization, but
       the Service's initialization of  the data structures is deferred until the
       first time ```AlgExecStateSvc::reset()``` is called, at which point it's
       probably safe to figure out if there's a WhiteBoard, and the number of slots
       to allocate.
        The EventLoopMgr should call ```AlgExecStateSvc::reset()``` at the start of
       each event. If it's a concurrent EventLoopMgr, it should be
       ```AlgExecStateSvc::reset(EventContext)```, after the EventContext object
       has been updated to reflect the new event.
        Also added an EventContext object to the MinimalEventLoopMgr, so that
       serial/concurrent behaviour is similar.
        Concurrent queries to the AlgExecStateSvc must contain the EventContext, so
       the correct EventSlot can be determined. Serial access is via methods that
       don't have the EventContext as a parameter. For access from Algorithm base
       class (eg from setFilterPassed, isExecuted, etc), if the EventContext ptr
       (m_event_context) in the Algorithm is null, we assume we're running
       serially.
        See merge request !197

    ! 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

    ! 2016-06-23 - Sami Kama (commit 3735737)

     - Adding concurrent incident support and example utilization.

       `GaudiExamples/options/AsyncIncidents.py` demonstrates example utilization of
       asynchronous incident mechanism.
        Fixes GAUDI-1213
        See merge request !181

    ! 2016-05-18 - Sami Kama (commit 9eeef96)

     - allow build of Gaudi without LCG and fix ThreadPoolSvc

       Allow building of Gaudi with local externals.
        It also contains a fix to an issue introduced with merge request !160
       (GAUDI-1212).
        Fixes GAUDI-1211, GAUDI-1212.
        See merge request !166

    ============================ GaudiExamples v27r1 =============================

    ! 2016-03-11 - commit 4912fc9

     - Renamed MetaDataSvc to Gaudi::MetaDataSvc

       MetaDataSvc is moved into the Gaudi namespace to avoid conflicts
     with the
       existing MetaDataSvc in ATLAS.
        This also includes a minor fix to MetaDataSvc.
        Fixes GAUDI-1199
        See merge request !138

    ! 2016-03-10 - commit 2de9290

     - added metadata service

       The metadata service adds information about n-tuple production into the
       resulting n-tuple.
        Update and overrides !128
        See merge request !136

    ! 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-03-10 - commit 8a11f51

     - fixed unprotected debug messages

       I also added the possibility of dumping a stack trace for unprotected

       messages.
        Fixes GAUDI-1192
        See merge request !129

    ! 2016-02-29 - commit 223ce08

     - Merge branch 'GAUDI-1183' into 'master'

       reorganize DataHandleHolder visitor acces to avoid non-retrieved tools
        This is not a perfect fix, more a workaround.
        The method `initToolHandles` have been modified to fill the list of used
       `ToolHandle`s only with the tools retrieved explicitly in the `initialize`
       method.

       `GaudiCommon` required the introduction of a hook so that the custom _fixer_
       visitor could be created in the `GaudiCommon::initialize`, but used only at
       the end of `PBASE::sysInitialize` (eb39274).
        I also fixed an issue (double delete) with the use of `ToolHandle` from
       `GaudiCommon` (0a1bec8).
        Fixes GAUDI-1183.
        See merge request !120

    ! 2016-02-22 - commit acafe77

     - correctly initialize CommonMessaging::m_level

       Fixes GAUDI-1185
        See merge request !118

    ! 2016-02-15 - commit 3fbae46

     - fixed a reference file after commit 416a1ecc

       See merge request !113 and !109

    ! 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

    ! 2016-02-11 - commit e2c585c

     - Remove globalTimeOffset getter and GlobalTimeOffset property from GaudiCommon

       GaudiCommon adds a property GlobalTimeOffset and a corresponding getter
       globalTimeOffset to every algorithm/tool which uses GaudiCommon, regardless
       on whether this property is used.

       As there is no code anymore that actually uses globalTimeOffset, this patch
       removes this accessor and the corresponding property.

       Fixes GAUDI-1122.

       See merge request !61

    ! 2016-02-11 - commit dabf7a3

     - Restore fixed ToolHandle.h

       The version of ToolHandle.h before fa29ed33 included some improvements,
     as
       well as the fixes for https://sft.its.cern.ch/jira/browse/CFHEP-177 and
       GAUDI-1127.
        The version introduced with fa29ed33 does not work because of GAUDI-1127.
        See merge request !106

    ! 2016-02-09 - commit 11d42e4

     - DataHandles fixes for LHCb

       - renamed IDataHandleHolder::accept to acceptDHVisitor to avoid build time
       warnings in LHCb
       - fixed reference file for GaudiExamples.thistwrite

       See merge request !104

    ! 2016-02-09 - commit a4bea2b

     - remove unprotected DEBUG messages added in v27r0

       The merge of the 'hive' branch introduced several _unprotected_ DEBUG
       messages,
     which is against LHCb policies.
        Fixes GAUDI-1174.
        See merge request !102

    ! 2016-02-06 - commit d905569

     - introduce DataHandle and DataObjectHandle

       See merge requests !57 !94 !95

    ============================ GaudiExamples v27r0 =============================

    ! 2016-01-21 - commit 10300ee

     - Revert "remove unused GSL components"

       This reverts commit 4244357375685702d7d6322f9990bf539b6375a1.
     Fixes
       GAUDI-1167.
     See merge request !98
        Conflicts:

       GaudiExamples/src/GSLTools/EqSolverIAlg.h
       GaudiExamples/src/GSLTools/EqSolverPAlg.h
       GaudiExamples/src/GSLTools/FuncMinimumGenAlg.h
       GaudiExamples/src/GSLTools/FuncMinimumIAlg.h
       GaudiExamples/src/GSLTools/FuncMinimumPAlg.h
       GaudiGSL/GaudiGSL/GaudiGSL.h
       GaudiGSL/GaudiGSL/GslError.h
       GaudiGSL/GaudiGSL/GslErrorHandlers.h
       GaudiGSL/GaudiGSL/IFuncMinimum.h
       GaudiGSL/GaudiGSL/IGslErrorHandler.h
       GaudiGSL/GaudiGSL/IGslSvc.h
       GaudiGSL/src/Components/EqSolver.cpp
       GaudiGSL/src/Components/EqSolver.h
       GaudiGSL/src/Components/FuncMinimum.cpp
       GaudiGSL/src/Components/FuncMinimum.h
       GaudiGSL/src/Components/GslErrorCount.cpp
       GaudiGSL/src/Components/GslErrorCount.h
       GaudiGSL/src/Components/GslErrorException.cpp
       GaudiGSL/src/Components/GslErrorException.h
       GaudiGSL/src/Components/GslErrorPrint.cpp
       GaudiGSL/src/Components/GslErrorPrint.h
       GaudiGSL/src/Components/GslSvc.cpp
       GaudiGSL/src/Components/GslSvc.h
       GaudiGSL/src/Lib/GaudiGSL.cpp
       GaudiGSL/src/Lib/GslErrorHandlers.cpp

    ! 2016-01-12 - commit 4dbdc8e

     - fixed clang 3.7 compilation warnings

       Fixes GAUDI-1083.
     See merge request !89

    ! 2016-01-12 - commit 5165b50

     - extend the functionality of TupleObj::farray

       - accept an arbitrary number of columns
       - accept generic 'callables'
        With the exception of an added 'projection', this implements the

       functionality discussed in GAUDI-1100.
        See merge request !77

    ! 2016-01-12 - commit 8ec1b7b

     - return the just-added tool from addTool

       augment addTool to return the tool it just added.
     This allows one to write:
       ```python
     myToolWithName = myalg.addTool(tool_conf2,"ToolWithName")

       myToolWithName.String = "xyz"
       ```
     instead of
       ```python
     myalg.addTool(tool_conf2,"ToolWithName")

       myalg.ToolWithName.String = "xyz"
       ```
     which requires one to duplicate the "ToolWithName" -- once as string,
       and
     once as attribute, but only rarely does anybody use getattr for the 2nd

       case to just avoid the duplication.
        Of course, one could write
       ```python
     myalg.addTool(tool_conf2,"ToolWithName", String="xyz")
       ```
     or even pass in a complete dictionary with **, but the configuration of

       the tool isn't necessarily complete at the time of creation of its

       configurable.
        Fixes GAUDI-1162.
     See merge request !87

    ! 2015-11-11 - commit 0a0032f

     - Merge branch 'GAUDI-1130' into 'master'

       fixes to support native build on Ubuntu 15.10
        Fixes GAUDI-1130.
        See merge request !70

    ! 2015-11-02 - commit 57f356c

     - Merge branch 'hive' into 'master'

       Fixes GAUDI-978.

       See merge request !65

    ! 2015-10-29 - commit aa624e1

     - Allow compilation of Gaudi with clang 3.7 using gcc 4.9 externals

       To do so, some arguments have to be passed to cmake, assuming CMTCONFIG is
       x86_64-slc6-clang37-opt
        * LCG_SYSTEM: To specify the flavour of the externals to use
        * LCG_FORCE_COMPILER: To specify the compiler to use, with the
          format "<compiler>-<version>" (an lcg wrapper has to exist for
          this to work).

       Using the LHCb Makefiles, you just need to specify:
       ``` export CMAKEFLAGS="-DLCG_SYSTEM=x86_64-slc6-gcc49
       -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DLCG_FORCE_COMPILER=clang-3.7"
       ```

       Fixes GAUDI-1123 and LBCORE-934.

       See merge request !48

    ! 2015-10-29 - commit 584c6e3

     - fixed GaudiCommonTests.opts after merge request !52

       See merge request !62

    ! 2015-10-28 - commit 0335830

     - remove RootOnTES property from GaudiCommon

       RootOnTES has been marked as deprecated in favour of RootInTES since
       (at least) 2009.

       Fixes GAUDI-1112.

       See merge request !52

    ! 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

    ============================ GaudiExamples v26r4 =============================

    ! 2015-10-07 - commit e3e20a4

     - Merge branch 'GAUDI-1078' into 'master'

       GAUDI-1078: include caller algorithm name in messages from public tools

       Using a feature developed in the LHCb software update the Error, Warning and
       Info method for tools that inherit from GaudiTool to, when created as public
       tools (defined by ultimately being owned by the ToolSvc) to append the
       current active algorithm name to the end of each method.

       So for instance if a private tool would print

           TestToolAlg.ToolC    INFO TestTool:: test info

       a public instance instead prints

           ToolSvc.ToolB        INFO TestTool:: test info [TestToolAlg]

       This feature has proved very useful in applications where a very large number
       of algorithms all use the same public tools, as it allows problems associated
       with what the caller is doing to be much more easy isolated.

       Closes GAUDI-1078.

       See merge request !40

    ! 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-16 - commit 70dc41d

     - Merge branch 'opencl_example' into 'master'

       GAUDI-1062: fixed compilation problem when OpenCL is not found

       See merge request !26

    ! 2015-09-16 - commit 2de61bc

     - Merge branch 'opencl_example' into 'master'

       GAUDI-1062: OpenCL algorithm example

       Proof-of-concept example on how to add OpenCL code to an algorithm and
       compile it.

       See merge request !11

    ! 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

    ! 2015-07-22 - Marco Clemencic
     - Changed the test GaudiExamples.CloneWithPrivateTools to QMTest to allow
       debugging.

    ! 2015-07-21 - Marco Clemencic
     - Fixed some unchecked StatusCode.
     - Fixed some tests and references.

    ! 2015-07-20 - Marco Clemencic
     - Minor clean up and fixes.

    ! 2015-02-27 - Marco Clemencic
     - Minor change to test WriteAndReadHandleError, which failed for the wrong
       reason.

    ! 2015-02-27 - Marco Clemencic
     - Updated test reference files and validators.

    ! 2015-02-27 - Marco Clemencic
     - Added timeout (120s) for test CloneWithPrivateTools.

    ! 2015-02-27 - Marco Clemencic
     - Moved files from src/POOLIO to src/IO (and removed src/POOLIO).

    ============================ GaudiExamples v26r3 =============================
    ! 2015-06-17 - Marco Clemencic
     - GAUDI-1044: added test

    ! 2015-06-03 - Marco Clemencic
     - Added example/test of how to declare a custom factory for an algorithm.

    ============================ GaudiExamples v26r2 =============================
    ! 2015-05-18 - Marco Clemencic
     - fixed GAUDI-1035: cannot build a satellite project with only GaudiExamples
       Now we look for StatusCode.h in ${Gaudi_DIR}.

    ! 2015-05-14 - Marco Clemencic
     - Minor change to heapchecker test to work with latest tcmalloc.

    ! 2015-05-05 - Marco Clemencic
     - Fixed GAUDI-1030: remove Algorithm property "ErrorCount"
       Updated reference files.

    ! 2015-03-31 - Marco Clemencic
     - Adapted ExtendedProperties.cpp after the removal of ParsersFactory.h from
       Parsers.h.

    ! 2015-03-06 - Marco Clemencic
     - Added test for GAUDI-1017
     - Fixed ExtendedProperties test to actually check if GAUDI-1011 works.

    ! 2015-03-05 - Marco Clemencic
     - Added workaround for ROOT-7142 (exposed after GAUDI-1011).

    ! 2015-03-05 - Sasha Mazurov
     - GAUDI-1011: Support std::tuple and std::array properties in jobs options

    ! 2015-03-31 - Marco Clemencic
     - Do not build MultiInput example if RootCnvLib is not built (CMake version).

    ============================ GaudiExamples v26r1p1 ===========================
    ! 2015-03-27 - Charles Leggett
     - don't build MultiInput example for tag ATLAS as Atlas doesn't build RootCnv
       package. Move source file list to a macro.

    ============================ GaudiExamples v26r1 =============================
    ! 2015-02-06 - Marco Clemencic
     - Added test for the IToolSvc method to get the list of tools.

    ! 2015-01-26 - Marco Clemencic
     - Removed duplicated tests.

    ============================ GaudiExamples v26r0 =============================
    ! 2015-01-15 - Marco Clemencic
     - Minor change in the CMake configuration to fix backward compatibility of the
       test environment with CMT.

    ! 2015-01-08 - Marco Clemencic
     - Extended StatusCodeSvc tests to check the new class
       StatusCode::ScopedDisableChecking.

    ! 2015-01-07 - Marco Clemencic
     - Implemented a special test to expose the regression introduced with
       GAUDI-992 (only in CMake build).

    ! 2015-01-07 - Marco Clemencic
     - Reorganized and improved StatusCodeSvc tests.

    =========================== GaudiExamples v25r6p1 ============================
    ============================ GaudiExamples v25r6 =============================
    ! 2014-11-14 - Marco Clemencic
     - Added an example on how to add custom option types.
       (src/Properties/CustomPropertiesAlg.cpp)

    ! 2014-11-12 - Marco Clemencic
     - Fixed reference files after commit 0075497b (patch for Google profiler
       auditors).

    ============================ GaudiExamples v25r5 =============================
    ============================ GaudiExamples v25r4 =============================
    ! 2013-10-02 - Marco Clemencic
     - Fixed reference file after the work-around for ROOT-6697.

    ! 2013-09-18 - Marco Clemencic
     - Fixed reference file after the fix of ROOT-6697.

    ! 2013-08-28 - Marco Clemencic
     - Fixed GAUDI-985: update references to ATLAS TWiki pages.

    ! 2014-07-10 - Marco Clemencic
     - Removed duplicated test.

    ============================ GaudiExamples v25r3 =============================
    ! 2014-07-02 - Marco Clemencic
     - Updated reference file after the changes in OutputStream.

    ! 2014-07-01 - Marco Clemencic
     - Added test for the conditional output in OutputStream (GAUDI-974).

    ! 2014-06-25 - Marco Clemencic
     - Minor change in event_timeout_abort test to avoid false positives.

    ! 2014-06-17 - Marco Clemencic
     - Added test to expose bug GAUDI-971 (successful failover to a replica in
       IODataManager leads to non-zero exit code).

    ! 2014-06-03 - Charles Leggett
     - updates for EventContext class

    #	modified:   src/POOLIO/ReadHandleAlg.cpp
    #	modified:   src/POOLIO/WriteHandleAlg.cpp

    ============================ GaudiExamples v25r2 =============================
    ! 2014-04-29 - Marco Clemencic
     - Added tests to check the multi-input example.

    ! 2014-04-29 - Marco Clemencic
     - Added an example to demonstrate how to access at run time in the TES data
       from a secondary file.

    ! 2014-04-29 - Marco Clemencic
     - Renamed the POOLIO subdirectory to IO.

    =========================== GaudiExamples v25r1p1 ============================
    ============================ GaudiExamples v25r1 =============================
    ! 2014-03-18 - Ben Couturier
     - Fixed bug #104127: remove hwaf configuration.

    ! 2014-03-03 - Marco Clemencic
     - Modified name of the "instantiations" class used in the test dictionary
       to avoid clashed in ROOT 6.

    ============================ GaudiExamples v25r0 =============================
    ! 2014-02-10 - Marco Clemencic
     - Modified the test gaudiexamples.return_codes.sigsegv not to expect a print
       out from the ApplicationMgr (required for ROOT 6).

    ! 2014-02-07 - Marco Clemencic
     - Made the workaround for ROOT-5836 a permanent fix.
       The rationale is that the new warning message we are getting with ROOT 6 is
       an acceptable behavior.
       https://sft.its.cern.ch/jira/browse/ROOT-5836

    ! 2014-02-04 - Marco Clemencic
     - Fixed list of sources.

    ! 2014-02-03 - Marco Clemencic
     - Added test to ensure that old Reflex component names still work with the new
       plugin service.

    ! 2013-12-20 - Marco Clemencic
     - Synchronized CMake configuration with CMT requirements.

    ! 2013-12-19 - Marco Clemencic
     - Fixed error in PluginService build-time test with gcc 4.6.

    ! 2013-12-18 - Marco Clemencic
     - Fixed a typo in TupleEx3.py.

    ! 2013-12-17 - Marco Clemencic
     - Added workaround for SPI-385.
       https://sft.its.cern.ch/jira/browse/SPI-385

    ! 2013-12-16 - Marco Clemencic
     - Added workaround for ROOT-5836.
       https://sft.its.cern.ch/jira/browse/ROOT-5836

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

    ! 2013-12-04 - Marco Clemencic
     - Made public the test event model headers of GaudiExamplesLib (needed to
       support ROOT 6.00-beta).

    ! 2013-11-01 - Marco Clemencic
     - Fix to reference file.

    ! 2013-09-30 - Marco Clemencic
     - Fix for a spurious error in the aida2rootex test with the latest versions
       of ROOT.

    ! 2013-07-26 - Marco Clemencic
     - Fixed a warning.

    ! 2013-07-25 - Marco Clemencic
     - Added build-time test for the PluginService use cases.

    ! 2013-07-22 - Marco Clemencic
     - Fixed reference files of ErrorLog example.

    ! 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
     - Removed explicit link against Reflex from cmt/requirements.

    ============================ GaudiExamples v24r2 =============================
    ! 2013-11-28 - Marco Clemencic
     - Added test for PerEventFile feature of ChronoStatSvc.

    ============================ GaudiExamples v24r1 =============================
    ! 2013-11-18 - Marco Clemencic
     - Updated reference files.

    ============================ GaudiExamples-24-00-00 ========================
    ! 2013-08-30 - Charles Leggett
     - retag for Atlas merge

    ! 2013-06-24 - Marco Clemencic
     - Updated reference files for History and THistSvc tests.

    ! 2013-04-23 - Charles Leggett
     - unchecked StatusCode
    M       src/AlgSequencer/StopperAlg.cpp

    ! 2013-03-26 - Charles Leggett
     - added example for FileMgr
    M       cmt/requirements
    A       src/FileMgr
    A       src/FileMgr/FileMgrTest.cpp
    A       src/FileMgr/FileMgrTest.h
    A       options/FileMgrTest.opts

    ! 2013-03-05 - Charles Leggett
     - conditional usage for GaudiPartProp and RootCnv
    M       cmt/requirements

    ! 2013-11-01 - Marco Clemencic
     - Fix to reference file.

    ! 2013-10-24 - Marco Clemencic
     - Added TupleEx.py options and test (clone of TupleEx.opts, with different
       compression).

    ============================ GaudiExamples v23r10 ============================
    ! 2013-09-09 - Marco Clemencic
     - Reverted changes to the aida2root test and applied them to aida2rootex
       (where they were originally meant to go).

    ! 2013-09-04 - Marco Clemencic
     - Testing the enforcing of deferred write using algorithm type aliasing.

    ! 2013-09-04 - Marco Clemencic
     - Added a test for algorithm type aliasing.

    ! 2013-08-30 - Marco Clemencic
     - Added a basic test for GaudiMP's RecordOutputStream and ReplayOutputStream.

    ! 2013-08-21 - Marco Clemencic
     - Fix for a spurious error in the aida2root test with the latest versions of
       ROOT.
    >>>>>>> origin/master

    ============================ GaudiExamples v23r9 =============================
    ! 2013-07-11 - Marco Clemencic
     - Added tests to expose the solution to bug #101513.

    ! 2013-07-08 - Marco Cattaneo
     - Patch #5653: Add HistoCountersPrint property to GaudiHistos
       Updated reference files.

    ============================ GaudiExamples v23r8 =============================
    ! 2013-05-28 - Marco Clemencic
     - Added test for the abort of stalled events.

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

    ============================ GaudiExamples v23r7 =============================
    ============================ GaudiExamples v23r6 =============================
    ============================ GaudiExamples v23r5 =============================
    ! 2012-11-15 - Marco Clemencic
     - Added a test for CorruptedInputFile exit code that uses a real corrupted
       file.

    ! 2012-11-12 - Marco Clemencic
     - Added a test algorithm to fire custom incidents.
     - Test the return code in case of incident CorruptedInputFile.

    ! 2012-11-07 - Marco Clemencic
     - Added work-around for bug #98693:
         inconsistent behavior after segfault in Python (ROOT).

    ! 2012-11-05 - Marco Clemencic
     - Test that the return code is correct after a segfault.

    ! 2012-09-11 - Marco Clemencic
     - Updated reference file for TBBMessageSvc test.

    ! 2012-07-02 - Marco Clemencic
     - Added a test for the new TBBMessageSvc.

    ============================ GaudiExamples v23r4 =============================
    ! 2012-09-11 - Marco Clemencic
     - Added test for the feature introduced in patch #5518 (histogram for timing
       measurements).

    ! 2012-07-27 - Marco Clemencic
     - Rationalized the permissions of files in the repository.

    ! 2012-06-28 - Marco Clemencic
     - Modified a property test to expose bug #95733 and updated reference files
       after the fix.

    ============================ GaudiExamples v23r3 =============================
    ! 2012-06-09 - Marco Clemencic
     - Fixed a compilation warning in the IntelProfiler examples.

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

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

    ! 2012-06-06 - Marco Clemencic
     - Task #22742: Optimize the GaudiAlgorithm get() functions
       - added call to getIfExists in GaudiCommonTest algorithm

    ! 2012-05-30 - Vanya Belyaev
     - Patch #5379: Improvements for GaudiAlgs.py
       - TupleEx1.py
         add long long and unsigned long long columns

    ! 2012-05-03 - Marco Clemencic
     - Fixed some "pedantic" warnings.

    ============================ GaudiExamples v23r2 =============================
    ! 2012-02-24 - Sasha Mazurov
     - Patch #5210: add example for IntelProfiler
       (see doc/intelprofiler.md)

    ============================ GaudiExamples v23r1 =============================
    ! 2012-02-27 - Marco Clemencic
     - Fixed glitches in the Google Profiling tests
       - normalized CPU profiler output
       - disabled tests on i686 (the package is not built on that platform)

    ! 2012-02-24 - Vanya Belyaev
     - Patch #5235: ntuples in (Gaudi)Python
       - TupleEx4.py:
           remove esoteric vectors and add n-tuple with Time

    ! 2012-02-22 - Marco Clemencic
     - Added tests for Google Profiling Auditors (patch #4852).

    ! 2012-02-06 - Marco Clemencic
     - Extended property tests to use 64 bit integers (patch #5204).

    ============================ GaudiExamples v23r0 =============================
    ! 2012-01-25 - Marco Clemencic
     - Added a test service to trigger failures in various stages.

    ! 2012-01-24 - Marco Clemencic
     - Updated few reference files after the update of RootCnv.
     - Removed obsolete script create_qmt_files.py

    ! 2012-01-17 - Marco Clemencic
     - Minor changes in DataOnDemandSvc after improvements in the code.

    ! 2012-01-16 - Marco Clemencic
     - Added a test for the new dynamic mapping of DataOnDemandSvc (based on the
       already existing test).

    ! 2011-12-13 - Marco Clemencic
     - Added tests using namespace qualifiers in instance names in .opts (Gaudi.exe
       and gaudirun.py).
     - Reordering of tests.

    ! 2011-12-12 - Marco Clemencic
     - Fixed tests for new dependencies:
       - updated configuration
       - translated options
       - fixed dependencies
     - Fixed EvtCol{Write,Read}.py scripts.

    ! 2011-12-09 - Marco Clemencic
     - Rationalized structure:
       - removed obsolete test runner scripts
       - moved python scripts 'scripts'
       - moved reference files to 'tests/qmtest/refs'
       - moved input.hbook to 'tests/data'
     - Added a ConfigurableUser to simplify the configuration (replaces Common.opts)

    ! 2011-12-08 - Marco Clemencic
     - Ported POOLIO Write and Read tests to ROOT.

    ! 2011-12-05 - Marco Clemencic
     - Removed the unused FastContainerSvc.
     - Moved ParticlePropertySvc to a dedicated package and wrapped it in the
       namespace Gaudi.

    ! 2011-12-02 - Marco Clemencic
     - Removed DataListenerSvc test.

    ! 2011-12-01 - Chris Jones
     - Fixed bug #85377: GaudiTuple tuple does not undestand ulonglong
       Add some addition Tuple checks, for various data types.

    ! 2011-11-22 - Marco Clemencic
     - Fixed gcc 4.6 warning (-Wunused-but-set-variable).
       It was already present with ICC, but disabled.

    ============================ GaudiExamples v22r5 =============================
    ============================ GaudiExamples v22r4 =============================
    ! 2011-09-02 - Marco Clemencic
     - Extended ExtendedProperties test to expose bug #86303

    ============================ GaudiExamples v22r3 =============================
    ! 2011-08-16 - Marco Clemencic
     - Fixed some tests (checks) on Windows.

    ! 2011-08-15 - Marco Clemencic
     - Updated reference files (patch #5014)

    ! 2011-08-04 - Marco Clemencic
     - Updated a reference file (patch #4923)

    ! 2011-07-26 - Marco Clemencic
     - Update of a reference file (patch #4891).

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

    ! 2011-04-27 - Charles Leggett
     - added explicit -import=Reflex to requirements
     M     cmt/requirements

    ============================ GaudiExamples v22r2 =============================
    ! 2011-04-08 - Marco Clemencic
     - Updated IncidentSvc test after the introduction of the new incidents
       BeginProcessing and EndProcessing.

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

    ! 2011-03-16 - Marco Clemencic
     - Updated reference files after patch #4727

    ! 2011-03-09 - Marco Clemencic
     - Modified the ErrorLog QMTest description to work with builds both from CMT
       and CMake.

    ============================ GaudiExamples v22r1 =============================
    ============================ GaudiExamples v22r0 =============================
    ! 2011-01-20 - Marco Clemencic
     - Added a test for bug #74981.

    ! 2011-01-19 - Markus Frank
     - Fixes for bug #77109.  Remove calls to DataObject::serialize.
       (patch #4613)

    ! 2011-01-17 - Brett Viren, Marco Clemencic
     - Fixed bug #75996: Support for CLHEP 2.0
       Added a "using namespace CLHEP".

    ! 2011-01-17 - Marco Clemencic
     - Bug #76642: Strange behaviour of InputCopyStream
       Added a test to validate the new behavior of InputCopyStream (fail if
       called after OutputStream).

    ! 2011-01-12 - Marco Clemencic
     - Fixed bug #76395: spurious count printouts in MyTrack and MyVertex classes
       Modified MyTrack and MyVertex to print the count of lost instances only
       if different from 0.

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

    ============================ GaudiExamples v21r11 ============================
    ! 2010-09-22 - Marco Clemencic
     - Added test for bug #71216
       (Gaudi crashes when output nTuple file cannot be written)

    ! 2010-09-21 - Marco Clemencic
     - Fixed bug #70956: Add method to find the reason for termination of the
                         event loop
       - Added tests for the various application return codes.

    ! 2010-09-02 - Marco Clemencic
     - Fixed configuration for the Python binary module.

    ! 2010-09-01 - Marco Clemencic
     - Added an example of a Python binary module in src/PythonModule (plus test).

    ! 2010-08-18 - Charles Leggett
     - Patch #4323: allow user defined heavy ion handling in PartPropSvc

    ============================ GaudiExamples v21r10 ============================
    ! 2010-07-13 - Markus Frank
     - Patch #4212: Fix to POOLIOextColl tests

    ! 2010-06-24 - Markus Frank
     - Patch #4212: Adapt POOLIO tests to check event tag collection bug
       in case address column is booked AFTER arrays/matrices.
       (patch #4210)

    ! 2010-05-27 - Charles Leggett
     - Patch #3683: Ignore unchecked StatusCodes in xxxDict.so libraries
       Added an example of usage of the StatusCodeSvc filters.

    ============================ GaudiExamples v21r9 =============================
    ! 2010-04-23 - Marco Clemencic
     - Adapted the tests to the changed the default values of ApplicationMgr
       properties StopOnSignal and StalledEventMonitoring.

    ! 2010-04-22 - Marco Clemencic
     - Added an algorithm to test the signal handler (GaudiTesting::SignallingAlg)
       and the QMTest test.

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

    ============================ GaudiExamples v21r8 =============================
    ! 2010-03-16 - Vanya Belyaev
     - Patch #3840: Fix for bug #59009
       Add ascii-dump for python histogram examples fix the corresponding reference
       files.

    ! 2010-02-26 - Marco Clemencic
     - Added a test for the EventTimeoutWatchdog of the EventLoopMgr.

    ! 2010-01-29 - Marco Clemencic
     - Fixed icc warning #191: type qualifier is meaningless on cast type

    ! 2010-01-28 - Marco Clemencic
     - Fixed icc remark #424: extra ";" ignored
     - Fixed icc remark #593: variable "X" was set but never used
     - Fixed icc remark #177: X declared but never referenced

    ============================ GaudiExamples v21r7 =============================
    ! 2010-01-14 - Juan Palacios
     - Patch #3652: Bug fixes for GaudiPython HistoUtils.py and TupleUtils.py
       - TupleEx4.py : update the example of usage of Gaudi-NTuples for GaudiPython
                       scripts

    ! 2010-01-11 - Vanya Belyaev
     - Patch #3588: Fix a typo (&logic) in GaudiPython.GaudiAlgs module for "Histo()" method
       - python/HistoEx2.py:
         extend a little bit the example to test "Histos()" method.

    ! 2010-01-11 - Marco Clemencic
     - Updated the reference files after patch #3478.

    ! 2010-01-06 - Marco Clemencic
     - Updates reference files after a change in GaudiPoolDb default options (fix).

    ! 2009-12-18 - Marco Clemencic
     - Modified the tests to be able to run them from a read-only area.

    ============================ GaudiExamples v21r6 =============================
    ! 2009-11-10 - Rob Lambert
     - Patch #3444: Patch to fix logic error in RecordStream
       - updated reference files

    ================ GaudiExamples v21r5 ====================================
    ! 2009-10-13 - Marco Clemencic
     - Disabled the support for LorentzVector as Property (patch #3223) on Windows
       (compilation problem).
     - Clean-up and update of test reference files for Windows.

    ! 2009-10-12 - Marco Clemencic
     - Normalization of white-spaces in Python files.
       (using http://svn.python.org/projects/python/tags/r254/Tools/scripts/reindent.py)
     - Added QMTest test to run the example of patch #2978.

    ! 2009-10-12 - Vanya Belyaev
     - Patch #2978: GaudiKernel/StringKey.h
       Added example script to test the StringKey class.

    ! 2009-10-08 - Vanya Belyaev
     - Patch #3311: Add ASCII dump for 1D-profile histograms
       Extension of patch #3261 to 1D-profile histograms
     - Patch #3223: Add some more "Extended" property types to Gaudi
       Added examples of the new properties.

    ! 2009-10-07 - Vanya Belyaev
     - Patch #3261: Utility for ASCII dump of 1D-histograms
       Simple test that run a small example using the 1D histogram dump.

    ! 2009-10-05 - Marco Clemencic
     - Extended the test on algorithm destructors to take into account the case of
       shared sub-algorithms.

    ! 2009-10-02 - Marco Clemencic
     - Fixed bug #56358: Algorithms crashing in finalize are finalized a second time
       - Modified EvtColWrite.py and EvtColRead.py to call explicitly AppMgr.exit()
         (not called automatically, probably because of a circular dependency
         between Python objects).
     - Fixed bug #55292: Algorithms are never deleted
       - Added a test to verify that the destructors of algorithm are actually called.
     - Introduced a directory for test-specific algorithms.

    ! 2009-09-21 - Marco Clemencic
     - Removed osx specific reference files (the normal Linux ones are good enough)

    ! 2009-09-18 - Marco Clemencic
     - Updated reference files after patch #3249.

    ! 2009-09-08 - Marco Clemencic
     - Updated reference files after patch #3222.

    ================ GaudiExamples v21r4 ====================================
    ! 2009-09-02 - Marco Clemencic
     - Updated Linux reference files after patch #3182.

    ! 2009-07-30 - Marco Clemencic
     - Fixed some doxygen warnings.
     - Fixed a bug in src/GSLTools/FuncMinimumIAlg.cpp.

    ! 2009-07-27 - Marco Clemencic
     - Adapted the reference files to the changes in GaudiAlg.

    ! 2009-07-20 - Marco Clemencic
     - Fixed a misuse of boost::assign::list_of.
     - Added '-no_static' to the declaration of the libraries (implemented since CMT
       v1r20p20081118).

    ! 2009-07-16 - Vanya Belyaev
     - Patch #3134:
       - Some polishing of GaudiPython.GaudiAlgs module and related modules
       - More handles for interactive algorithm inspection (GaudiPython)
       Detailed description in GaudiAlg/doc/patch_3134.html

    ================ GaudiExamples v21r3 ====================================
    ! 2009-07-08 - Christopher Rob Jones
     - Patch #3095: Add support for variable bin width histograms to GaudiAlg

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

    ! 2009-07-03 - Marco Clemencic
     - Updated reference files after changes for  bug #46519.

    ================ GaudiExamples v21r2 ====================================
    ! 2009-06-29 - Marco Clemencic
     - Removed the special compile time flag for the dictionary (problem fixed in
       ROOT 5.22.00c)

    ! 2009-06-22 - Marco Clemencic
     - Added a compile time flag for the dictionary to hide warnings.

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

    ! 2009-06-10 - Marco Clemencic
     - Removed _dll.cpp and _load.cpp files (not needed anymore).

    ! 2009-05-19 - Marco Clemencic
     - Fixed a typo in python/HistEx2.py, added a test python/Aida2RootEx.py and
       adapted it to recent changes.

    ================ GaudiExamples v21r1 ====================================
    ! 2009-05-19 - Marco Clemencic
     - Removed the dependency on HbookCnv.

    ! 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).
       Added the suggested line to HistoEx.py in order to test the feature.

    ! 2009-05-07 - Marco Clemencic
     - Removed the usage of SmartIF::pRef in RandomNumberAlg.cpp (and fixed a typo
       in the name of the file).

    ================ GaudiExamples v21r0 ====================================
    ! 2009-04-20 - Marco Clemencic
     - Removed the code introduced with patch #2601 (prototype for file summary
       records) made obsolete by patch #2699.

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

    ! 2009-04-07 - Markus Frank
     - Patch #2955: Fixup to Records service
       (Marco Clemencic: updated reference files)

    ! 2009-04-06 - Marco Clemencic
     - Updated reference files after fix to bug #48942.
     - Updated reference files after patch #2930 (Unix only).
     - Renamed back the namespace Msg to MSG and moved it into the namespace Gaudi.
     - Renamed back INamed to INamedInterface.

    ! 2009-04-03 - Markus Frank
     - Patch #2792: Update to file records service
       - Renamed /RunRecords to /FileRecords.
       - Removed the default sub-directories in the RecordDataSvc.

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

    ! 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 the test event model classes in src/Lib: Collision, Counter,
         Event, MyTrack, MyVertex (see GaudiKernel release.notes).

    ! 2009-01-22 - Marco Clemencic
     - Adapted to the new IInterface functionalities (see GaudiKernel release.notes)
     - Removed the IID_* constants.
     - Fixed some reference files after a fix of the spelling of a word.

    ================ GaudiExamples v20r4 ====================================
    ! 2008-12-10 - Marco Clemencic
     - Updated the reference files after patch #2699.
     - Renamed the previous version of the POOLIO examples as POOLIO*FSR.

    ! 2008-12-10 - Marcus Frank
     - Patch #2699: First version of run records service
       Update of POOLIO example to use RunRecords.

    ! 2008-12-01 - Marco Clemencic
     - Added an example with private and public tool handles in AlgTools.py.

    ================ GaudiExamples v20r3 ====================================
    ! 2008-11-10 - Charles Leggett, Marco Clemencic
     - Patch #1964. GaudiExample to demonstrate Service initialization loops
       Added example and tests for the option ApplicationMgr.InitializationLoopCheck

    ! 2008-11-04 - Marco Cattaneo
     - Patch #2601. Introduce support for file summary records.
       Changes to the POOLIO examples to support and test the above. The changes
       include a trivial new algorithm, ReadTES, that looks for a list of objects in
       the TES. Also, the POOLIO event model has been changed so that /Event is now
       a DataObject; the Event class is written to /Event/Header.

    ! 2008-10-30 - Marco Clemencic
     - Added an example (options/ConfigurableUser.py) of usage of ConfigurableUser.

    ! 2008-10-28 - Marco Clemencic
     - Updated reference files after fix to bug #42509.

    ! 2008-10-27 - Marco Clemencic
     - Fixed compilation errors and some warnings on gcc 4.3.

    ! 2008-10-22 - Marco Clemencic
     - Added a test for bug #41136 (ToolSvc keeps tools even if initialize fails).

    ! 2008-10-21 - Marco Clemencic
     - Added use of AIDA (previously implied by GaudiPython).

    ! 2008-10-20 - Marco Clemencic
     - Added -no_auto_imports for GaudiPython.

    ! 2008-10-17 - Marco Clemencic
     - Updated reference files for the fix of bug #36917 (listen to all incidents).

    ! 2008-10-10 - Marco Clemencic
     - Updated reference files after patch #2509.

    ! 2008-10-10 - Chris Jones
     - Patch #2509. Suppress messages in GaudiAlg when tools are loaded multiple times
       Minor changes to AlgTools example.

    ! 2008-10-10 - Marco Clemencic
     - Changed the default value of the property HistoPrint of GaudiHistos base
       class.
     - Updated reference files after patch #2483.

    ! 2008-10-10 - Vanya Belyaev
     - Patch #2073: SharedObjectsContainer and 'blind' access to TYPE::Container &
                    TYPE::Selection
       Added an example (Selections) to illustrate the usage of 'blind' access to
       containers and SharedObjectsContainer.

    ! 2008-10-09 - Pere Mato
     - Patch #2261. Introducing name alias for Algorithms and Services
       Added the new macros DECLARE_NAMED_ALGORITHM_FACTORY(type,name) to be used
       instead of the current DECLARE_ALGORITHM_FACTORY(type) for algorithms with
       templates. Similarly for Services.

    ! 2008-10-09 - Marco Clemencic
     - Updated reference outputs after patch #2058.

    ! 2008-10-09 - Vanya Belyaev
     - Patch #2058. Extensions for AIDA::TProfile1D
         * src/Histograms/GaudiHistoAlgorithm.cpp
       Add the examples of booking/filling of 1D-profiles with the various options
       and Y-ranges.

    ! 2008-10-01 - Marco Clemencic
     - Updated the reference file of ErrorLog after patch #1797.

    ! 2008-10-01 - Vanya Belyaev
     - Patch #1750.
       Improved DataOnDemand.py options. Use the python version as default.

    ! 2008-09-30 - Marco Clemencic
     - Modified TupleEx2 to avoid calls to the cartesian Set methods on non
       cartesian vectors (e.g. PtEtaPhiEVector::SetPx) because ROOT 5.21/02 throws
       an exception.

    ! 2008-09-29 - Marco Clemencic
     - Moved specific reference file replacement for Aida2Root into the test.

    ! 2008-09-26 - Marco Clemencic
     - Temporarily disabled the DataListener test, until the configuration problem
       is fixed (Ganga).

    ! 2008-08-05 - Marco Clemencic
     - Use the simplified the way to call standard validation functions in QMTest.
     - Updated reference files because of fix to bug #39116.

    ================ GaudiExamples v20r2 ====================================
    ! 2008-07-15 - Marco Clemencic
     - Added test for:
       - Bug #38882: (GaudiPython) AppMgr.addAlgorithm does not work correctly
                     after initialization

    ================ GaudiExamples v20r1 ====================================
    ================ GaudiExamples v20r0 ====================================
    ! 2008-06-06 - Marco Clemencic
     - Modified the IncidentSvc test to show BeginEvent and EndEvent incidents.
     - Updated reference files after the change in the order of the stop of
       services.

    ! 2008-06-05 - Marco Clemencic
     - Added test for:
       - Bug #35913: Configurables type checking fails on Gaudi::Histo1DDef.

    ! 2008-06-04 - Marco Clemencic
     - Updated reference files after patch #1862.
     - Updated reference files after patch #1865.

    ! 2008-06-02 - Marco Clemencic
     - Task #5809. Extension to Gaudi Application state machine.
       - Updated the tests according to the changes in GaudiKernel, etc.

    ! 2008-05-29 - Marco Clemencic
     - Added small test for ParticlePropertySvc.
     - Fixed reference files after latest changes.

    ! 2008-05-15 - Marco Clemencic
     - Fixed reference files after Patch #1801.

    ! 2008-05-14 - Marco Clemencic
     - Fixed reference files after Patch #1806.

    ! 2008-05-13 - Marco Clemencic
     - Fixed reference files after Patch #1761.

    ! 2008-05-13 - Marco Clemencic
     - Added python translation of Timing.opts
     - Added Timing.py/TimingAlg to the tests.

    ! 2008-05-13 - Vanya Belyaev
     - Patch #1756. Improvements for Chrono/ChronoStat&IChronoSvc
       - TimingAlg.cpp: simple example which illustrates all ways to measure the
                        timing of some lines of code.
       - Timing.opts: the configuration file to run TimingAlg.cpp example.

    ! 2008-05-05 - Marco Clemencic
     - Updated reference files for DataOnDemand example.

    ================ GaudiExamples v19r9 ====================================
    ! 2008-04-03 - Marco Clemencic
     - Updated the reference files for the changes introduced with Patch #1749.
     - Patch #1725. New IAuditor interface.
       Added an example/test to show how to audit some pieces of user code
       (AuditorTestAlg), and how to write a minimal auditor (LoggingAuditor).

    ! 2008-04-02 - Marco Clemencic
     - Updated for the feature removed from GaudiKernel.Configurable (see
       GaudiKernel release.notes).

    ! 2008-03-03 - Marco Clemencic
     - Added test for bug #34121 (setting tool properties in Python).

    ================ GaudiExamples v19r8 ====================================
    ! 2008-02-25 - Marco Clemencic
     - Added test based on the options GSLTools.opts (a very basic one).

    ! 2008-02-21 - Marco Clemencic
     - Added test for bug #30209 (Support of namespaced algorithms in Sequencer).
       A minor change in CounterSvcAlg was needed.

    ================ GaudiExamples v19r7 ====================================
    ! 2008-01-30 - Marco Clemencic
     - Adaptations to changes in GaudiPoolDb and GaudiUtils.

    ! 2008-01-29 - Marco Clemencic
     - Minor improvement to the test gaudiexamples.abort_event.

    ! 2008-01-18 - Marco Clemencic
     - Modified GaudiCommonTests to expose bug #32541 (cannot retrieve RootOnTES
       node).

    ! 2008-01-17 - Marco Clemencic
     - Updated reference files for the changes introduced with patches #1603 and
       #1625.
     - Adapted Aida2Root.cpp to the changes introduced with patch #1625.

    ! 2008-01-15 - Marco Clemencic
     - Moved the validation of the ext_props tests into a separate file (Python
       module), because it is shared among the two tests, and added a hack for
       windows output (which differs from the unix one).

    ! 2008-01-14 - Marco Clemencic
     - Synchronized options/ExtendedProperties.py with its .opts counterpart.
     - Improved the "ext_props" tests to actually check the result of the configuration.

    ! 2008-01-14 - Vanya BELYAEV
     - Patch #1581.
       - src/ExtendedProperties/ExtendedProperties.cpp
       - options/ExtendedProperties.opts
         add new types for the properties

    ! 2008-01-11 - Marco Clemencic
     - Added a test for configuration of tools (using the options AlgTool.py).
       Some changes were needed in MyAlgorithm.

    ! 2007-11-16 - Marco Clemencic
     - Modified the test for AbortEvent to use the new function findReferenceBlock
       of GaudiTest.py.

    ================ GaudiExamples v19r6 ====================================
    ! 2007-11-16 - Marco Clemencic
     - Added an example and a test for the new incident type AbortEvent.

    ! 2007-11-15 - Marco Clemencic
     - Added the new property types introduced with patch #1523 (both in old opts
       and python opts), and the tests to check that the parsing succeeds (it should
       be extended to check the result of the parsing too).

    ! 2007-11-12 - Marco Clemencic
     - Moved the *.qmt files to the implicit suite (directory) "gaudiexamples.qms".

    ! 2007-10-29 - Pere Mato
     - removed fake dictionary of DataObject in the DataOnDemand example.

    ! 2007-10-22 - Marco Clemencic
     - Use the pattern QMTest and add .qmt files (QMTest test description) for all
       the tests run usually with runexamples.py.

    ================ GaudiExamples v19r5 ==============================
    ! 2007-09-29 - Marco Clemencic
     - Fix to allow the compilation of ExtendedProperties on gcc 4.1.

    ! 2007-09-28 - Pere Mato
     - Renamed the meta module containing common configurables from ConfDb to
       Configurables.

    ! 2007-09-28 - Marco Clemencic
     - Changed all "long" persistent data to "int".
       (Triggered by a problem in EvtCollectionSelector due to patch #1345)

    ! 2007-09-26 - Vanya Belyaev
     - patch #1375. Allow configuration of Histogram1D from job options.
    	 - src/Histograms/HistoProps.cpp
    	   Example to illistrate "histogram properties".
       - Modified options/Histograms.opts to illustrate new features.

    ! 2007-09-21 - Hubert Degaudenzi
     - changed the examples in order to use the Gaudi package.

    ! 2007-09-19 - Vanya Belyaev
     - patch #1273.
       - Added print out of "skewness" and "kurtosis" to Aida3Root example.

    ! 2007-08-07 - Vanya Belyaev
     - patch #1265.
       - TupleEx4.py: new example to illustrate the usage of TupleUtils
         module.
     - patch #1263.
       - HistoEx2.py: New python example which illustrates the usage of
         various 1D&2D profile histograms in python.
       - Removed obsolete intermediate call "alg=gaudi.algorith('name')"

    ! 2007-08-06 - Vanya Belyaev
     - patch #1266.
       New example to illustrate the usage of skewness and kurtosis.

    ! 2007-08-06 - Vanya Belyaev
     - patch #1231.
       New example to illustrate the usage of "Stat"-part of IChronoStatSvc.

    ! 2007-07-24 - Marco Clemencic
     - The patch #1252 by Charles Leggett changed the default output of
       THistSvc. I modified the options THistWrite and THistRead to restore
       the old output.

    ! 2007-06-18 - Ivan Belyaev
     - patch #1178. added example CounterSvcAlg.

    ================ GaudiExamples v19r4 ==============================
    ! 2007-05-24 - Marco Clemencic
     - Added example to show the usage of "single-shot" incident listeners
       (see bug #25552).

    ! 2007-05-15 - Chris Jones
     - patch #1134. Patch to demonstrate the patch. Please have a look at
       the release notes of the GaudiAlg package.

    ! 2007-05-14 - Ivan Belyaev
     - patch #1127. Added examples POOLIOExtCollWrite and POOIOExtCollRead
       to demonstrates the patch. Please have a look at the GaudiAlg
       package release notes.

    ! 2007-05-10 - Ivan Belyaev
     - patch #1126. Modification of examples to illustrate the patch

    ! 2007-05-08 - Sebastien Binet
     - patch #1060. Added QotdAlg which demonstrates this new multiple log
       stream feature.

    ! 2007-05-07 - Hubert Degaudenzi
     - removed explicit loading of component libraries through
       ApplicationMgr.Dlls. It is not needed any more.

    ! 2007-05-02 - Hubert Degaudenzi
     - fixed ROOT_linkopts for MacOsX.

    ! 2007-03-29 - Vanya BELYAEV
     - patch #1106. python/Properties.py python/ExtenderProperties.py an
       attempt to deal with new semantics of iProperty.properties() method
       ( see the series of patched to GaudiPython package)

    ================ GaudiExamples v19r2 ==============================
    ! 2007-02-19 - Hubert Degaudenzi
     - protected persistent class behind the Gaudi::Examples namespace.

    ! 2007-02-19 - Ivan Belyaev
     Patch #1002:
     - added use of the new timing tool to the Alsequence options

    ! 2007-02-16 - Charles Leggett
     Patch #1019
     - refactor of the library into a component
       library. Added example for the PartPropSvc.
     - simple example to exercise PartPropSvc.
     - uses env var DATAPATH to be set to pick up PDG data files.

    ! 2007-02-13 - Vanya Belyaev
      patch #1024
     - python/Properties.py
       python/ExtendedProperties.py

       Two python examples
      (full analogues for C++ exmples
       options/Property.opt and options/ExtendedProperties.opts)
       which illustrates the usage of simple and extended
        properties through python

       The last couple of lines for both scripts are commented,
       since gaudimodule.iProperty.properties() method
       is broken with reimplementation using PropertyEntry class.

       th ecorrect behavior is easy to turn on,
       one just need to replace the line:

             dct[p.name()] = PropertyEntry(p)

       with the correct line:

              dct[p.name()] = self.__getattr__( p.name() )

       The real problem is that PropertyEntry is
       assumes that property coudl be ONLY of type
       either ATLAS' GaudiHandler or some primitive type.
       PropertyEntry does not support the property types,
       widely used in LHCb.

     - options/DataOnDemandSvc.opts

       1) replace the (old) properties DataOnDemand.Nodes and
       DataOnDemand.Algorithms with new ma-like properties
       DataOnDemand.NodeMap and DataOnDemand.AlgMap
       2) make use of shorter TES paths (omit the leading
        '/Event')

     - src/ExtendedProperties/ExtendedProperties.cpp
       fix the unchecked StatusCode

    ! 2007-01-26 - Vanya BELYAEV
     patch #990:
     - src/Histograms/Aida2Root.cpp
       options/Aida2Root.opts
         new example which illustrated the usage of Aida2ROOT utility
     - python/Aida2RootEx.py
         the same in Python
     - python/TupleEx3.py
         new example which illustrates more possibilities to fill
         N-tuples with arrays&matrices
     - python/EvtColWrite.py
         tiny fix

    ! 2007-01-23 - Pere Mato
     - added reference files for windows and changed runexamples script
     - POOLIO/Dict.h: removed reference to ContainedOnject.cpp

    ! 2007-01-18 - Charles Leggett
     patch #972.
     - add messageCount to IMessageSvc
     - extend Auditor::(sys)afterExecute to pass a const StatusCode&,
       which is the return code of the algorithm
     - new auditor to monitor algorithms, issue message if algorithm
       writes out an ERROR or FATAL, but returns SUCCESS
     - Added AlgErrAud example (this one requires to have the patch #973
       applied as well)

    ================ GaudiExamples v19r1 ==============================
    ! 2006-12-22 - Hubert Degaudenzi
     - added History, ErrorLog, THistWrite and THistRead examples.

    ! 2006-11-30 - Pere Mato
      Adpated package to the new PluginSvc
      - Removed protected from constructor/destructors and fiendship of
        Factory class
      - Added ; on macro invokation. This is align with the rest of the
        LCG software

    ! 2006-11-29 - Hubert Degaudenzi
     - this is the beginning of the release notes for the merge with the
       v18r12 release (v18r7b branch).

    ! 2006-11-26 - Vanya BELYAEV
      Patch #924
     - src/TupleAlg3.cpp
       add new example for N-Tuple fill with ROOT-objects
       on request form Patrick Koppenburg:
         3D/4D-vectors, SVectors and SMatrices
     - options/TupleEx.opts
        add new algorithm into the configuration
     - python/TupleEx2.py
        new examples with advancs N-Tuple fill
     - src/Maps/MapAlg.cpp
       options/Maps/opts
        new algorithm which shows different
        maps available in Gaudi

    ! 2006-11-29 - Hubert Degaudenzi
     - this is the end of the release notes for the merge with the
       v18r12 release (v18r7b branch).

    ! 2006-11-07 - Hubert Degaudenzi
     - fixed cmt.py to use "os.environ" instead of "os.putenv". This is
       needed since we are using the variable GAUDIEXE inside the
       runexamples.py script (and not in its subprocesses). GAUDIEXE is
       set by GaudiKernel to $GAUDIKERNELROOT/$(tag)/Gaudi.exe.
     - fixed valgrind options in runexamples.py. It has to use a tool and
       memcheck has been chosen.

    ! 2006-10-31 - Hubert Degaudenzi
     - modified the examples in order to use two libraries (GaudiExamples
       and GaudiExamplesDict) and $GAUDIKERNELROOT/$(tag)/Gaudi.exe.

    ! 2006-06-07 - Marco Clemencic
     - Patch #736. Modified the FastContainers example to be more readable
       and to show the usage of the three ways of adding a new object to
       the containers.

    ! 2006-10-23 - Hubert Degaudenzi
     - reenabled the DataListenerSvc example.

    ! 2006-10-23 - Hubert Degaudenzi
     - changed cdiff.py in order to use the difflib python module. Allows
       to avoid the use of cygwin on windows to compute the diffs between
       the output log file and the reference log file.

    ! 2006-10-10 - Hubert Degaudenzi
     - removed the use of the environment variable GAUDIPOOLDBROOT in the
       joboption files. Now the GaudiPoolDb package has a path_append to
       add its own settings in the JOBOPTIONSSEARCHPATH.

    ================ GaudiExamples v19r0 ==============================
    ! 2006-09-21 - Charles Leggett
     - split the THist example in THistWrite and THistRead example.

    ! 2006-09-18 - Hubert Degaudenzi
     - modified the new examples. They now uses the main from
       GaudiKernel.

    ! 2006-09-14 - Hubert Degaudenzi & Charles Leggett
     - added examples for THistSvc, ErrorLog and HistorySvc.

    ================ GaudiExamples v18r7 ==============================
    ! 2006-09-05 - Hubert Degaudenzi
     - Commented out King's service temporarily since it doesn't compile
       on windows.
     - Fixed conditional compilation of Stager.exe

    ! 2006-09-04 - Ben King
     - Added DataListener example. Please have a look at the service for
       the details.

    ================ GaudiExamples v18r6 ==============================
    ! 2006-07-12 - Hubert Degaudenzi
     - changed the backend for python examples from HBook to ROOT.
     - updated the reference files.

    ! 2006-06-06 - Ivan Belyaev & Alexander Mazurov
     - inserted example which demonstrated the possibilities of the new
       property parser/compiler.

    ================ GaudiExamples v18r5 ==============================
    ! 2006-05-24 - Marco Clemencic
     - added new example FastContainers for the new
       TransientFastContainers.

    ================ GaudiExamples v18r4 ==============================
    ! 2006-04-20 - Hubert Degaudenzi
     - removed legacy line of code for old compilers (before gcc 3)
     - updated ref files.

    ================ GaudiExamples v18r3 ==============================
    ! 2006-03-16 - Hubert Degaudenzi
     - removed obsolete ROOTIO examples.

    ! 2006-03-15 - Hubert Degaudenzi
     - now take the main function from GaudiKernel.

    ! 2006-03-09 - Markus Frank
     - patch #594. Add use of objects in N-tuples (Event tag collections)
       to the POOLIO example.
     - update of the ref files.

    ! 2006-01-25 - Ivan Belyaev
     - Added the example "Allocator" which demonstrates the speed increase
       of dynamic allocation with the new allocator class in GaudiKernel.

    ================ GaudiExamples v18r2 ==============================
    ! 2006-01-25 - Marco Clemencic
     - patch #659. Modified POOLIO and RootIO examples replacing
       ITime+TimePoint with Gaudi::Time

    ! 2006-01-19 - Pere Mato
     - adapted to use genreflex (Reflex from ROOT)

    ! 2006-01-10 - Hubert Degaudenzi
     - use of the DECLARE_XXX_FACTORY macros. replacement of the
       corresponding code.

    ================ GaudiExamples v18r1 ==============================
    !2005-12-16 - Hubert Degaudenzi
     - added the examples from the python directory (Vanya). Added the
       corresponding reference files (.pyref).
     - Changed the runexamples.py  script to include them as well. 2
       options have been added: --pyonly runs only the python examples and
       --exeonly runs only the executables files (with options files). By
       default all the examples are run.
     - update of all the reference files.

    !2005-12-05 - Manuel Domenech
      - modified joboptions for AIDATuple examples to show POOL backend
        syntax
      - modified AIDATupleAlgorithmRead to show the setCriteria method
        to make preselections when reading tuples

    ! 2005-11-29 - Vanya BELYAEV

     - src/TupleEx/TupleDef.h
       src/TupleEx/TupleDef.cpp
       src/TupleEx/TupleAlg.cpp
       options/TupleEx.opts

          new (sub)example which illustrate how to define effective
          custom columns for N-Tuple. In this example filling N-Tuple
          with "dublets" and "triplets" are illustrated, where "dublet"
          is  std::pair<double,double> and  "triplet" is
          std::pair<std::pair<double,double>,double>

    ================ GaudiExamples v18r0 ==============================
     - Updated Python examples to work with latest GaudiPython

    ================ GaudiExamples v17r2 ==============================
    ! 2005-11-09 - Pere Mato
     - fixed DataOnDemand and Properties tests (windows)

    ================ GaudiExamples v17r1 ==============================
    ! 2005-10-13 - Hubert Degaudenzi
     - fix warning messages in the Histograms example

    ================ GaudiExamples v17r0 ==============================
    ! 2005-10-03 - Hubert Degaudenzi
     - applied patch #518 by Ivan Belyaev.
       New python example to access Event Tag Collections form python. As
       input the "pseudo-DST", created by C++-example EvtColsEx (see patch
       #517) is used.

         cd $GAUDIEXAMPLESROOT/cmt
         # write collection:
         ../python/EvtColWrite.py
         # read event tag collection:
         ../python/EvtColRead.py

    ! 2005-08-14 - Chris Jones
     - Add algorithm GaudiHistoAlgorithm to the src/Histograms example.
       Illustrates the use of the GaudiHistoAlg base class.
     - Update TupleAlg example algorithm to illustrate the use of both numeric
       and literal IDs.

    ! 2005-08-07 - Vanya BELYAEV

        Set of new ++ and Python examples

     - src/CounterEx/Counteralg.cpp
       options/CounterEx.opts

         new C++ example for usage of general statistical counters
         for GaudiAlgorithm-based classes

     - python/CounterEx.py

         new pure Python example for usage of general statistical
         counters for GaudiAlgo-based classes

     - python/HistoEx.py, python/HistoEx1.py,

         new pure Python example for usage of general histogramming
         facilities for HistoAlgo-based classes

     - python/TupleEx.py

         new pure Python example for usage of general facilities for
         N-Tuples for TupleAlgo-based classes

       New files:
       ==========
       python/CounterEx.py
       python/HistoEx.py
       python/HistoEx1.py
       python/TupleEx1.py
       src/CounterEx/CounterAlg.cpp

    ================ GaudiExamples v16r3 ==============================
    !20050705 - Hubert Degaudenzi
      - added example for the Stager Service

    ================ GaudiExamples v16r2 ==============================
    !20050509 - Hubert Degaudenzi
      - added example for Vanya's extension of the Tuple class

    ================ GaudiExamples v16r1 ==============================
    !20050322 - Hubert Degaudenzi
      - added CppUnit in the requirements file
      - added "ApplMgr.appName=GSLTools" to test the renaming of the application
        manager with GSLTools.exe.
      - added AIDATuple examples:
    	1) to write Tuples: AIDATupleWrite.exe ../options/AIDATupleWrite.opts
    	2) to read Tuples: AIDATupleRead.exe ../options/AIDATupleRead.opts

    ================ GaudiExamples v16r0 ==============================
    !20050117 - Pere Mato
      - Modified Histograms to add test profile histograms

    ================ GaudiExamples v15r1 ==============================
    !20041025 - Pere Mato
      - Added new DataOnDemand example

    ================ GaudiExamples v15r0 ==============================
    !20040515 - M.Frank
      - Adapt the GaudiMT example to the new event selector interface
      - Add GaudiPoolDb persistency example: POOLIO
        1) Write data with POOL:  POOLIOWrite.exe ../options/POOLIOWrite.opts
        2) Read data with POOL:   POOLIORead.exe ../options/POOLIORead.opts
        3) Write eventCollection: POOLIOCollWrite.exe ../options/POOLIOCollWrite.opts
        4) Read  eventCollection: POOLIOCollRead.exe ../options/POOLIOCollRead.opts

    ================ GaudiExamples v14r1 ==============================

    !20040401 - Pere Mato
      - GSLTools: Adapted to new version of GaudiGSL (not compatible)
        basically the "Adapters" have changed in a non compatible way.

     !20040309 - Pere Mato
      - Added extra test in AlgTools example to check if tools are released, finalized and
        destroyed even in the case of cyclic dependencies

    ================ GaudiExamples v14r0 ==============================
    !20040108 - Pere Mato

    ================ GaudiExamples v13r0 ==============================
    !20031127 - Pere Mato
      - Added new examples to test new version of GaudiGSL (GSLTools)
      - Changed for new AIDA (3.0) with namespaces

    !20031024 - Paolo Calafiura
      - runexamples.py: first attempt at running valgrind. Needs work on output parsing

    ================ GaudiExamples v12r1p1 ==============================
    !20030721 - Paolo Calafiura
      - PropertyAlg.cpp: vector streamer now in MsgStream.h

    ================ GaudiExamples v12r1 ================================
    !20030702 - Paolo Calafiura
      - modified Property example to test the job opt search path mechanism
      - hacked runexamples.py to deal with JOBOPTIONSSEARCHPATH
      - updated ref outputs

    ================ GaudiExamples v12r0 ================================
    ! 20030404 - Pere Mato
      - fixed requirements to work on Windows after including
        new examples

    ! 20030311 - Paolo Calafiura
      - bug fixes in GaudiMT, PropertyAlg

    ! 20030227 - Charles Leggett and Paolo Calafiura
      - New example ColorMsg to test colorized messages

    ! 20030225 - Werner Wiedenmann and Paolo Calafiura
      - New example GaudiMT to test multi-thread extensions

    ! 20030204 - Pere Mato
      - Renamed and moved job option files to /options with name .opts
      - Added script 'runexamples.py' to run all examples at once and compare
        output with reference files

    ================ GaudiExamples v11r1 ================================
    ! 20021112 - Pere Mato
      - Changed Histograms.exe example to test reading histograms

    ================ GaudiExamples v11r1 ================================
    ! 20021029 - Pere Mato
      - Compilation with gcc-3.2

    ================ GaudiExamples v11r0 ================================
    ! 20021004 - Pere Mato
      - Updated examples to test new features of the release:
        - GaudiGSL minimizer
        - Access to Properties Catalogue
        - Variable size PAW common block

    ================ v10r99 ================================
    ! 20020923 - Flr
      requirements - use v*

    ================v10r4====================================
    ! 20020717 - Pere Mato
      Adapted to use Gaudi v10r4
    	Extended Properties example to test properties with units and
      negative float numbers in arrays

    ================v10r3====================================
    ! 20020702 - Pere Mato
      Adapted to use Gaudi v10r3
      Added Extended RandomNumber example to test GaussianTail
      distribution

    ================v10r2====================================
    ! 20020429 - Pere Mato
      Adapted to use Gaudi v10r2

    ================v10r1====================================
    ! 20020429 - Pere Mato
      Adapted to use Gaudi v10r1

    ================v10r0====================================
    ! 20020327 - Pere Mato
      Added test for Ntuples and histograms

    ! 20020213 - Pere Mato
      Enhanced AlgSequecer test with Sub- and Parent-Algorithms

    ================v9r0=====================================
    ! 20011116 - Pere Mato
      Small changes to make examples work for Gaudi v9
      Added new example AlgTools to test the Algorithm tools

    ! 20010629 - Pere Mato
      Major changes in the ....

    ! 20010508 - Pere Mato
      Using new version of GaudiKernel

    ! 20010319 - Pere Mato
      Added testing of boolean properties to the Properties program

    ! 20010315 - Pere Mato
      Added new example (GPython) to exercise the Python scripting packages

    ! 20010312 - Pere Mato
      Adapted example Properties to include the latest features of the Property class:
      Update and Read handlers, empty vectors in JobOptions, etc.

    ! 20001219 - Pere Mato
      Added a new example to test ROOT I/O

    ! 20001212 - Pere Mato
      Added a new example to test Properties

    ! 20001108 - Pere Mato
      Extracted the AlgSequencer and RandomNumber examples from the
      LHCb collection of examples