| The Gaudi Framework v28r2p1 (f1a77ff4)

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

GaudiAud

    Package: GaudiAud
    Package manager : David Quarrie, Marco Clemencic
    Commit Id: $Format:%H$

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

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

    ================================ 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 - Attila Krasznahorkay (commit ac4dbc7)

     - Changes to build on MacOS X 10.11

       See merge request !200

    ! 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-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

    =============================== GaudiAud v10r5 ===============================

    ! 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

    =============================== GaudiAud v10r4 ===============================

    ! 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

    =============================== GaudiAud v10r3 ===============================

    ! 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-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

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

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

    =============================== GaudiAud v10r0 ===============================
    ! 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.

    =============================== GaudiAud v9r9 ================================
    ! 2013-06-06 - Marco Clemencic
     - Minor change in the configuration of a test to work around an issue in the
       latest JobOptions parser.

    =============================== GaudiAud v9r8 ================================
    ! 2012-11-14 - Marco Clemencic
     - Updated CMakeLists.txt.

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

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

    =============================== GaudiAud v9r5 ================================
    ! 2011-11-01 - Marco Clemencic
     - Backward compatible changes to prevent a segfault when generating the
       Configurables.

    =============================== GaudiAud v9r4 ================================
    ! 2011-04-15 - Marco Clemencic
     - Synchronized with patch #4820.

    ! 2011-03-30 - Marco Clemencic
     - Fixed a bug in the properties of CommonAuditor.

    ! 2011-03-29 - Marco Clemencic
     - Fixed a bug in the logic of CommonAuditor::i_auditEventType.

    ! 2011-03-23 - Marco Clemencic
     - Fixed bug #79627: ChronoAuditor broken for start/stop event types
       Moved common code to a common base class CommonAuditor, sharing as much as
       possible the code among auditor implementations.

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

    =============================== GaudiAud v9r2 ================================
    ! 2010-01-28 - Marco Clemencic
     - Fixed icc remark #424: extra ";" ignored

    ================ GaudiAud v9r1 ====================================
    ! 2009-07-30 - Marco Clemencic
     - Fixed some doxygen warnings.

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

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

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

    ! 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-01-30 - Marco Clemencic
     - Replaced all the occurrences of endreq with endmsg.

    ! 2009-01-22 - Marco Clemencic
     - Adapted to the new IInterface functionalities (see GaudiKernel release.notes)
     - Renamed INamedInterface to INamed.

    ================ GaudiAud v8r8 ====================================
    ! 2008-12-16 - Frank Winklmeier
     - Patch #2710: NameAuditor support of new FSM
       Fully support new FSM to allow auditing of start/stop.

    ================ GaudiAud v8r7 ====================================
    ! 2008-11-10 - Charles Leggett
     - Patch #2183. Link to Atlas error policy in AlgErrorAuditor

    ! 2008-10-02 - Charles Leggett
     - Patch #1939. Allow auditors to catch CustomEventTypes

    ================ GaudiAud v8r6 ====================================
    ! 2008-05-13 - Marco Clemencic
     - Fixed compilation problem introduced with patch #1756.
       Explicit include of IChronoStatSvc.h was needed in ChronoAuditor.cpp.

    ================ GaudiAud v8r5 ====================================
    ! 2007-03-11 - Charles Leggett
     - Patch #1717. Audit memory at initialize time.
       Uncommented the function to get the memory utilization after initialize (in
       MemStatAuditor).

    ================ GaudiAud v8r4 ====================================
    ! 2007-11-13 - Charles Leggett
     - bug #28570.
       Modified AlgContextAuditor to avoid that it passes a null pointer to
       AlgContextSvc. It happens if the AuditorSvc is auditing objects that inherit
       from INamedInterface, but not from IAlgorithm (e.g. services).

    ! 2007-11-13 - Marco Clemencic
     - Added a test to expose bug #28570.

    !==============v8r3==========================================================
    ! 2007-08-06 - Vanya Belyaev
     - patch #1231. Added explicit include IChronoStatSvc.h in MemStatAuditor.cpp

    !==============v8r2==========================================================
    ! 2007-05-24 - Vanya Belyaev
     - patch #1171. The enhancement of existing Algorithm Context Service
       is the primary goal of the proposed patch. The existing
       AlgContextSvc is not safe with respect to e.g. Data-On-Demand
       service or to operations with subalgorithms. The patched service
       essentially implements the queue of executing algorithms, thus the
       problems are eliminiated. In addition the enriched interface
       provides the access to the whole queue of executing algorithms.

    ! 2007-05-11 - Charles Leggett
     - patch #1150. If the AlgErrAuditor detects that an illegal
       StatusCode/MessageStream combination has been issued by an
       Algorithm, an exception or an abort() can be thrown, configured by
       a jobOpt. Also prints out summaries at the end of the job of
       illegal combination.

    ! 2007-04-27 - Sebatien Binet
     - patch #25889. Fixed uninitialized private members of AlgErrorAuditor.

    !==============v8r1==========================================================
    ! 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

    !==============v8r0==========================================================
    ! 2007-01-12 - Hubert Degaudenzi
     - bug #22799. changed the return value of chronoStart, chronoStop,
       chronoPrint, stat and statPrint method of the IChronoStatSvc from
       StatusCode to void.

    ! 2006-12-13 - Charles Leggett
     - instrumented auditors for reinitialize, beginRun, endRun

    ! 2006-11-30 - Pere Mato
      Adapted package to the new PluginSvc
      - Removed protected from constructor/destructors and friendship of
        Factory class

    !==============v7r2==========================================================
    ! 2006-09-21 Hubert Degaudenzi
     - use of the DECLARE macros for the auditor factories.

    ! 2006-09-13 Charles Leggett and Hubert Degaudenzi
     - added AlgContextAuditor (remove from GaudiSvc)

    !==============v7r1==========================================================
    ! 2006-04-13 Charles Leggett and Hubert Degaudenzi
     - inserted ATLAS feature INamedInterface.

    !==============v7r0==========================================================
    ! 2006-03-15 - Hubert Degaudenzi
     - replaced the returned StatusCode with void for before*/after*
       methods of auditors. Interface changed.

    !==============v6r6==========================================================
    ! 2006-01-27 - Pere Mato
     - Use the compoment_library pattern

    !==============v6r5==========================================================
    ! 2004-06-08 - Pere Mato
    - ProcStats.h(.cpp) Fixed [bugs #3667] bytes to Mbytes conversion in ProcStats.cpp

    !==============v6r4==========================================================
    ! 2004-01-15 - Pere Mato
    - Added changes from ATLAS (Paolo et al.)

    !==============v6r3==========================================================
    ! 2004-01-07 - David Rousseau
    - MemStatAuditor::printinfo: don't return when p->fetch(info) is false

    ! 2003-11-06 - David Rousseau
    - radically change the philosophy of MemStatAuditor: MemStatAuditor
        now accumulate the incremental change of memory usage during the job.
      Only VSize is monitored (RSS is less reproducible).
      This allows to spot in which algorithm memory leak happen

    ! 2003-11-26 - Pere Mato
     - Small changes for Mac OSX (Guy Barrand)
    !==============v6r2==========================================================
    ! 2003-01-06 - Sebastien Ponce
     - better support for gcc 3.2

    !==============v6r1==========================================================
    ! 2002-09-24 - Pere Mato
     - Changes to clean the reference counting and memory deallocation
       detected by the "valgrind" tool. Changed failes: ChronoAuditor.cpp (.h)
     - requirements: use v*

    !==============v6r0p1=========================================================
    ! 2002-09-23 - Flr
     - requirements - use GaudiKernel v*

    !=============================================================================
    !20010508 - Pere Mato
     - Using GaudiKernel v10

    !=============================================================================
    !20010206 - Pere Mato
    - New Auditor MemStatAuditor made by I. Belyaev added to the package

    !=============================================================================
    !20001025 - GaudiAud v1 -David Quarrie
    - This package contains concrete Auditors. An Auditor monitors some resource
      on a per-Algorithm basis. It performs this monitoring by calls immediately
      before and after the appropriate initialize, execute and finalize calls.

      Initial implementations are:

      NameAuditor   This is a diagnostic tool that just displays the name of
                    each Algorithm.

      ChronoAuditor This displays at the end of job the total and per event
                    cpu time taken by each Algorithm.

      MemoryAuditor This warns of possible memory leaks. However, Algorithms
                    that register objects with the transient event store will
                    cause this warning to be triggered. It is designed to
                    warn of memory leaks from Algorithms that retrieve objects
                    from the transient event store.