The Gaudi Framework
v30r3 (a5ef0a68)
|
Package: GaudiSvc Package manager : Marco Clemencic Commit Id: $Format:%H$ ================================ Gaudi v28r3 ================================= ! 2017-05-30 - scott snyder (commit 418b25f5) - Merge branch 'clang-warn-20170525' into 'master' Fix some clang compilation warnings: unused variables, parameters, typedefs. See merge request !344 ================================ Gaudi v28r2 ================================= ! 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 ================================ Gaudi v28r1 ================================= ! 2016-12-14 - Attila Krasznahorkay (commit a42ff2a) - CMake configuration changes to build Gaudi with optional externals missing In the last days I experimented a bit with teaching Gaudi how to build when only ROOT, Boost and TBB are available to it. This is the result. As far as I can tell the code builds in the same way as the current master branch when all possible externals are available. (All the ones available in a full ATLAS offline build at least.) And I'm also able to build the project in these modes: * On Ubuntu 16.04 with the system provided Boost and TBB versions, against a privately built ROOT 6 version. * On macOS Sierra against privately built Boost, ROOT and TBB versions. Both when building the project completely on its own, and when building it against an ATLAS externals project. Some notes: * The code uses C++14 expressions in quite a few places by now. So I raised the default C++ standard to C++14. This is the default in ATLAS builds since a while, I only saw this as an issue when building Gaudi "on its own" with a very minimal configuration command. * While the code advertises that it still has support for ROOT 5, it's not able to build against it since a wile. Since the updates I put in for TLS variables on macOS. (The macros used there are ROOT 6 only.) And this update makes things even worse. As the code now relies on not providing the definition of some classes to the dictionary generator in GaudiPython that are not available. (Because AIDA or XercesC is missing.) While ROOT 6 handles this with just a build warning, ROOT 5's genreflex treats this with an ERROR message. That I was unable to get rid of. So, extended testing is clearly necessary, the configuration code could definitely be fine tuned as I probably turned off the build of more source files than absolutely necessary, but I think we should move ahead with such a configuration organisation. See merge request !241 ! 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-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-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-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 ! 2016-05-25 - Charles Leggett (commit 8c5261b) - fix typo in THistSvc::getHists() check inheritance from `TH1` instead of `TH11` Fixes GAUDI-1209 See merge request !170 and atlas/Gaudi!26 ! 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 ! 2016-03-22 - Attila Krasznahorkay (commit 60532ce) - Fixing a logic error in THistSvc::deReg The error that made it impossible to de-register histograms. With this fix the ATLAS code seems to behave as expected. See merge request !143 =============================== GaudiSvc v22r1 =============================== ! 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-22 - commit acafe77 - correctly initialize CommonMessaging::m_level Fixes GAUDI-1185 See merge request !118 ! 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-06 - commit d905569 - introduce DataHandle and DataObjectHandle See merge requests !57 !94 !95 =============================== GaudiSvc v22r0 =============================== ! 2015-11-02 - commit 57f356c - Merge branch 'hive' into 'master' Fixes GAUDI-978. See merge request !65 ! 2015-10-26 - commit de80db5 - More modernization changes Fix (almost) all warnings from clang 3.7, and use clang-modernize to further modernize the code. Fixes GAUDI-1118. See merge request !49 =============================== GaudiSvc v21r7 =============================== ! 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-14 - commit f7feb7c - GAUDI-1082: Fixed compilation with CLHEP 2 after merge request !7 ! 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-02-27 - Marco Clemencic - Updated test reference file. ! 2014-04-24 - Charles Leggett - updated generate_rootmap to generate_componentlist M cmt/requirements =============================== GaudiSvc v21r6 =============================== ! 2015-05-21 - Marco Clemencic - Fixed compilation with CMT. ! 2015-03-14 - Marco Clemencic - GAUDI-1024: Replaced GaudiKernel/Tokenizer with the new AttribStringParser. ! 2015-04-09 - Marco Clemencic - Use C++11 lambdas instead of boost::bind in FileMgr. =============================== GaudiSvc v21r5 =============================== ! 2015-01-07 - Marco Clemencic - Fixed g++ 4.9 warning (unused typedef). =============================== GaudiSvc v21r4 =============================== ! 2014-09-18 - Marco Clemencic - Fixed Eclipse Code Analysis warning. =============================== GaudiSvc v21r3 =============================== ! 2014-06-11 - Charles Leggett - FileMgr: execActs(): check iterator M src/FileMgr/FileMgr.cpp ! 2014-06-09 - Charles Leggett - FileMgr: made execActions() const, fixed some mem isssues. M src/FileMgr/FileMgr.h M src/FileMgr/FileMgr.cpp =============================== GaudiSvc v21r2 =============================== ! 2014-04-14 - Marco Clemencic - Removed obsolete/pointless call to 'generate_rootmap' pattern. =============================== GaudiSvc v21r1 =============================== ! 2014-03-18 - Ben Couturier - Fixed bug #104127: remove hwaf configuration. ! 2014-02-21 - Marco Clemencic - Modified the genconfig_add_extraModules pattern. =============================== GaudiSvc v21r0 =============================== ! 2013-12-11 - Sebastien Binet - Added hwaf configuration files. ! 2013-07-19 - Marco Clemencic - Clean up in the use of the new PluginService. ! 2013-07-18 - Marco Clemencic - Removed use of obsolete AlgFactory.h, SvcFactory.h, ToolFactory.h, AudFactory.h and CnvFactory.h. ! 2013-07-17 - Marco Clemencic - Use the new ROOT-free Plugin Service. ! 2013-07-17 - Marco Clemencic - Removed factories forward declarations. ! 2013-07-03 - Marco Clemencic - Removed explicit link against Reflex from cmt/requirements. - Replaced references to ROOT::Reflex::PluginService with Gaudi::PluginService. =============================== GaudiSvc v20r1 =============================== =============================== GaudiSvc-20-00-00 ========================= ! 2013-08-30 - Charles Leggett - retag for Atlas merge ! 2013-06-24 - Marco Clemencic - Fixed compilation with C++11 after the changes to THistSvc.cpp. - Added FileMgr to CMake configuration. ! 2013-04-18 - Charles Leggett - added GaudiMonitor to list of extra modules M python/ExtraModules.py ! 2013-04-05 - Charles Leggett - automatically import modules from GaudiCoreSvc and GaudiCommonSvc into GaudiSvcConf.py for ATLAS tag via genconfig_add_extraModules pattern and use of python/ExtraModules.py file A python A python/ExtraModules.py M cmt/requirements ! 2013-03-06 - Charles Leggett - merge with GaudiSvc-18-13-39 - add FileMgr - update THistSvc M cmt/requirements A src/FileMgr A src/FileMgr/POSIXFileHandler.cpp A src/FileMgr/RootFileHandler.cpp A src/FileMgr/FileMgr.cpp A src/FileMgr/POSIXFileHandler.h A src/FileMgr/RootFileHandler.h A src/FileMgr/FileMgr.h M src/THistSvc/THistSvc.icc M src/THistSvc/THistSvc.cpp M src/THistSvc/THistSvc.h =============================== GaudiSvc v19r4 =============================== !2013-04-09 - Hubert Degaudenzi - src/THistSvc/THistSvc.cpp: fixed cppcheck warning. =============================== GaudiSvc v19r3 =============================== ! 2012-11-07 - Marco Clemencic - Fixes to use the '-pedantic' option. =============================== GaudiSvc v19r2 =============================== ! 2012-07-27 - Marco Clemencic - Rationalized the permissions of files in the repository. =============================== GaudiSvc v19r1 =============================== ! 2012-06-08 - Marco Clemencic - Added CMake configuration files. =============================== GaudiSvc v19r0 =============================== ! 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 - Moved VFSSvc from GaudiSvc to GaudiUtils. - Moved to GaudiMonitor: - AlgContextSvc - ExceptionSvc - HistorySvc - IssueLogger ! 2011-11-01 - Marco Clemencic - Moved core services out of GaudiSvc and into the new packages GaudiCoreSvc and GaudiCommonSvc. (patch #1816) - Removed AIDATupleSvc. ! 2011-12-07 - Marco Clemencic - Fixed bug #89653: Gaudi is not ready for Boost 1.48 (filesystem V3) - Problem with Boost (1.48) Spirit: disabled to -pedantic option (temporarily) ============================== GaudiSvc v18r17 =============================== ! 2011-10-12 - Charles Leggett - THistSvc: call Reset() on all TTrees and THNs in io_reinit when copying to worker directory. This prevents the data recorded in the first (n) events during a multi-process job from appearing in all the worker outputs, as the first (n) events get rerun. M src/THistSvc/THistSvc.cpp ! 2011-09-29 - Charles Leggett - Fixed bug #87253: Don't override exception type when re-throwing M src/ExceptionSvc/ExceptionSvc.cpp M src/ExceptionSvc/ExceptionSvc.h ! 2011-08-24 - Charles Leggett - Fixed bug #86086: print warning message when an AlgTool fails to finalize ! 2011-10-28 - Marco Clemencic - Changed the usage of make_pair to support C++0x. ============================== GaudiSvc v18r16 =============================== ! 2011-09-01 - Markus Frank - Fix in OutputStream to correctly support the SVC keyword. ============================== GaudiSvc v18r15 =============================== ! 2011-08-25 - Charles Leggett - Fixed bug #85983: PersistencySvc::decodeAddrHdr() always returns CLID=0 ! 2011-08-16 - Marco Clemencic - Fixed some tests (checks) on Windows. ! 2011-08-15 - Marco Clemencic - Fixed compilation on WinXP (patch #4891). ! 2011-08-15 - Charles Leggett - Patch #5014: GaudiMP fixes and MSG::DEBUG protection - Remove TGraphs from "mother" files before migrating them to the "worker" ones during io_reinit when running in multiprocess mode. - Clean up some DEBUG output, and protect against dereferencing NULL pointers. ! 2011-08-08 - Sasha Mazurov - Patch #5012: Fixed handling of property references in the new JobOptionsSvc References to properties (@Other.Prop) have to be resolved at the end. ! 2011-08-08 - Marco Clemencic - Fixing bug #83775: unprotected MSG::DEBUG/VERBOSE - ApplicationMgr - ServiceManager - EventLoopMgr ! 2011-08-05 - Marco Clemencic - Fixing bug #83775: unprotected MSG::DEBUG Fixed ToolSvc, DetectorDataSvc, IncidentSvc, PersistencySvc ! 2011-08-04 - Charles Leggett - Patch #4942: THistSvc: consolidated patches to bring trunk to GaudiSvc-18-13-09 - interoperability with GaudiMP - added AutoFlush option for TTrees, explicitly set to 0 for default - added lots of log.level() checks for DEBUG/VERBOSE output Requires patch #4941 (GaudiKernel > v27r14, GaudiMP > v1r1) ! 2011-07-27 - Marco Clemencic - Fixed compilation waring in PropertyValue.cpp. ! 2011-07-26 - Marco Clemencic - Fixed HistorySvc::dumpState to prevent segmentation faults in case of failure in the dynamic_cast. - Fixed a small inconsistency in the non-XML output of HistorySvc. ! 2011-07-26 - Sasha Mazurov - Fixed a problem in the new parser (patch #4891): add support for references (@Other.Prop). ! 2011-07-25 - Marco Clemencic - Modifed the new output of the JobOptionsSvc to be more readable (and easier to ignore in the tests). ! 2011-07-22 - Sasha Mazurov - Patch #4891: New parsers for Gaudi Configuration - Fully rewritten parsers (less amount of code, more readable and more robust) - Based on Boost.Spirit 2 - New parsers for std::set and std::list - Job options files: variables introduced ! 2011-07-21 - Charles Leggett - Patch #4943: Consolidate GaudiSvc and GaudiKernel patches in Atlas tags Update HistorySvc to use new HistoryObj base classes, and provide XML output (Requires GaudiKernel > v27r14) - Patch #4976: Fixed a couple of unchecked StatusCodes in ApplicationMgr ! 2011-06-23 - Hubert Degaudenzi - fixed warnings from the eclipse code analysis engine. ! 2011-06-09 - Marco Clemencic - Fixed bug #82945: Untested StatusCode in OutputStream::writeObjects - Follow up on task #20172: changed the verbosity of the print out of the property CnvServices of PersistencySvc from INFO to DEBUG and updated the reference files. ! 2011-06-07 - Marco Clemencic - Task #20172: Change default for HistogramPersistencySvc::m_SvcNames Removed HbookHistSvc from the list of known services. ============================== GaudiSvc v18r14 =============================== ! 2011-04-15 - Charles Leggett - Patch #4819: THistSvc: protect DEBUG messages, add AutoFlush property This patch adds a new integer property AutoFlush to the THistSvc to set the ROOT AutoFlush value for TTrees, and protects DEBUG messages so that they only get created if the logging level is sufficiently low. ! 2011-04-15 - Marco Clemencic - Fixed a warning triggered by the macro NDEBUG. ! 2011-04-08 - Marco Clemencic - Introduced two new incidents: BeginProcessing and EndProcessing. They are needed to reintroduce the signals around the processing loop as it was the case for BeginEvent and EndEvent before GaudiSvc v17r0. ! 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 - Charles Leggett, Marco Clemencic - Patch #4722: detect unprotected DEBUG and VERBOSE messages ============================== GaudiSvc v18r13 =============================== ! 2011-02-18 - Marco Clemencic - Added another special case for the order of service finalization (NTupleSvc after ToolSvc, because of GaudiTupleTool). ============================== GaudiSvc v18r12 =============================== ! 2011-01-20 - Marco Clemencic - Fixed bug #74981: failure in algorithm initialization doesn't stop DataOnDemandSvc Changed the behavior of the PreInitialize flag so that a failure can be trapped at initialize time (a new flag can be used to restore the old behavior). ! 2011-01-19 - Markus Frank - Fixes for bug #77109. Remove call to "DataObject::serialize()" from H1D, since these are no longer supported by the base class. Though keep methods to allow e.g. sending histograms through sockets. (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 behavior of InputCopyStream Modified DataSvcFileEntriesTool to detect when the objects in the transient store have changed the address between the BeginEvent incident and the moment they collect the list of entries, so that an error is reported when OutputStream is called before InputCopyStream. It doesn't fix the bug, but it change the behavior such that we get an error instead of the wrong output. ! 2011-01-11 - Marco Clemencic - Fixed some ICC remarks. ! 2011-01-06 - Charles Leggett - Patch #4588: moved code from HistorySvc::finalize to HistorySvc::stop ============================== GaudiSvc v18r11 =============================== ! 2010-09-20 - Marco Clemencic - Fixed bug #70956: Add method to find the reason for termination of the event loop - Use the new return code constants in case of failure opening input files (EventSelector). - Modified EventLoopMgr to propagate failures to the caller of nextEvent(int) and set the application return code. ! 2010-07-19 - Marco Clemencic - Fixed a warning introduced with patch #4215 (appearing only on SLC4). ============================== GaudiSvc v18r10 =============================== ! 2010-07-13 - Marco Clemencic - Fixed a bug in InputCopyStream when no input items where specified. ! 2010-06-25 - Charles Leggett - Patch #4215: updates to THistSvc - setting max file size of output to 10Gb (user definable) - expanded interface to get all hists/trees in a file/dir - register all hists/trees in a file/dir - fire FileIncident when there are errors opening/writing/closing files - test if tree/hist exists (includes patch #3447) ! 2010-06-23 - Marco Clemencic - Fixed bug #67543: InputCopyStream copies data not defined in its OptItemList Added an implementation of the interface IDataStoreLeaves and modified InputCopyStream to use it. Modified OutputStream to avoid duplicates in the output. ! 2010-06-21 - Marco Clemencic - Fixed bug #67366: undefined pattern library_Clinkopts Removed the usage of pattern library_Clinkopts (a left-over of some old clean-up). ! 2010-05-27 - Charles Leggett - Patch #3683: Ignore unchecked StatusCodes in xxxDict.so libraries Added the property IgnoreDicts (default = true) to StatusCodeSvc to instruct it to ignore unchecked status codes from Reflex dictionaries (usually false positives). =============================== GaudiSvc v18r9 =============================== ! 2010-04-22 - Marco Clemencic - Changed the default values of ApplicationMgr properties StopOnSignal and StalledEventMonitoring. The event watchdog and the signal handler are disabled by default. ! 2010-04-22 - Marco Clemencic - Added the integer property "ReturnCode" to the ApplicationMgr to record error conditions occurring during the execution and that should trigger a non-zero exit code (e.g. signals). - Set the ReturnCode to 2 in case of problems opening files. ! 2010-04-20 - Marco Clemencic - Removed ICC warnings and remarks. ! 2010-04-19 - Marco Clemencic - Moved the EventTimeoutWatchdog thread from the EventLoopMgr to a dedicated service in GaudiUtils. The thread is enabled by default, but can be disabled using the ApplicationMgr property "StalledEventMonitoring". ! 2010-04-16 - Markus Frank - Patch #4008: Fix for task #13714: FSRs should be copied as the OpenNewFile incident Fix to ensure FSRs are read in the event the file has no events. On a FILE_OPEN_READ incident, the incident is handled and if RecordDataSvc.AutoLoad is set to true, the entire FSR is automatically loaded into the records-store. - Patch #3942: Patch to reduce output level in records service (bug #64477) ! 2010-04-16 - Marco Clemencic - Modified the implementation of the fix to bug #62374 (Handling of signal SIGXCPU). The new implementation is based on a couple of extra services instead of being integrated in EventLoopMgr (less intrusive). The extra services are enables by default, but can be disabled with the ApplicationMgr property "StopOnSignal". =============================== GaudiSvc v18r8 =============================== ! 2010-03-11 - Markus Frank - Patch #3875: Small fix to GaudiSvc/EventLoopMgr - Patch #3876: Added StoreSnifferAlg The StoreSnifferAlg allows to scan the TES after an event is processed. At the end of the job a summary is printed about the data accesses to the various leaves in the TES, which origin from persistent media (i.e. which have an opaque address). ! 2010-03-08 - Charles Leggett - Fixed bug #63844: Various fixes to THistSvc - when root TTrees grow beyond TTree::fgMaxFileSize, a new file is created, and the UIDs in the THistSvc need to be updated. THistSvc had a minor bug in this regard where the iterator was incremented incorrectly - we need the job to abort if the output file gets too large. This is done by polling the size of each TFile once per each EndEvent incident, and issuing a stopRun() if it gets too large. a job option (MaxFileSize) is added to control the max size - made the MsgStream a member data to speed up message output. ! 2010-02-26 - Marco Clemencic - Added an implementation of the WatchdogThread in the EventLoopMgr (EventTimeoutWatchdog) to spot events that are taking too much time (10min by default). When the time-out occurs, some warning messages are printed. The length of the time-out can be adjusted using EventLoopMgr.EventTimeout (0 to disable the watchdog). ! 2010-02-19 - Marco Clemencic - Fixed bug #62374: Handling of signal SIGXCPU Added a small signal handler to keep track of the received signals (only for the requested ones). Modified EventLoopMgr to check for SIGINT (ctrl-c) and SIGXCPU (used by LSF) and stop the event loop as soon as possible, printing a message with the received signal. Configuration options allow to ignore the signals. ! 2010-01-29 - Marco Clemencic - Fixed icc remark #1599: declaration hides variable ! 2010-01-28 - Marco Clemencic - Fixed icc remark #111: statement is unreachable - Fixed icc remark #177: X declared but never referenced =============================== GaudiSvc v18r7 =============================== ! 2010-01-19 - Markus Frank - Modified EventCollectionSvc to accept the syntax SVC= (alternative to TYP=) when specifying collection files for the EventSelector, as it was already the case for normal files. ! 2009-12-18 - Marco Clemencic - Modified DetDataSvc::updateObject to avoid the check of the validity of the updated object if not in the RUNNING state (needed for conditions database validation in LHCb). ! 2010-01-11 - Vanya Belyaev - Patch #3487: Minor improvement for CPU-performance of DataOnDemand & Incident Services Use Gaudi::StringKey class for the implementation of internal "maps" for DataOnDemand & Incident Services (see the detailed discussion for patch #2978). The patch allows to minimize a bit the (small) overhead for these services. ! 2010-01-11 - Charles Leggett - Fixed bug #60162: THistSvc::initialize changes the current ROOT directory ! 2009-12-15 - Marco Clemencic - Fixed bug #59797: Untested StatusCodes in EventLoopMgr.cpp ! 2009-11-19 - Marco Clemencic - Removed run-time dependency on PCRE (which has been removed from LCGCMT). - Modified ExceptionSvc to use the "new" system of interfaces (removed by patch #3083). =============================== GaudiSvc v18r6 =============================== ! 2009-11-10 - Rob Lambert - Patch #3444: Patch to fix logic error in RecordStream - Suppress incidents for RecordService - This would cause a logic error in event counting for luminosity purposes ! 2009-11-09 - Marco Clemencic - Fixed bug #57416: improve IncidentSvc printout when an exception is thrown by handlers Added the incident type to the message, as suggested. ================ GaudiSvc v18r5 ==================================== ! 2009-10-12 - Roel Aaij - Patch #3330: SequentialOutputStream, create several sequentially numbered output files Simple extension to OutputStream to split the output in several files with N (configurable) events each. WARNING: It does not work with the File Summary Record. ! 2009-10-09 - Marco Clemencic, Karol Kruzelecky - Minor clean-up (and speed up) of the counting of messages in MessageSvc. ! 2009-10-07 - Vanya Belyaev - Patch #3277: Remove caching of IsFixedBin property in Axis.h Needed to allow potential mismatch in case the underlying histogram is manipulated directly (e.g. using AIDA2Root). ! 2009-10-02 - Marco Clemencic - Fixed bug #55292: Algorithms are never deleted - Fixed a problem in the reference counting of sub-algorithms. ! 2009-09-24 - Rob Lambert - Patch #3275: Patch to fix Incident consistencies - Changed OutputStream to adopt new name of FailOutputFile incident ! 2009-09-21 - Marco Clemencic - Removed obsolete queryInterface method from RecordDataSvc. ! 2009-09-18 - Rob Lambert - Patch #3249: OutputStream, fire incidents on writing/failure ! 2009-09-10 - Rob Lambert - Patch #3236: Bugfix - EventSelector - Accidentally dereferencing a pointer when the creation was not successful. ! 2009-09-08 - Rob Lambert - Patch #3222: Patch to Issue incidents for Input Files - Details required for the documentation of output files in the Summary services - Added functionality to EventSelector will fire a BeginInputFile incident when firstInNextStream is called will fire a EndInputFile incident when the end of a stream is reached ================ GaudiSvc v18r4 ==================================== ! 2009-07-30 - Marco Clemencic - Fixed some doxygen warnings. ! 2009-07-27 - Marco Clemencic - Modified CounterSvc to print counters in alphabetical order during finalize. ! 2009-07-20 - Marco Clemencic - Added '-no_static' to the declaration of the libraries (implemented since CMT v1r20p20081118). ================ GaudiSvc v18r3 ==================================== ! 2009-07-02 - Charles Leggett - Patch #3083: update to ExceptionSvc to permit greater flexibility See doc/ExceptionSvc.txt for details. ================ GaudiSvc v18r2 ==================================== ! 2009-06-15 - Hubert Degaudenzi - use the new LCG tag convention. ! 2009-06-11 - Marco Clemencic - Added the declaration of the DataStreamTool factory that was in the _load.cpp file. ! 2009-06-10 - Marco Clemencic - Removed _dll.cpp and _load.cpp files (not needed anymore). ================ GaudiSvc v18r1 ==================================== ! 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). ! 2009-05-06 - Marco Clemencic - Modified PartitionSwitchTool to avoid the usage of SmartIF::pRef. It might have caused a mismatch in the reference count. - Removed the call to the constructor SmartIF<IService>(InterfaceID,IInterface*) in RndmGenSvc. ! 2009-04-27 - Marco Clemencic - Added specific macros to disable specific backward compatibility hacks. See GaudiKernel release.notes. ================ GaudiSvc v18r0 ==================================== ! 2009-04-23 - Patrick Koppenburg - Patch #2779: InputCopyStream : allow to copy some additional TES locations. ! 2009-04-22 - Marco Clemencic - Added a check for correct reference counting in ServiceManager::finalize() and a work-around to avoid a segmentation fault. ! 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 - Fire incident if new records arrive. Incident can be set by option FireRecordsSvc.IncidentName = "..."; if empty no incident will be fired. Default: FileRecordsDataSvc: NEW_FILE_RECORD Default: RunRecordsDataSvc: NEW_RUN_RECORD to retrieve incident name in order to connect clients use e.g.: SmartIF<IProperty> prp(m_recordSvc); setProperty("IncidentName",prp->getProperty("IncidentName")); - Automatically load all file records on registering a new leaf. This feature by default is enabled. It can be disabled with the option: FireRecordsSvc.AutoLoad = false; ! 2009-04-06 - Charles Leggett - Fixed bug #48942: missing start() and stop() methods for ToolSvc ! 2009-04-06 - Marco Clemencic - Renamed back the namespace Msg to MSG and moved it into the namespace Gaudi. ! 2009-04-06 - Marco Clemencic - Renamed back INamed to INamedInterface. ! 2009-04-06 - Charles Leggett - Patch #2754: Set compression level on ROOT files in THistSvc Allows the user to set the compression level on root files generated by the THistSvc, via a jobOption. ! 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-04-03 - Charles Leggett - Patch #2721: Differentiate between exceptions and return codes in ExceptionSvc Added a new Property to control the return code behavior of the service. ! 2009-03-26 - Marco Clemencic - Fixed a problem in the return value of OutputStream::connectConversionSvc(). ! 2009-03-25 - Marco Clemencic - Fixed an infinite recursion in PersistencySvc when the conversion service is specified with "type/name". ! 2009-03-13 - Marco Clemencic - Task #9061: Introduction of component managers - Modified the services according to the changes in ISvcLocator. - Modified ServiceManager and AlgorithmManager to extend ComponentManager. - Updated test reference file. ! 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 - Fixed compilation warnings when using Boost 1.38 (Spirit changed includes). - Replaced all the occurrences of endreq with endmsg. ! 2009-01-29 - Marco Clemencic - Symbol visibility - Added a hack to force the export of the symbols of AIDA interfaces to allow the dynamic_cast. This is a temporary work-around, the real solution is to have a linker library with the virtual destructors (and typeinfos) of the interfaces with the correct visibility. ! 2009-01-29 - Marco Clemencic - Restored the special implementation of queryInterface for AlgorithmManager and DLLClassManager. ! 2009-01-23 - Marco Clemencic - Added a NOMSG in IncidentSvc.cpp to avoid the usual conflicts of macros on Windows. ! 2009-01-22 - Marco Clemencic - Adapted to the new IInterface functionalities (see GaudiKernel release.notes) ================ GaudiSvc v17r3 ==================================== ! 2008-12-11 - Charles Leggett - Fixed bug #45180: AuditorSvc creates duplicate auditors. ! 2008-12-10 - Markus Frank - Patch #2699: First version of run records service Add RunRecord service to persistency block. The block consists of: -- The RunRecordDataSvc (src/DataSvc) -- The RunRecordStream (src/Persistency). When a new datafile is opened the data service retrieves an incident from the persistency area (currently only from POOL) together with an opaque address describing the run record. These history records are put onto the run-records datastore under the name of the logical file (FID): /RunRecords/<FID>/..... The data service by default has two top level leafs: /RunRecords/SOR (start-of-run-record) and /RunRecords/EOR (end-of-run-record) Hence, each history records can be addresses the same way: /RunRecord/<FID>/SOR (/EOR) ! 2008-12-09 - Charles Leggett - Patch #2698: StatusCodeSvc checks filter list too early Modified StatusCodeSvc to record unchecked StatusCodes only when in the initialized state (avoid false positives due to Python options). ! 2008-12-07 - Marco Clemencic - Fixed compilation warning with gcc 4.3. ================ GaudiSvc v17r2 ==================================== ! 2008-11-10 - Frank Winklmeier - Patch #2608. Thread-safe IncidentSvc Made the IncidentSvc (trivially) thread safe with few locks. ! 2008-11-10 - Marco Clemencic - Added an option to ApplicationMgr to enable/disable the initialization loop check. ! 2008-11-04 - Marco Cattaneo - Patch #2601. Introduce support for file summary records. A new output stream, OutputFSRStream, which clears and reinitialises the TES after the last event (in the stop transition). Any objects written to the TES by any algorithm during finalize can be written to the output file as a last record. The content of this record is controlled by the options "FSRItemList" and "FSROptItemList". ! 2008-10-30 - Marco Clemencic - Clean the the DataStreamTool memory during initialize of EventSelector to be sure that we start from an empty list during a re-initialize. ! 2008-10-28 - Marco Clemencic - Fixed bug #38572, THistSvc initialize/finalize cycles Clear internal structures during finalize. ! 2008-10-28 - Charles Leggett - Fixed bug #42509: allow THistSvc to write multiple streams to the same file Added a check to avoid double delete if a TFile is shared between different streams. ! 2008-10-27 - Marco Clemencic - Fixed warnings reported by gcc 4.3: - type qualifiers ignored on function return type ! 2008-10-27 - Marco Clemencic - Fixed compilation errors and some warnings on gcc 4.3. ! 2008-10-22 - Marco Clemencic - Fixed bug #41136. ToolSvc keeps tools even if initialize fails Added a small smart pointer (ToolCreateGuard) to take care of the deletion of the not initialized tool and its removal from the list of known tools. ! 2008-10-21 - Marco Clemencic, Frank Winklmeier - Fixed bug #37049. Use recursive mutexes in MessageSvc - Replaced boost::mutex to boost::recursive_mutex. ! 2008-10-20 - Marco Clemencic - Fixed bug #41058. Better warning messages when a factory can't be loaded - Call System::getLastErrorString() after setting errno to 0xAFFEDEAD (value used internally to Gaudi to identify errors occurred loading a library). ! 2008-10-17 - Marco Clemencic - Fixed bug #36917. Listen to all incidents Fixed a problem with listeners registered for "ALL" incidents: they were never triggered. The current behavior is to call the specific listeners, then loop over the list of generic ones. ! 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 - Markus Frank - Patch #2400. Allow to suppress warnings in the EventLoopMgr Add properties to suppress WARNING messages from HistogramPersistencySvc and EventLoopMgr. Fix bug in EventLoopMgr, which created MsgStream before calling the initialization. ! 2008-10-09 - Vanya Belyaev - Patch #2058. Extensions for AIDA::TProfile1D * src/HistogramSvc/HistogramSvc.h * src/HistogramSvc/HistogramSvc.cpp * src/HistogramSvc/GaudiPI.h * src/HistogramSvc/P1D.h * src/HistogramSvc/P1D.cpp Update a little bit the implementations of few methods to propagate the options to the TProfile constructor. ! 2008-10-03 - Charles Leggett - Patch #1963. Add getGraphs() method to THistSvc. ! 2008-10-01 - Marco Clemencic, Frank Winklmeier - Reimplemented IssueLogger::getTraceBack() in terms of the version of System::backTrace() introduced with patch #1797. ! 2008-10-01 - Frank Winklmeier - Patch #1796: Performance improvement for message reporting ! 2008-10-01 - Vanya Belyaev - Patch #1750. Improved printout of Data-On-Demand Service. ================ GaudiSvc v17r1 ==================================== ! 2008-06-30 - Marco Clemencic - Cleaned up Boost link options plus a fix for Boost 1.35. ================ GaudiSvc v17r0 ==================================== ! 2008-06-12 - Marco Clemencic - Modified the way the protocols knows by implementation of IFileAccess is defined: the implementation must report what it is able to handle. ! 2008-06-06 - Marco Clemencic - Modified the way the EndEvent incident is fired by the EventLoopMgr. Instead of after the top algorithms, it is now fired before BeginEvent (if appropriate) and at the beginning of EventLoopMgr::stop. The reason of the change is to avoid that the control is passed to an interactive session after the EndEvent. - Modified ServiceManager::stop to call the stop of services in order reversed with respect to the start. ! 2008-06-05 - Marco Clemencic - Fixed bug #26327. JobOptionsSvc::finalize is never invoked. Finalize the JobOptionsSvc just after the MessageSvc. ! 2008-06-04 - Charles Leggett - Patch #1865. Better printouts for HistorySvc. - Prints out more information about the various History objects to the output file. ! 2008-06-03 - Charles Leggett - Patch #1819. Fix printout in THistSvc Made the hist->Print() only appear when the log level is DEBUG and below. ! 2008-06-03 - Marco Clemencic - Fixed compilation warning in THistSvc.cpp (unused variable). - Fixed a problem introduced with the merge of the patch for Task #5809 and a previous change (the MessageSvc got finalized twice). ! 2008-06-02 - Marco Clemencic - Task #5809. Extension to Gaudi Application state machine. - Adapted all the services to the changes in GaudiKernel. - Updated the reference file of the test. ! 2008-05-23 - Marco Clemencic - Fixed the misplacement of the release of the MessageSvc. Now is located in the terminate() method of the ApplicationMgr (the symmetric of the creation location). ! 2008-05-14 - Patrick Koppenburg - Patch #1806. Reduced default print-out of DataOnDemandSvc. ! 2008-05-14 - Vanya Belyaev - Patch #1801. Allow exclusion in HistogramPersistencySvc In some cases, it is useful to have temporary histograms that should not be stored. The patch add the properties ConvertHistos and ExcludeHistos. If ConvertHistos is empty (default) the conversion is done for all the histograms, otherwise only the histograms matched by the strings in it will be converted. ExcludeHistos is used to disable the conversion of histograms overriding what ConvertHistos suggested. ! 2008-05-13 - Marco Clemencic - Fixed reference files after Patch #1761. ! 2008-05-13 - Vanya Belyaev - Patch #1761. Fixed print-out in ToolSvc - Some ToolSvc methods were passing a wrong name (name + extra string) to the message service, making problematic the control of output level. - Patch #1756. Improvements for Chrono/ChronoStat&IChronoSvc - src/Lib/ChronoStatSvc.h,.cpp update for change in chronoStart/chronoStop return values "(const) StatEntity*" instead of "void" ! 2008-05-09 - Marco Clemencic - Added small service (VFSSvc, Virtual File System Service) implementing the interface IFileAccess, to dispatch the call to tools implementing the actual protocols. - Added a tool to provide the basic implementation of IFileAccess to access files on the filesystem. - Modified the ParticlePropertySvc to use VFSSvc to open the file containing particle properties. ================ GaudiSvc v16r5 ==================================== ! 2008-04-11 - Yushu Yao - Patch #1765: Patch to THistSvc to be able to write to the same file that storegate is writing to. It caches all output in a temp file and merge the differences in finalize(). This functionality is needed for the UserDataSvc in ATLAS. ! 2008-04-11 - Marco Clemencic - Hack to change the order of finalization such that HistorgamDataSvc is finalized after ToolSvc (avoids segmentation faults). ! 2008-04-04 - Marco Clemencic - Fixed a problem introduced with patch #1757. Modified ApplicationMgr to call sysInitialize instead of initialize for JobOptionSvc and MessageSvc (see also bug #26327). Modified also NTupleSvc, TagCollectionSvc and RndmGenSvc to use sysInitialize instead of initialize for their sub-services. ! 2008-04-04 - Charles Leggett - Patch #1763. Demote some ERROR messages to WARNINGs in HistorySvc. The modified messages were not errors in the sense that the HistorySvc does not fail in those cases, but can go on happily. - Patch #1757. Detect creation/initialization loops for services. Modified the service manager to check if the requested service is actually initialized. If it is only CONFIGURED, it means that there is a loop (service1 needs a service2 that needs service1) and an error is reported. ! 2008-04-03 - Charles Leggett - Patch #1744. Speed up HistorySvc caching a MsgStream. Added a MsgStream data member to HistorySvc in order to improve performances. ! 2008-04-03 - Marco Clemencic - Patch #1725. New IAuditor interface. Modified AuditorSvc according to the new interface of IAuditor and IAuditorSvc. The obsolete methods cannot be called (they throw and exception). ! 2008-03-03 - Marco Clemencic - Fixed Bug #34121. Setting tool properties in Python The check on the emptiness of tool type/name moved from ToolSvc::retrieve ( const std::string& tooltype , const std::string& toolname , const InterfaceID& iid , IAlgTool*& tool , const IInterface* parent , bool createIf ) where it should be allowed (if toolname is not empty and createIf is false), to ToolSvc::retrieve ( const std::string& tooltype , const InterfaceID& iid , IAlgTool*& tool , const IInterface* parent , bool createIf ) where it was missing. ================ GaudiSvc v16r4 ==================================== ! 2008-02-27 - Charles Leggett - Patch #1711. Get all instances of a tool type. Function used in the Atlas event display. ! 2008-02-21 - Charles Leggett - Improved a nested loop in THistSvc.cpp. ! 2008-02-20 - Hubert Degaudenzi - replaced the default values for the format and the timeFormat with the ones defined in Message.h (Message::DEFAULT_FORMAT and Message::DEFAULT_TIME_FORMAT) ! 2008-02-04 - Frank Winklmeier - Patch #1656: Debugging messages for IncidentSvc Added some useful debugging messages to IncidentSvc (on registration, call and un-registration). ! 2008-02-04 - Marco Clemencic - Fixed Bug #33036: Unchecked StatusCode in HistorySvc::initialize Added the check of the status code returned by Service::initialize(). ! 2008-02-04 - Charles Leggett - Patch #1652: Fix reference counting in HistorySvc HistorySvc was not incrementing and decrementing the reference count of the registered algorithms. ================ GaudiSvc v16r3 ==================================== ! 2008-01-15 - Marco Clemencic - Fixed bug #31950. Missing call to Service::finalize. Added the call to: - ChronoStatSvc - IssueLogger - THistSvc - Fixed bug #32476. Added a checking of the status code returned by decodeAlgorithms in: - OutputStream::acceptAlgsHandler - OutputStream::requireAlgsHandler - OutputStream::vetoAlgsHandler In case of failure a GaudiException is thrown. ! 2008-01-15 - Charles Leggett - Patch #1610. If StatusCodeSvc.AbortOnError was set to true, the filter list was ignored. - Patch #1607. Fixed a memory leak in HistorySvc, occurring when an algorithm or a tool was registered twice. ! 2008-01-14 - Chris Rob Jones - Patch #1584. - Fixed a crash (WIN32) or an infinite loop (Linux) when the DataOnDemandSvc is configured but not initialized. ! 2008-01-14 - Marco Clemencic - Fixed a problem introduced with patch #1621. The keyword "assert" is not defined on Win32 and gcc41. ! 2008-01-11 - Gerhard Raven - patch #1621 (bug #32466). Add to IToolSvc/ToolSvc the possibility of using observers to monitor the creation of and retrieval of tools. ! 2008-01-11 - Marco Clemencic - Modified ToolSvc to allow to specify the name of a tool in the type argument (Type/Name), which takes precedence over the provided name. ! 2008-01-10 - Marco Clemencic - Fixed a bug in StatusCodeSvc which was making it ignore the options. (Service::initialize was not called) ! 2007-12-12 - Marco Clemencic - patch #1585. Fixed warnings about breaking of strict-aliasing rules (gcc 4.1 optimized). ! 2007-12-12 - Marco Clemencic & Markus Frank - Simplified the implementation of MultiStoreSvc fixing a segmentation fault occurring on gcc 4.1 optimized. ! 2007-12-06 - Sascha Mazurov - Fixed a problem preventing the parsing of option files with Boost 1.34.1 (the version in LCG 54). ================ GaudiSvc v16r2 ==================================== ! 2007-11-16 - Charles Leggett - patch #1533. Modified THistSvc to check if the file associated with a TTree has changed and update the relevant structures. This happens when a ROOT file grows above the maximum allowed size (a parameter in ROOT). ! 2007-11-16 - Marco Clemencic - Moved the pointer to the IncidentSvc from EventloopMgr to MinimalEventLoopMgr (needed to handle the new type of incident AbortEvent). ! 2007-11-12 - Marco Clemencic - Moved the *.qmt files to the implicit suite (directory) "gaudisvc.qms". ! 2007-11-02 - Hubert Degaudenzi - removed the message "ApplicationMgr INFO Successfully loaded modules :" if the list of loaded modules is empty. ! 2007-10-25 - Markus Frank - patch #1469. PersistencySvc.cpp improve method getService(const std::string& service_type, IConversionSvc*& refpSvc) to also check attached services and services known by name ! 2007-10-24 - Marco Clemencic - Modified the output of StoreExplorerAlg. Now it prints the pointer to the DataObject as a pointer and not as an unsigned long (i.e. exadecimal) - Moved the source code for the test component library (GaudiSvcTest) from "test" to "tests/src/component". - Added a QMTest test (with a reference file) for the option "options/Test.opts". ! 2007-10-16 - Paolo Calafiura - patch #1416. new DirSearchPath method and test - Moved the test from GaudiSvc to GaudiKernel ================ GaudiSvc v16r1 ========================================== ! 2007-10-09 - Marco Clemencic - Moved DirSearchPath from GaudiSvc/src/JobOptionsSvc to GaudiKernel (requested by Paolo Calafiura). Note: the 2 tests using DirSearchpath are still in GaudiSvc. ! 2007-09-28 - Marco Clemencic - bug #30021. Two "private" statements in the requirements and no "end_private" Removed the second (useless) "private". ! 2007-09-28 - Sascha Mazurov - Fix to allow any of the following commands in the job options: #printOptions full #printOptions FULL #printOptions ! 2007-09-28 - Charles Leggett - patch #1213. Finalize HistorySvc before any other service. ! 2007-09-28 - Vanya Belyaev & Sascha Mazurov - patch #1392. - Allow "::" in algorithm and tool names to configure them, e.g.: MyNamespace::MyAlg.MyProperty = 123; ! 2007-09-26 - Vanya Belyaev - patch #1375. Allow configuration of Histogram1D from job options. - Allow tuple-like quantities to appear as right-hand-expressions in job options. (Sascha Mazurov) - Allow the "on-the-fly" redefinition of the histogram properties via options of the HistogramSvc. ! 2007-09-25 - Charles Leggett - Patch #1358. Fixed a bug in THistSvc. In the initialization clause of a "for" loop, the iterator was set using "==" instead of "=". ! 2007-09-25 - Vanya Belyaev - Patch #1359. (fixes bug #28603) Added 2 warnings in case an option file is included twice (one at the parser level and one at the JobOptionSvc level). Note: The included file is processed only the first time it is included. ! 2007-09-24 - Vanya Belyaev - Patch #1346. - Add the possibility to print all properties of application manager (it is VERY convenient for debugging). The properties are printed in ApplicationMgr::configure() if the (new) property "PropertiesPrint" is set to true (default is false). ! 2007-09-19 - Vanya Belyaev - patch #1273. (Not main goal: side effect) - Avoid print out of the table header for empty stats (ChronoStatSvc). ! 2007-08-31 - Hubert Degaudenzi & Paolo Calafiura - Patch #1260.moved the MinimalEventLoopMgr from GaudiSvc to GaudiKernel. The factory for this service is still in GaudiSvc ! 2007-08-06 - Vanya Belyaev - patch #1231. Added new properties to format the counters to ChronoStatSvc and CounterSvc: * "StatTableHeader" : (string) the header line for printout of the table * "RegularRowFormat" : (string) the format of the row for the regular counters * "EfficiencyRowFormat" : (string) the format of the row for the "binomial efficiency counters" * "UseEfficiencyRowFormat": (bool) the flag to allow the special formatting of "binomial efficiency" counters ! 2007-07-24 - Charles Leggett - patch #1252. * Do not dereference the TFile pointer in finalize if it is a temporary file (== NULL). * Add a job option to turn on/off printing of all TObjects in finalize. (off by default) * Convert all double slashes ("//") to single slashes (so that the path "A/B/C" matches "A//B/C") to avoid problems in case of typos in job options. ! 2007-07-18 - Sebastien Binet - patch #1249. Fix to avoid "use" cycle with GaudiSvc. ! 2007-07-18 - Charles Leggett - patch #1234. Modified the way the ToolSvc uses the HistorySvc. ToolSvc will try to get the HistorySvc when creating a tool and cache the pointer if it is available. ! 2007-07-17 - Scott Snyder - patch #1242. fixed small memory leak in THistSvc::finalize: when files are closed, the TFile objects are not deleted. ! 2007-07-17 - Charles Leggett - patch #1218. Added missing initialization of MessageSvc::m_msgCount elements. ! 2007-07-16 - Marco Clemencic - changed the syntax for specialization of templated function in namespace for gcc 4.1 future use. ! 2007-07-13 - Chris Jones - Patch #1243: Equipe ApplicationMgr with a new job option ReflexPluginDebugLevel which is used to set the debug level of ROOT::Reflex::PluginService::SetDebug(level). Useful to aid in the debugging of library loading problems. ! 2007-07-11 - Marco Clemencic - task #5157 (Make MessageSvc thread-safe) * Added 3 boost mutexes to MessageSvc to protect few internal data members from possible concurrent access. ! 2007-06-18 - Vanya Belyaev - patch #1178. * The proposed patch substitute the internal counters, used for (I)CounterSvc by generic counters of type StatEntity. * This allow to reuse the useful functionality of StatEntity class. * In addition it will allow an easy publishing and integration of counters with monitoring tasks. * Also it adds more functionality for grouping of counters, in particular the extraction of the whole group of counters (required by Matt Needham) * The printout of counters is now coherent with printout of generic counters through GuadiCommon<T>. ================ GaudiSvc v16r0 ========================================== ! 2007-05-30 - Charles Leggett + Marco Clemencic - Patch #1146. HistorySvc is now capturing the state of algorithms and service during the BeginEvent incident. It uses the new feature of the incident service to be called only once. ! 2007-05-24 - Marco Clemencic - Extended IncidentSvc to make it possible to register a listener for only one occurrence of the requested event (see bug #25552). - Fixed bug #25552. If a listener is removed in the middle of an incident, there will not be a segmentation fault. If a listener unregister itself, it will not be called again. If the listener is removed from outside, the listener will be called once more. ! 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-23 - Sebastien Binet - patch #1169. fixes an unchecked StatusCode in AuditorSvc::getAuditor. ! 2007-05-23 - Sasha Mazurov & Vanya Belyaev - patch #1172. Consider the first line of an option file as a comment if it starts with "#!". ! 2007-05-23 - Vanya Belyaev - patch #1161. Improvements and clean-up in StatEntity: - Removed "weight"-related functions and methods (unused) - Added binomial error calculation for efficiency-like counters - Improved print-out format - Added methods to make StatEntity mode DIM friendly - Some clean up in comments ! 2007-05-23 - Marco Clemencic - patch #1160. Changed the returned value of - Algorithm::setExecuted() - Algorithm::resetExecuted() - Algorithm::setFilterPassed() from StatusCode to void. ! 2007-05-15 - Vanya Belyaev - patch #1162 (cumulative) - Fix a bug with vectors-properties in "python"-format. - New features for "#printOptions" directive: 1) "#printOptions FULL" directives now switches off ("#pragma print OFF") the printout of properties during the processiong phase and blocks the subsequent actions of "#pragma print OFF" directives. The feature has been requested by Gloria Corti for Gauss. 2) The printout of parser catalogue (activated by "#printOptions FULL" directive) is modified to include the trailing semicolumn symbol ";". It allows the usave of this printout through cut-n-paste as configuration file for other jobs. 3) One can now dump the content of parser catalogue into a file. It is controlled by the property of JobOptionsSvc "DumpFile". The value of the property is a name of the output file for dumping of parser/property catalogue. The default value of this property is empty. It also check the environment variable "JOBOPTSDUMPFILE", where one can specify the name of output file: JOBOPTSDUMPFILE=dump.opts Gaudi.exe ExtendedProperties.opts use it later: Gaudi.exe dump.opts ! 2007-05-15 - Sebastien Binet - patch #1130. Here is a patch to allow doing this (in pseudo-code) from the C++ side: StatusCode Alg::initialize() { // blah-blah IProperty * svc = 0; service( "THistSvc", svc, createIf=false ).ignore(); StringArrayProperty outputProperty( svc->getProperty(pName) ); // update/modify the property and send it back to the service return svc->setProperty( outputProperty ); } ie: even if the THistSvc has already gone through its initialize method, the configuration of in-/output (ROOT) streams will be reconfigured. This patch replaces std::vector<std::string> properties by StringArrayProperty and attaches to each of them a callback method. ! 2007-05-10 - Charles Leggett Patch #1104: - Currently, one can have the MessageSvc summarize all message counts at the end of the job using the showStats boolean prop. However, this only works if the enableSuppression prop is set to True. This patch to MsgSvc.cpp separates the two functions to make them independantly configurable. If you're not using these flags, it won't affect you (by default, these flags are set to False). - extension to only print stats above a certain level if desired, controlled using a new property "statLevel". ! 2007-05-08 - Sebastien Binet - patch #1060. Added multiple log feature to the MessageSvc. One can define a log file per algorithm. MessageSvc.loggedStreams = { 'MyAlg1' : 'some_file.log', 'MyAlg2' : 'some_other_file.log', 'MyAlg3' : 'some_file.log' }; ! 2007-04-30 - Andy Salnikov - fix to bug #25852. The patch is quite small and touches only two classes - Message and MessageSvc. Messages now have one more format flag '%t' which is replaced with the formatted timestamp on output. Default format string has not changed so default output will look identical to what it was before. The format of the timestamp can be changed through the additional format string similarly to the message format string. Time format can contain anything that is accepted by strftime plus additional '%f' code for milliseconds. ! 2007-04-27 - Mattias Ellert - patch #24974. fixed test building. ================ GaudiSvc v15r3 ========================================== ! 2007-03-15 - Hubert Degaudenzi - fixed bug #24769. use of the TFile::Open method instead of the TFile constructor to open a file. This enable the use of the ROOT plugins (castor, rfio, gfal, ...) ! 2007-03-13 - Hubert Degaudenzi - reverted to ranlux instead of ranlux64 for the random engine. (please see bug #24689) ! 2007-03-12 - Vanya Belyaev - Patch #1073. Simple modification of IExceptionSvc interface (and the implementation ExceptionSvc) to avoid the explicit appearence of class Algorithm in the interface. The interface is modified to substitute Algorithms with INamedInterface. It allows to use the service in much wider context, in particular with tools, services and auditors. ! 2007-03-12 - Sebastien Binet - Patch #1060. patch to MessageSvc to be able to log individual message sources ("Alg1", "Foo") to individual ofstreams ("Alg1.log", "Foo.log"). ! 2007-02-27 - Vanya Belyaev Patch #1035 - changed the storage of the seeds of HepRdm::Engine to vector<long> instead of vector<int> - removed the C-cast (long *) to initialize the CLHEP seeds - changed the default engine from Ranlux to Ranlux64 (it gives the same sequence of random numbers on 32bits and 64bits platforms) ! 2007-02-26 - Sebastien Binet patch #1041 - removes some warnings wrt hidden methods ================ GaudiSvc v15r2 ========================================== ! 2007-02-23 - Hubert Degaudenzi - added the factory declaration of the DataStreamTool (removed from GaudiKernel). ! 2007-02-13 - Sebastien Binet Patch #1017: Here is a patch to ChronoStatSvc to optionally dumps its stats into an ASCII file (a .INI-like format) to ease the offline processing of these stats (usefull for, eg, a performance monitoring framework). ! 2007-02-13 - Vanya Belyaev patch #1001 - src/ToolSvc/ToolSvc.cpp Couple of fixes with allows to use the private tools from Auditors. Frankly speaking, the service itself now sets only one condition for the "parent" of the private tool - it should have a valid query for "INamedInterface" - src/AuditorSvc/AuditorSvc.cpp Allow to have an auditor with name not equal to the type, e.g. opts-file: AuditorSvc.Auditors += { "TimingAuditor/TIMER"} ; - src/ApplicationMgr/ApplicationMgr.cpp add INamedInterface into ApplicationMgr::queryInterface method ! 2007-02-12 - Scott Snyder - patch #1018. Fix memory leak in the IncidentSvc class. ! 2007-02-12 - Charles Leggett - fix (to bug #23471) in the MinimalEvtLoopMgr to catch exception. ! 2007-02-02 - Marco Clemencic - patch #1008: in the last version of Gaudi, it is not possible anymore to create a service using the name format "ServiceType/ServiceName". This patch fixes that. ! 2007-02-02 - Charles Leggett - patch #1006. The various finalize methods in the ToolSvc don't propagate errors that occur during the finalization of tools back up the chain. Exceptions are caught, and error messages are printed, but a StatusCode::SUCCESS is always returned. This patch causes a FAILURE to be returned if an error is encountered. ! 2007-02-01 - Charles Leggett - patch #981. MinimalEventLoopMgr doesn't remove algs from the algmanager during finalize. ! 2007-01-29 - Charles Leggett - patch #994. If the finalization of a service fails, a warning message is printed, but the return code is always a success. This makes it difficult for the applicationManager to figure out if something went wrong. ServiceManager::finalize() should return a failure if any of the services it's trying to finalize failed. This patch is fixing this problem. ! 2007-01-23 - Pere Mato - ToolSvc.cpp: Fixed problem reported by David Quarrie. Return StatusCode::FAILURE if tool can not be instantiated. ! 2007-01-22 - Charles Leggett patch #973. - sets up limits on numbers of messages issued by any source. suppresses messages if count is exceeded. prints out summary at end of job. controlled by jobopts, for each MSG::LEVEL individually, or a global limit. default is not to do anything. - also prints out stats on all messages if requested. ! 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 ! 2007-01-15 - Hubert Degaudenzi - Removed the DataListenerSvc. It is now located in the GaudiGridSvc package. ! 2007-01-12 - Marco Clemencic - fix to patch #954. Modification of the interface of IDataStreamTool to avoid explicit reference to std::vector. - added the method addStream, in parallel to addStreams. ! 2007-01-10 - Charles Leggett - Patch #966. Don't force the creation of the HistorySvc in the ToolSvc - if it's not available, it's because it hasn't been created in the ApplicationMgr, and that's because ActivateHistory == false. ! 2007-01-10 - Hubert Degaudenzi - fixed DataListenerSvc in order to respect the new IMonitorSvc interface introduced by the patch #943. ================ GaudiSvc v15r1 ========================================== ! 2006-12-15 - Andres Osorio patch #954. - Moved EventSelectorDataStream from GaudiSvc to GaudiKernel - EventSelector uses an IDataStreamTool to loop over the files (by default the implementation DataStreamTool, overridable with the option EventSelector.StreamManager) ! 2006-12-22 - Charles Leggett - patch #951. fix memory leak in HistorySvc. ! 2006-12-14 - Hubert Degaudenzi - fixed JobOptionsSvc.cpp for the new constructors of SimpleProperty. - StatusCode checks fixing. ! 2006-11-30 - Pere Mato Adpated package to the new PluginSvc. The following changes have been done: - Removed protected from constructor/destructors and fiendship of Factory class - Removed files: ConverterFactory.cpp(h), ObjectFactory.cpp(h) - All the references to factories removed. ! 2006-11-29 - Hubert Degaudenzi - this is the beginning of the release notes for the merge with the v14r13 release (v14r10b branch). ! 2006-11-28 - Hubert Degaudenzi - removed duplicated ToStream method. This was induced by the patch #922 on GaudiKernel ! 2006-11-03 - Alexander Mazurov - patch #882. The proposed patch fixes the problem with the unique Parser Catalogue for reading of multiple *.opts files. The fix does not affect at all the "regular" Gaudi job, but it is vital for GaudiPython-based applications, e.g. Bender, where the reading of several configuration *.opts-files is possible. ! 2006-11-02 - Ivan Belyaev - patch #895. Add new functionality for Particle Property Service: (1) Modified to add possibility to redefine properties of existing particles and to read additional files. New property "OtherFiles" (default is empty vector) is introduced. Service parses additional files after the main one. // read additional properties ParticlePropertySvc.OtherFiles = { "$SOMELOCATION1/file1.txt" , "$SOMELOCATION2/file2.txt" } ; (2) Add possibility to modify only certain particles through the new property "Particles" (default is empty list), each line is interpreted as a line in particle data table, e.g. // redefine the properties of H_20 and H_30 particles: ParticlePropertySvc.Particles = { "H_20 88 35 0.0 120.0 9.4e-26 Higgs'0 35 0.0e+00" , "H_30 89 36 0.0 40.0 1.0e-12 A0 36 0.0e+00" } ; The replaces/modified particles are reported. ! 2006-11-01 - Hubert Degaudenzi - fixed the random engine declaration in the GaudiSvc_load.cpp file. ! 2006-10-25 - Hubert Degaudenzi - reenabled the DataListener service. Changed the ApMon version to 2.2.1. This version is now compatible with windows. ! 2006-10-17 - Ivan Belyaev - patch #881. Changes on the DataOnDemand service. New properties have been added: - "AlgMap" - the map<string,string> property for mapping of address in TES and the algorithm - "NodeMap" - the map<string,string> property for mapping of address in TES and some predefined data type - "Prefix" - the default prefix for TES locations, which could be omitted from TES location. These new properties are equipped with update handlers, and therefore Data-On-Demand configuration could be easily modified/changed during the interactive session in python Old properties "Algorithms" and "Nodes" are still exist. But they are primary internally translated into new maps. Currently everything is backward compatible. Old properties are also equipped with update handlers. The treatment of "preceding paths" has been modified a bit. Now for each data location also all upwards directories are automatically added as "nodes" (if other behaviour for the particular not is not defined explicitly) of default directory type "DataObject". As a result a bit confusing coupling of some the algorithms as "node creators" is removed. ! 2006-10-12 - Marco Clemencic - Patch #871. Added protection to avoid the instantiation of a tool using an empty string as tool type/name. It prints an error message. ! 2006-10-06 - Marco Clemencic - Patch #863. Add map property "Environment" to ApplicationMgr. Adding a pair ("VARNAME","VALUE") have the result of setting the environment variable VARNAME to the value "VALUE" before starting any service (except the message and job option ones) or algorithm. Setting the variable to "" results in removing it from the environment (same behavior on windows and linux, see System::setEnv). If the variable is already present it prints a warning. ! 2006-11-29 - Hubert Degaudenzi - this is the end of the release notes for the merge with the v14r13 release (v14r10b branch). ! 2006-11-17 - Pere Mato - ServiceManager.cpp(.h) implementation of ISvcLocator::eraseService() - ApplicationMgr.cpp: Added the creation of StatusCodeSvc if StatusCode check is enabled - Fixed some StatusCode checks ! 2006-11-13 - Hubert Degaudenzi - disable StatusCode checking in finalize method of the StatusCodeSvc. - fixed the call to the terminate method in the Gaudi main loop. ! 2006-11-10 - Markus Frank - Patch #908 - Remove the dependency from PI. -- Implement 1D, 2D, 3D histograms and 1D, 2D profiles directly. -- Remove implementation of AIDA IHistogramFactory -- NOTE: Implementation of HistogramSvc::histogramFactory returns NULL. This call should be removed from thre interface. -> Slices and projections are no longer possible. This functionality can however easily be recovered if needed. ! 2006-11-09 - Pere Mato - Removed dependency to GaudiHistory. The package will be deleted and its contents moved to GaudiKernel. ================ GaudiSvc v15r0 ========================================== ! 2006-09-21 - Hubert Degaudenzi - replace the OS dependent function for the stacktracing by the ones in GaudiKernel/System.cpp. ! 2006-09-13 - Charles Leggett & Hubert Degaudenzi - removed AlgContextAuditor (moved to GaudiAud) - fixed many StatusCode Check. - dynamic switch of the StatusCode checking in the Application manager. ApplicationMgr.StatusCodeCheck = true/false; By default the checking is on. It is disabled anyway at the ApplicationMgr::finalize method to avoid problems with GaudiPython. ! 2006-09-09 - Charles Leggett & Hubert Degaudenzi - added new services: ExceptionSvc, StatusCodeSvc, IssuLogger and THistSvc. ! 2006-09-09 - Vanya BELYAEV patch #839 - src/JobOptionsSvc/JobOptionsSvc.cpp remove ugly cast from JobOptionsSvc::setMyProperties from not the setting of properties relies only on IProperty::setProperty ( const Property& ) and Property::load/Property::assign. No extra gymnastic is required - src/JobOptionsSvc/ParserGrammar.h use Gaudi::Utils::toString conversion instead of lexical_cast in the method RealUnitsGrammar::matchRealUnits to avoid the absolutely ugly printout of doubles [the problem has been reported by Florence in the tests of Panoramix] - src/JobOptionsSvc/Parser.cpp improve a little bit the printout of options, when the directive "#printOptions full" is activated ================ GaudiSvc v14r10 ========================================== ! 2006-09-05 - Hubert Degaudenzi - Commented out King's service (DataListenerSvc) temporarily since it doesn't compile on windows. ! 2006-09-01 - Ivan Belyaev - Fix for the ToolSvc::create that didn't return a StatusCode::FAILURE if the AlgTool::setProperties fails. Now the job should stop cleanly. ! 2006-08-30 - Ben King - creation of the DataListenerSvc service DataListenerSvc implements the declareInfo methods from IMonitorSvc (without the histogram and pair methods which have empty implementations) and the handle method from IIncidentListener to provide monitoring of variables within a GAUDI algorithm. Once instantiated as an IMonitorSvc e.g. IMonitorSvc* m_DataListenerSvc, the declareInfo methods can be used to monitor variables e.g. m_DataListenerSvc->declareInfo("Psi+ P", m_jPsiPlusP, "The m_DataListenerSvc->Psi Momentum", this); Three types of monitoring * Text file of last monitored variables' information in MonitorLog.txt * XML logs - one for each time the variables are monitored in log{#}.xml where {#} is the number of times monitoring called when written 0,1,... * MonALISA publishing - sent to MonALISA server which can produce history plots Options file usage: * Monitoring can be turned on or off DataListenerSvc.MonALISAMonitoring = 1; DataListenerSvc.XMLMonitoring = 1; DataListenerSvc.FileMonitoring = 0; * Frequency of each MonALISA publishing and XML Monitoring can be specified DataListenerSvc.EventFrequency = 8; DataListenerSvc.MLEventFrequency = 5; * For MonALISA, the configuration file, clustername and nodename (jobID)can be specified DataListenerSvc.MLClusterName = "DataListenerSvcTesting"; DataListenerSvc.MonaLisaMonitoring = "./destinations.conf"; DataListenerSvc.MLjobID = 1; ! 2006-08-21 - Alexander Mazurov - Patch #816. Fix for "-=" to work nicely with new Job Options. - it remove the first occurance of the element in the sequence, e.g. A.a = {"a" ,"b" , "c" , "b" , "d"} ; A.a -= {"b"} ; The final vector will be: ["a","c","b","d"] - It is *NOT* an error to remove nonexisting elements, The parser issues the warnings, but the execution continues, e.g.: A.a = {"a" ,"b" , "c" , "b" , "d"} ; A.a -= {"b"} ; A.a -= {"b"} ; A.a -= {"b"} ; A.a -= {"b"} ; A.a -= {"b"} ; Btw: it is an indirect way to remove ALL occurencies! - for associative properties, like maps, one needs to specify both the key and the *VALID* value to be removed, e.g. A.a = { 'a' : 10 , 'b' : 2 , 'c' : 3 } ; A.a -= { 'a' : 1 } ; In this case he key 'a' will not be remove from the map. A.a -= { 'a' : 10 } ; In this case the key 'a' will be removed from the map. (Vanya for the detailed explanations). ! 2006-08-02 - Markus Frank patch #796 - Improve output stream: - If intermediate leaves in the TES are not given in the ItemList (or OptItemList) then they are automatically added: e.g. "/Event/MC/Particles" will add: "/Event" (if not already present) "/Event/MC" (if not already present) "/Event/MC/Particles" This behaviour can be switched OFF by setting the options OutputStream.VerifyItems = false; - Add optional stream specification SHARED='YES' to be passed directly to the conversion service for further usage. - Do not connect output device if the leaf list is empty - Remove unnecessary call to setProperties in initialize(). - Create a new output stream PersistencySvc/TagCollectionStream. See the header file for further information. - Implement service remapping in the ApplicationMgr differing from the default <class-name>-<class-name> mapping. Option SvcMapping (vector<string>) allows to change the default services (EventDataSvc etc.). Option SvcOptMapping allows to enter additional mappings. - NTuples and tag collections: - Remove "endreq" entries and replace them by "endmsg" - Fix bug in NTupleSvc::isConnected() ! 2006-08-17 - Chris Jones - patch #763. The attached patch encases the library loading in a try block, and makes it much easier to spot the throwing of exeception(s) during that phase. ! 2006-07-31 - Pere Mato - Fix bug #18581 overview: Memory leak due to changed behaviour of JobOptionsSvc ================ GaudiSvc v14r9 ========================================== ! 2006-07-17 - Pere Mato - fixed bug in RndmGen which was deleting twice the parameters of the generators in RndmGen::~RndmGen and RndmGen::finalize. Remove the deletion from the finalize() method. ! 2006-07-11 - Ivan Belyaev - fix for the reading of environment variable in the options files. - fix for reading empty property vector ! 2006-06-28 - Ivan Belyaev - A number of changes in the JobOptions service to avoid to use the cout directly and use MessageSvc instead ! 2006-06-28 - Pere Mato - changed fs::no_check by fs::native to avoid fatal exceptions when the new properties are used on Windows. It was never tested :-( ! 2006-06-01 - Ivan Belyaev & Alexander Mazurov - added the new property parser/compiler. ! 2006-06-01 - Ivan Belyaev -The 5-argument method ToolSvc::retrieve is modified to allow "ToolType:PUBLIC" ( before it allowed "ToolType", "ToolType/ToolName", "ToolType/ToolName:PUBLIC"). "ToolType:PUBLIC" was wrongly resolved in type = "ToolType:PUBLIC" (with correct name "ToolType"). ================ GaudiSvc v14r8 ========================================== ! 2006-05-04 - Marco Clemencic - Patch #720. Added a specialized DataSvc for TransientFastContiner: FastContainersSvc. Lifetime of the objects in this store is the same of objects in DetDataSvc. Each BeginEvent incident triggers a clear() of all the instances of TransientFastContinerBase. ! 2006-04-20 Hubert Degaudenzi - removed legacy compiler code in the MsgSvc. ! 2006-04-20 Markus Frank patch #707 - Suppress Application manager startup banner if property: ApplicationMgr.AppName = ""; - Allow to attach runables and event loop managers with different type/name combinations. (as it always was for the external services....) ! 2006-04-13 Charles Leggett and Hubert Degaudenzi - inserted ATLAS feature INamedInterface. ! 2006-04-12 Pere Mato - PropertyCompiler.cpp: fixed to allow for a 'f', 'F', 'l', 'L', 'u', or 'U' at the end of a numerical value. Reported by Wim Lavrijsen. ================ GaudiSvc v14r7 ========================================== ! 2006-04-04 Pere Mato - EventSelector.cpp: reset flag m_reconfigure after first call to firstOfNextStream() This should solved the problem observed by Thomas that from Python the same first file was read again and again. ! 2006-03-06 Markus Frank patch #692: - Add support for objects in N-tuples. Note: This only works for NTuple::Item. NTuple::Array and NTuple::Matrix is __NOT__ supported for objects. If you need this functionality store an std::vector<Object*>. See GaudiExamples/POOLIO/EvtCollectionWrite for an example of the usage. Affected file:CollectionCloneAlg.cpp - Fix memory leak in EventSelector::releaseContext: context object was not always deleted. ================ GaudiSvc v14r6 ========================================== ! 2006-01-27 - Hubert Degaudenzi - modification of the GaudiPI includes according to the gaudi way (please have a look at the GaudiPI package). ! 2006-01-25 - Marco Clemencic - patch #659. Modified POOLIO and RootIO examples replacing ITime+TimePoint with Gaudi::Time. ! 2006-01-25 - Marco Clemencic - patch #648. Currently, an incident listener cannot stop the execution of a program even if it throws an exception. In some cases it is important to exit if a problem occurs, to avoid hard to debug problems. A simple way to allow an incident listener to stop the program is to use the IEventProcessor::stopRun() method. ! 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. ================ GaudiSvc v14r5 ========================================== ! 2006-01-05 - Pere Mato - PersistencySvc.cpp: replaced "if" by "if else". Typo found by RD Schaffer ! 2005-12-20 - Hubert Degaudenzi - commented out the AIDATupleSvc. ! 2005-12-05 - Manuel Domenech - removed AIDATupleSvc/AIDATuple.h and .cpp (no longer needed) - added comments to AIDATupleSvc/AIDATupleSvc.h and .cpp for doc purposes - added setCriteria method to allow passing selection criteria as string to filter input rows when reading a tuple with POOL. ================ GaudiSvc v14r4 ========================================== ! 2005-11-21 - Vanya Belyaev - MinimalEventLoop.cpp: resetExecuted() to all "known" algorithms instead to only the topAlgs. This is need to be able to call sequences by the DataOnDemand service (for more than just the first event). ================ GaudiSvc v14r3 ========================================== ! 2005-11-09 - Pere Mato - DirSearchPath.cpp: fixed joboption path on Windows ! 2005-10-26 - Hubert Degaudenzi - modified requiements file for future use of the new package GaudiPI. ! 2005-10-26 - Hubert Degaudenzi - bug #12556. fix behavior for the "-=" of the property compiler. Now only issues a warning if the keyword to be removed is not in the list. Before it was stopping the job (Patrick Koppenburg). ================ GaudiSvc v14r2 ========================================== ! 2005-10-21 - Hubert Degaudenzi - Changes in the DataOnDemand service to use reflex (Markus Frank) ================ GaudiSvc v14r1 ========================================== ! 2005-07-21 - Hubert Degaudenzi - fixed bug #9467 2005-07-15 - Hubert Degaudenzi - fix bug #9477. fixed name clash (Mattias Ellert) ================ GaudiSvc v14r0 ========================================== 2005-07-7 - Marco Clemencic - patch #443 - fix 2 typos (Enable -> Unable). - use TimePoint instead of ITime* (should be faster) (side effect: DetDataSvc::validEventTime() returns always true) - when finalizing, if persistency is activated, the root node is created twice (none of which needed). I also fixed it. 2005-07-5 - Hubert Degaudenzi - support #100831 - added the StagerSvc. Will only be build if CMTSITE is set to CERN. The function of this service is to stage in advance is set of CASTOR files. - Modifications of EventSelector.{h,cpp} to add the incident fired when a file has just been processed. 2005-07-03 - Markus Frank - patch #446 - src/PersistencySvc/InputCopyStream.h/cpp Implementation of an output stream doing a shallow copy of the main input file identified by it's dbase set in /Event. /Event may be overwritten by ItemList[0]. Also sub-trees may be written for interactive analysis, by specifying several sub-trees in ItemList. Otherwise identical behavior to OutputStream. - src/EventSelector/EventSelectorDataStream.h/cpp, - src/EventSelector/EventSelector.cpp Explicitly finalize each stream after usage. It turns out that for several thousands of input files even the properties allocate several MBytes of memory (found by Niko during LHCb-RTTC). 2005-05-31 15:23 Patrick Koppenburg - cmt/requirements, src/JobOptionsSvc/PropertyCompiler.cpp, src/JobOptionsSvc/PropertyCompiler.h: The property compiler now supports the removal of an option (-=) ================ GaudiSvc v13r4 ========================================== ! 2005-05-23 - Pere Mato - Fixed bug #8498 overview: cannot use the same file twice as input to EventSelector.EventSelector/EventSelector.cpp: Added a warning when the input file is already in the list and continue. - Fixed bug #5476 overview: Gaudi crashes when having 2 topalgs with the same name. ApplicationMgr/MinimalEventLoopMgr.cpp added extra addRef(). !2005-05-18 - Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch> - JobOptionsSvc/PropertyCompiler.cpp (openPropertyFile): remove the previous bug fix. Added test to detect if the files was the same and contained a "$". !2005-05-13 - Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch> - JobOptionsSvc/PropertyCompiler.cpp (resolveEnv): added fix to raise an error if an environment variable is not know in the path of an option include file. ================ GaudiSvc v13r3 ========================================== ! 2005-03-20 - Markus Frank - EventSelector/EventSelectorDataStream.cpp - fix code to allow for the creation of a specific selector service to be instantiated at run-time depending on the EventSelector.Input specification. ! 2005-03-18 - Florence RANJARD - ApplicationMgr/ApplicationMgr.cpp - include <ctime> to compile on Win32 ! 2005-03-18 - Manuel Domenech - AidaTupleSvc - few fix for Windows - requirements - compile AIDATupleSvc append the required libraries to PI_linkopts ( should be moved to LCG_Interface/PI/requirements) update version to v13r3 ! 2005-03-07 - Marco Cattaneo - ApplicationMgr: Add AppName and AppVersion properties, and print a welcome message using their value ================ GaudiSvc v13r2 ========================================== ! 2005-03-04 - Manuel Domenech - AIDATupleSvc.cpp: Fixed minor bug opening pi_aida::Proxy_Stores. Debug messages removed. ! 2005-03-01 - Markus Frank - EventSelector.cpp: Use unmanaged service for sub-event selector. Subevent selector management is entirely done by the eventselector itself. - AlgorithmManager.cpp: Add interface call to access factory by name. Suppress loading algorithms by module with same name - ServiceManager.cpp: Add interface call to access factory by name. Suppress loading algorithms by module with same name. Suppress creation of services by creator function. ! 2005-02-28 - Olivier Callot - Add an option to print the list of jobOptions, sorted. The line "#printOptions" switches off completely the printing of jobOptions during their processing, but afterwards print a sorted list of options, truncated to about 100 characters. Truncation can be suppressed by adding the keyword 'full' i.e. "#printOptions full" prints all options. - Make the "#pragma print on/off" nested, i.e. a counter is used, incremented by "print off" and decremented by "print on", and printing of options is done only when the counter is zero. - The included files (open/return) are printed only if the print level is zero. ================ GaudiSvc v13r1 ========================================== ! 2005-02-25 - Chris Jones - ToolSvc.cpp(.h): Added catch clauses in initialization and finalization of tools ! 2005-02-24 - Manuel Domenech - Added AIDATupleSvc to work with tuples using the AIDA interfaces. Currently suports ROOT and XML persistency. - Dll/GaudiSvc_load.dll: added AIDATupleSvc declaration, DECLARE_OBJECT( AIDATupleSvc ); ================ GaudiSvc v13r0 ========================================== ! 2005-01-28 - Markus Frank - EventSelector.cpp: Fixed logic bug when releasing event loop context, which caused a resource leak since sub-event selectors were never released. - Lowered print level for DataOnDemandSvc from ALWAYS to INFO for information about automatic leaf creation. ! 2005-01-18 - Pere Mato - PropertyCompiler: Fixed problem with boost::filesystem::path when non existing file that was hanging on SLC3 ! 2005-01-11 - Pere Mato - Added profile histograms (Charles Leggett) ! 2005-01-10 - Pere Mato - EventSelector: Changed the printout of record numbers and streams to start from 1 instead of 0. This is to match numerically with the property "FirstEvent". - EventLoopMgr: Added inplemenation of IEventProcessor::stopRun() to schedule a stop of the event loop - Adapted to new CLHEP version taking into account namespace CLHEP ! 2004-12-07 - Markus Frank - EventSelector.cpp: Properly handle failures when "next()" fails. Until now this gave a core dump in the event the last input file was missing. ! 2004-09-16 - Markus Frank - NTupleSvc/CollectionCloneAlg.cpp Added algorithm to merge event collections ! 2004-09-13 - Markus Frank - Update to StoreExplorerAlg to force object access for ContainedObject(s). in ObjectContainerBase(s) - Updated description in DataOnDemandSvc header file ! 2004-09-03 - Markus Frank - Changes to options for the DataOnDemandSvc.Algorithms property: DataOnDemandSvc.Algorithms = { "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg/MyMuonDigits'" }; If the algorithm name is omitted the class name will be the instance name. ================ GaudiSvc v12r6 ========================================== ! 2004-11-05 - Pere Mato - ApplicationMgr: Changed the of finalizing managed algorithms. Now they are done before the services - ApplicationMgr: Added code to remove duplicated DLLs in the list of DLLs (by Chris Jones) ================ GaudiSvc v12r5 ========================================== ! 2004-10-25 - Pere Mato - Removed AlgorithmFactory.h(.cpp) and replaced by AlgorithmManager.h(cpp) - AlgorithmManager keeps a list of "managed algorithms". These algorithms are added into the list when the flag managed=true on ::createAlgorithm() method. They are initialized and finalized by the AlgorithManager. - ApplicationMgr.cpp: added a call to m_algManager->finalizeAlgorithms(); - DataOnDemandSvc.cpp: added managed=true when creating an Algorithm ================ GaudiSvc v12r4 ========================================== ! 2004-10-19 - Patrick Koppenburg - Bug fix in CollectionCloneAlg.cpp: typo in float and double types. It prevented stripping. ! 2004-10-11 - Marco Cattaneo - Bug fix in DataOnDemandSvc.cpp: initialize algorithms when they are created by the service ================ GaudiSvc v12r3 ========================================== ! 2004-09-16 - Markus Frank - NTupleSvc/CollectionCloneAlg.cpp Added algorithm to merge event collections ! 2004-09-13 - Markus Frank - Update to StoreExplorerAlg to force object access for ContainedObject(s). in ObjectContainerBase(s) - Updated description in DataOnDemandSvc header file ! 2004-09-03 - Markus Frank - Changes to options for the DataOnDemandSvc.Algorithms property: DataOnDemandSvc.Algorithms = { "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg/MyMuonDigits'" }; If the algorithm name is omitted the class name will be the instance name. ! 2004-08-03 - Vanya BELYAEV - src/ChronoStatSvc/ChronoEntity.h src/ChronoStatSvc/ChronoEntity.cpp src/ChronoStatSvc/StatEntity.h src/ChronoStatSvc/StatEntity.cpp Files are moved into GaudiKernel package - src/ChronoStatSvc/ChronoStatSvc.h(.cpp) Two new methods from IChronoStatSvc are implemented to allow public run-time inspection of Chrono & Stat counters - src/ParticlePropertySvc/ParticlePropertySvc.h(.cpp) Modification to fill a proper particle <--> antiparticle relations for ParticleProperty objects ================ GaudiSvc v12r2p1 ========================================== ! 2004-08-05 - Markus Frank - EventLoopMgr: Release event loop context on finalize - EventSelector: Finalize properly input streams to release sub-EventSelector instances ! 2004-08-02 - Pere Mato - MinimalEventLoopMgr.cpp: Moved resetExecuted() out of the loop of top Algorihms. We need first to reset the executed flag of all Algorithms before starting executing them. (Reported by Patrick Koppenburg) ================ GaudiSvc v12r2 ========================================== ! 2004-07-24 - Pere Mato - EvtSelector: Fixed bug that the option EventSelector.FirstEvent was skiping twice the number of events. Reported by Marco Cattaneo. - EvtSelector: Improved printout of EvtSelector with the real record number (total and per stream) ! 2004-07-24 - Vanya Belyaev - ToolSvc: Added the option to switch between "private" and "public" tools based on the name given to the tool. If the tool name ends with ":PUBLIC", the tool will be public. This allows to change the nature of the tool just by using JobOptions and without chnanging the code. ================ GaudiSvc v12r1 ========================================== ! 2004-07-20 - Pere Mato - Fixed bug concerning empty or non specified Event selector input. Reported by Marco when running Ex/DetDescExample. ! 2004-07-13 - Charles Leggett - Added HistorySvc/* and moved AlgContextSvc/* from Athena - use property callbacks in MessageSvc so works properly with Python. ================ GaudiSvc v12r0 ========================================== ! 2004-07-13 - Pere Mato - Added ':' (';' on windows) as path separator in addition to ',' for JobOptionsDir - Changed to non-cheking mode DirSearchPath (replaced native by no_check) ! 2004-06-20 - Markus Frank - Add new Service: MultiStoreSvc Transient datastore with several concurrent partitions all initialized with the same opaque address, hence the same persisten data content. However when adding data different algorithms could act on. - Add algorithm PartitionSwitchAlg & Tool to switch e.g. above service in a squence. - New algorithm: SToreExplorerAlg Explore data stores to see content. May or may not load objects. Very useful debugging tool. - Modify DataOnDemandSvc to take standard type/name tuples for algorithm creation: DataOnDemandSvc.Algorithms = { "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg/MyMuonDigits'" }; - Modify SvcManager to accept standard type/name tuples for Service creation: getService("svc/myinstance", IMyService, createIf) - Add a test directory, which creates a loadable gaudi component image. The image can be used for generic testing within any gaudi program. Tests currently only involve the counter service and the store explorer, but can easily be extended. The corresponding job options file is in gaudiSvc/options/Test.opts. ! 2004-05-05 - Markus Frank - New Service: DataOnDemandSvc The DataOnDemandSvc listens to incidents typically triggered by the data service of the configurable name "IncidentName". In the job options handlers can be declared, which allow to configure this service. Such handlers are either: - Node handlers, if objects other than the default object type have to be instantiated. DataOnDemandSvc.Nodes = { "DATA='/Event/Rec' TYPE='DataObject'", "DATA='/Event/Rec/Muon' TYPE='DataObject'" }; - Leaf handlers (Algorithms), which get instantiated and executed on demand. DataOnDemandSvc.Algorithms = { "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg' NAME='MyMuonDigits'" }; The handlers only get called if the exact path matches. In the event already the partial path to any handler is missing a leaf handler may be triggered, which includes the partal pathes ( DataOnDemandSvc.UsePreceedingPath = true ) - Update event selector sub-package to use the new interface of Carmine Introduce all changes from Carmine - Modify several implementation files and replace StatusCode::isFailure with !StatusCode::isSuccess(), which is a more appropriate test for customized return codes. - Allow for logical names (environment variables) in file specifications of OutputStream, EventSelector and HistogramPersistencySvc ================ GaudiSvc v12r0 ========================================== ! 2004-06-02 - Pere Mato - PropertyCompiler.cpp: Fixed infinite loop reporting errors when "unit" file is not present ================ GaudiSvc v11r6p1 ========================================== ! 2004-04-19 - Pere Mato - ServiceManager: added debug output when finilizing services ================ GaudiSvc v11r6 ========================================== ! 2004-04-02 - Pere Mato - DetDataSvc: output in log file the database name used by the service [bugs #2854] Print the abosule path of the XML detector geometry/description file ! 2004-03-29 - Marco Cattaneo - OutputStream: add an option PreloadOptItems (default false) to preload also the objects defined in OptItemList. This is needed when making a copy of a dataset containg OptItems ! 2004-03-10 - Chris Jones - ToolSvc: Follow up from the previous change that didn't fully solve the problem. The problem is essentially that Marco warned of, which is released tools being used after deletion. I am not 100% sure how or where this happens, but my suspicion lies with the fact it is possible for the method release() to be called on a tool, which then deletes itself in a way which is not known by the toolsvc, by which I mean the internal list of tools which the toolsvc keeps can still contain a non-null pointer to the now deleted tool. My "solution" to this is a bit of a pigs-ear, but does allow me to run Boole and Brunel with all detectors on and with no warnings from the RICH code. In a nut-shell what I have done is manually increment the ref count of all tools such that they do not delete themselves, and then perform a final controlled(?) release and delete as a second step. This is ugly and hides the true problem I think, but seems to work with the current applications. Neither do I issue any guarantees against it breaking in the future. ================ GaudiSvc v11r5 ========================================== ! 2004-03-09 - Chris Jones - ToolSvc: Fixed a long standing problem on the finalize Tools when they have cyclic dependencies. Here is the full explanation from Chris: 1. ToolSvc::finalize() This method was making a single loop over all known tools, and tries to finalise each of them. If it failed (since the ref. count wasn't equal to 1) it simple removed this tool from the list and went to the next. The problem here was that at least for the RICH I have tools using other tools, and thus the order you try to finalise the tools is important. I've re-worked this so that instead of simply removing a tool from the list which cannot be finalised, it is placed at the front of the list so it will be tried again in due course. 2. ToolSvc::releaseTool( IAlgTool* tool ) A second problem I found (after fixing the first one) was that for reasons I haven't been able to fully understand, this method was being called for tools that actually already been finalised and deleted, and thus was crashing. I "fixed" this by first making a test to check if the tool being released is in the list of active tools. I think that the fact this fix is needed indicates a deeper problem, which is tools are being finalised and deleted before all users have released them. One thing which does confuse me a little is the fact that the method ToolSvc::finalize() contains one call to itool->addRef() but two calls to itool->release() ? I don't really understand why this is done, but my guess is this is forcing the refcout down by 1and thus forcing some tools to finalise. ================ GaudiSvc v11r4 ========================================== ! 2004-03-04 - Gloria Corti - ParticlePropertySvc: Adaptation to new interface IParticlePropertySvc New format for the input file is parsed and the default is now read from $PARAMFILESROOT/data/ParticleTable.txt A new input file is also provided, that has a new name: ParticleTable.txt. This new file should be put in $PARAMFILESROOT and is used now instead of particle.cdf. ================ GaudiSvc v11r3 ========================================== ! 2004-02-09 - Pere Mato - EventSelector.cpp: Fixed a crash that was preventing from using the event selector interactively with GaudiPython starting from the python prompt. ================ GaudiSvc v11r2 ========================================== ! 2004-01-01 - David Rousseau - ChronoStatSvc: improve printout - DetectorDataSvc: Removed the action done in reinitialize() to avoid to clear the detector transient store. ! 2003-11-06 - David Rousseau - ChronoStatSvc: add possibility for MemStatAuditor to skip 1st nevents - StatEntity.h: idem! ================ GaudiSvc v11r1 ========================================== !-2004-01-16 - Pere Mato - PropertyCompiler.cpp: Removed dependency to ecvt function that is not portable !-2004-01-08 - Vanya Belyaev - JobOptionsSvc: Added the possibility to read additional option files. >>>IJobOptionsSvc interface has been modified<<<< ! 2003-12-12 - Markus Frank - Added additional POOL storage types as known types to the persistency service ================ GaudiSvc v11r0 ========================================== ! 2003-10-28 - Grigori Rybkine - Replaced HTL used by HistogramSvc with the ROOT based AIDA histograms implementation from the LCG PI project This includes: - change to the new AIDA version 3.0.0 - the new histogram classes H1D, H2D, H3D, each describing the corresponding fixed and variable bin size histograms (classes H1DVar, H2DVar, H3DVar removed); most of the AIDA histogram interface functions are now implemented - modifications to HistogramSvc.h/.cpp and HistogramFactory.cpp; more of the AIDA IHistogramFactory interface functions are now implemented Required changes: - modifications to GaudiKernel/IHistogramSvc.h (due to the introduction of the AIDA namespace ) - use of interface package PI (instead of HTL) ! 2003-11-26 - Pere Mato - Chnages for Mac OSX (Guy Barrand) ! 2003-11-20 - Pere Mato - Added incident type names in GaudiKernel/Incident.h ! 2003-10-24 - Paolo Calafiura - DirSearchPath: don't force alpha ordering of SEARCHPATH (bug #1663) ! 2003-09-05 - Paolo Calafiura - PropertyCompiler: fix handling of double includes (bug #1388) ! 2003-08-08 - Paolo Calafiura - PropertyCompiler: Don't fail when job opt file included twice ! 2003-08-05 - Paolo Calafiura - PropertyCompiler: Fail when job opt file missing (Bug #1255) ! 2003-08-05 - Vanya Belyaev ToolSvc.cpp. Minor modification in ToolSvc::retrieve methods nesessary to support new GaudiTool class ! 2003-07-03 - Markus Frank Major upgrade for use of POOL. Main change: extend technology specifier to int from unsigned char. HistogramAgent.h Fix to verify that histograms must exist in order to be written EventSelector.cpp Add missing service release() ConverterFactory.cpp/h NTupleSvc.cpp/h Extend technology specifier to int PersistencySvc.cpp/h EventSelectorDataStream.cpp TagCollectionSvc.cpp Support for PoolDb collections ================ GaudiSvc v10r3p1 ========================================== ! 2003-07-07 - Paolo Calafiura - PropertyCompiler: skip files already included (Bug #1071) ! 2003-06-25 - Paolo Calafiura, Pere Mato - ApplicationMgr.cpp: Changed the order of initialization of Runable back to old policy. (Bug #926) ================ GaudiSvc v10r3 ============================================ ! 2003-06-06 - Paolo Calafiura - JobOptionsSvc: introduced search path for job opts (a la LD_LIBRARY_PATH) - src/tests: new directory for unit tests - PersistencySvc: gcc 3.2 bug fix (remove ends) in encodeAddrHdr ================ GaudiSvc v10r2 ============================================ ! 2003-05-06 - Paolo Calafiura - PersistencySvc: use updated IAddressCreator interface ! 2003-04-29 - Sebastien Ponce - Undo previous change. See comment in EventSelector.cpp. ! 2003-04-15 - Paolo Calafiura - EventSelector.cpp: delete m_start in destructor ! 2003-04-12 - Markus Frank - Fix memory leak in the event selector. The opaque object address was not deleted when skipping initial event records (FirstEvent property set). ! 2003-04-04 - Pere Mato - Fixed Bug #348. Modified PropertyCompiler to to do a case insensitive compare when appending string options into an option array. ! 2003-04-01 - Sebastien PONCE - coding conventions application - add error handling missing in ApplicationMgr ! 2003-03-11 - Paolo Calafiura - src/ApplicationMgr: rename ThreadLibGaudi.h as ThreadGaudi.h ! 2003-03-07 - Pere Mato, Witek Pokorski - Changed CLHEP Random Number distribution from RandGauss to RandGaussQ. This avoids the problem that the former was always generating the numbers in pairs thus caching the next one even in the case of setting a new seed. ! 2003-02-27 - Charles Leggett - MessageSvc: support colored messages on xterms ! 2003-02-25 - Werner Wiedenmann, Paolo Calafiura - Added NoOfThreads and MultiThreadExtSvc properties to ApplicationMgr to support event-level multi-threading. Throw when property handlers fail. - MinimalEventLoopMgr throws when top algs and output streams can not be loaded - MinimalEventLoopMgr.{h,cpp} : create automatically an algorithm copy for each thread when necessary ! 2003-01-29 - Florence Ranjard - requirements - add -no_auto_import to AIDA ! 2003-01-29 - Paolo Calafiura - Added MessageSvcType property to ApplicationMgr to select alternative MessageSvc implementations ! 2003-01-21 - Markus Frank - PersistencySvc.cpp/h OutputStream.cpp/h Implement/use connectOutput call of conversion service interface. Second argument allows to specify the opening mode (NEW, RECREATE, UPDATE) ! 2003-01-22 - Markus Frank - EventSlector.cpp/h : Implement proper ability to reinitialize for changing the input specification - HepRndmEngine.cpp/h : Implement new option RandSvc.Engine.SetSingleton If set to true, set the default engine in HepRandom. (Does not work for the time being, because CLHEP is not a shared image) ! 2003-01-10 - Pere Mato - Corrected bug found by Marco in finalizing ToolSvc when Tools are not properly released by end-users. ! 2003-01-06 - Sebastien Ponce - better support for gcc 3.2 ================ GaudiSvc v10r1p2 ============================================ ! 2002-12-11 - Markus Frank - Corrected reference counting of ConversionSvc in OutputStream.cpp This was producing a crash at the end of Brunel. Reported by Marco. ================ GaudiSvc v10r1p1 ============================================ ! 2002-11-29 - Pere Mato - Corrections to support linking applications statically ! 2002-11-21 - Sebastien Ponce - memory leak fixes in DetDataSvc and PersistencySvc ! 2002-11-19 - Sebastien Ponce - memory leak fix in EventLoopMgr ! 2002-11-06 - Sebastien Ponce - fixes in order to remove deprecated warnings on gcc 3.2 - coding conventions applications ================ GaudiSvc v10r1 ============================================ ! 2002-11-08 - M.Frank - Add seperate service for histogram persistency. Allows to read histogram input from several sources. Required changes: No necessity to check everywhere for "ApplicationMgr.HistogramPersistency". It is only done in HistogramPersistencySvc, which is ALWAYS created, but depending on the real value of "ApplicationMgr.HistogramPersistency" invokes the proper histogram conversion service for HBOOK, ROOT etc. End user implications: Normally None However, if explicit properties for HBOOK/ROOT should be set like the PAWC size, the service to talk to is - HbookHistSvc for HBOOK - RootHistSvc for ROOT Required changes: - ApplicationMgr - EventLoopMgr - HistogramSvc New property "Input": vector<string> histogram input (format as for N-tuple Svc) - PersistencySvc Minor updates. New files: - src/ApplicationMgr/HistogramAgent.h - src/PersistencySvc/HistogramPersistencySvc.cpp - src/PersistencySvc/HistogramPersistencySvc.h ================ GaudiSvc v10r0p1 ============================================ - Change all factories to export only IFactory reference: Makes GaudiSvc_load much simpler. Specialized IXXXFactory reference is not necessary ! 2002-11-04 - Pere Mato - Changed INFO to DEBUG the messages generated by OutputStream when adding items into the output list - Changes in printing in JobOptions: - printing always what include files are included - do not print when switch on/off printing - printing on/off is inherited by included files but not inherited back when returning to parent file. ! 2002-10-29 - Pere Mato - Minor warnings on gcc 3.2 ================ GaudiSvc v10r0 ============================================ ! 2002-10-04 - Pere Mato - Added accessors to the JobOptions Catalogue to allow to edit from any client: getClients(), getProperties(...), addProperyToCatalogue(...), removePropertyFromcatalogue(...) New version of IJobOptionsSvc. ! 2002-09-27 - Sebastien Ponce - fixes in order to compile on gcc 3.2 - lots of coding conventions applications ! 2002-09-27 - Sebastien Ponce - fixes in order to compile on gcc 3.2 - lots of coding conventions applications ! 2002-09-27 - Pere Mato - Added the following properties to MessageSvc to allow the control of output level for objects that can not be controlled by job options (e.g. DetectorElement, etc.) MessageSvc.setVerbose += {"name1", "name2"}; (or setDebug, setInfo, setWarning, setError, setFatal, setAlways ) ! 2002-09-25 - Sebastien Ponce - implementation of reinitialize method for DetDataSvc - implementation of histogram serialization and deserialization ! 20020924 - Pere Mato - Changes to clean the reference counting and memory deallocation detected by the "valgrind" tool. Modified files: ApplicationMgr.cpp(h), AlgorithmFactory.cpp, AppMgrRunable.cpp(h), ConverterFactory.cpp, DLLClassManager.cpp(h), EventLoopMgr.cpp(h), MinimalEventLoopMgr.cpp, ObjectManager.cpp(h), ServiceManager.cpp, AuditorSvc.cpp, EvtDataSvc.cpp(h), EventSelector.cpp, HistogramSvc.cpp, PropertyCompiler.cpp, MessageSvc.cpp, RndmEngine.cpp, RndmGen.cpp, RndmGenSvc.cpp !============================== v9r0p1===================================== ! 20020910 - Florence Ranjard - requirements - use v* !============================== v9r0p0====================================== ! 20020903 Pere Mato - Fixed uninitialized m_refCount in RndmGen class ! 20020805 Markus Frank - Fix bug in CLHEP random number engine: Terminate seed array with 0 if not yet done. ! 20020717 Markus Frank - Bug fix: EventSelector.h/.cpp added finalize stream. This fixes the problem detected when running a job over several ROOT files that were not closed properly and their memory buffers deallocated. ! 20020705 Pere Mato - Modified/Fixed JobOptions service (PropertyCompiler) to support properties with units. The file containing the unit equivalences is specified as: #units "units file" The format of the file is: <value> <unit_name> = <equivalent_value> For example: 1 m = 1000 1 cm = 10 The syntax in the JobOptions files is: <numerical_value>[*]<unit_name> For example: PropertyAlg.ArrayWithUnits = { 1.1 m2 , 2.cm, 3.3*cm, 0.4e-03 * m }; ! 20020703 Paolo Calafiura - Annotation.cpp dont set map iterator to 0 ! 20020516 Paolo Calafiura - ApplicationMgr.* bring back in line with v8r0, remove extra addRefs ! 20020515 Paolo Calafiura - Massimo refactoring of ApplicationMgr. Affected classes AlgorithmFactory, ApplicationMgr, ConverterFactory, DLLClassManager, ObjectManager, ServiceManager (+ GaudiKernel/PropertyMgr) ================v8r2================================== ! 20020701 Pere Mato - Removed printout when loading dll modules - Print summary of loaded modules successfully and failed - Implemented "GaussianTail distribution" requested by Chris Parkes Rndm::GaussianTail( cut, sigma) ! 2002-06-26 - Marco Cattaneo - OutputStream issues a warning if it cannot find an object on OutputStream.ItemList ! 20020611 Pere Mato - Changed MSG::INFO to MSG::ALWAYS for printing event number (EventSelector). Request CT0000000067821 ================v8r1================================== ! 20020618 Markus Frank - Add option to output stream: OutputStream.OptItemList Elements in this option are not required to be present in the transient datastore to be written. However, if present, they get wrttwen to the stream as well. ================v8r0================================== ! 20020407 Pere Mato - Decrease dependency with HTL by addding -no_auto_imports ! 20020327 Pere Mato - Changes needed for Solaris (by Wim Lavrijsen). Details: +++ GaudiSvc/src/EventSelector/EventSelector.cpp prepended "const" +++ GaudiSvc/src/MessageSvc/MessageSvc.h removed virtual inheritence in class MessageSvc +++ GaudiSvc/src/ChronoStatSvc/ChronoStatSvc.h removed virtual inheritence in class ChronoStatSvc +++ GaudiSvc/src/JobOptionsSvc/JobOptionsSvc.h removed virtual inheritence in class JobOptionsSvc ! 20010315 Markus Frank PersistencySvc.h/cpp add call "commitOutput" as required by interface IConversionSvc OutputStream.cpp Call commitOutput after object conversion. ! 20020318 - Pere Mato - Moved ListItem.h to GaudiKernel package since it is quite usefull helper class. ! 20020313 - Pere Mato (David Quarrie) - New property "OutStreamType" for the ApplicationMgr to select the default type for Output Streams. The default value is "OutputStream" be compatible. ! 20020226 - Pere Mato - Adapted to use AIDA 2.2 - Introduced 3D Histograms (fix and variable binning) ! 20020225 - Markus Frank - Problem reported by Kambiz Mahboubi fixed concerning the user defined random number generator (i.e. DefinedPdf) - RndmGenSvc/HepRndmGerators.cpp ================v7r3================================== ! 20020205 - Gloria Corti (v7r3) - Modification necessary to correctly name a private tool belonging to an other tool. ================v7r2================================== ! 20020205 - Pere Mato (v7r2) - Fixed bug reported by O. Callot that failing to load a DLL should fail the configuration phase of ApplicationMgr. ! 20020123 - Marco Cattaneo & Pere Mato (v7r1) - Changed search list for the job options path. It would take: - argv[1] if it exists else - JOBOPTPATH if it is set else - default to ../options/job.opts ! 20020123 - Sebastien Ponce - Removed the use of variable DDDB in DetDataSvc ================v7r0================================= ! 20011207 - Sebastien Ponce - Adapted PersistencyService to the new IConversionSvc interface ! 20011203 - Pere Mato - Andrea Valassi - Minor correction in DetDataSvc - Changed ApplicationMgr to take precedence of the joboptions file the command argument and then the JOBOPTPATH environment variable. ! 20011130 - Gloria Corti - Pere mato - ParticlePropertySvc. Fixing mapping of geant3 id to PDG number for non standard PDG particles. ! 20011130 - Andrea Valassi - Pere mato - DetDataSvc.h .cpp added functionality for the conditions data ! 20011121 - Pere Mato - Removed default services being creted by ApplicationMgr ! 20011120 - Markus Frank - Allow to switch on and of printing of job options while reading the job options text file. Usage: #pragma print on #pragma print off off will switch printing off; on will switch it on. ! 20011115 - Pere Mato - Changed ToolSvc to make use of the new methods initialize() and finalize() in the IAlgTool interface modified in GaudiKernel. - Implement new method of IToolSvc::releaseTool() ! 20011112 - Markus Frank - Many Changes for the DataStore classes re-design. See details in separate note ! 20011108 - Pere Mato - Removed functionality from ApplicationMgr and moved to ServiceManager in what concerns dealing with Services. - Interface ISvcManager improved and extended - Removed the inheritance of ApplicationMgr to (ISvcManager, IAlgManager, ICnvManager, IObjManager). Functionality recovered by queryInterface() - Removed default services being creted by ApplicationMgr ! 20011105 - Sebastien Ponce - Implementation of ClearStore for DetectorDataSvc ! 20010706 - David Quarrie - Extend ChronoStatSvc to support a mechanism for retrieving the delta-time between previous start/stop pairs. ! 20010705 - Pere Mato - JobOptions: scientific notation in floats/doubles is now working correctly ! 20010702 - Pere Mato - Fixed problem "Gaudi jobs do not fail if the job options service fails to set an option" CT0000000060711 by M. Cattaneo - Fixed bug on Histograms projections introduced when going to AIDA ! 20010702 - David Quarrie - Minor bug fixes to logic for the interactivity support (scripting). - Minor tweaks to avoid warning messages with gcc 2.95.2. ! 20010629 - Pere Mato - Number of changes needed for the interactivity support (scripting) The ApplicationMgr and EventLoopMgr make use of the newly added method reinitialize() to take into account changes in the configuration done by the user interaction like adding new services or algorithms. These new components are initialized in the reinitialize() method. - Deleted GaudiEventLoopMgr class and moved its functionality to EventLoopMgr. - Implemented IEventProcessor::executeRun() in ApplicationMgr and EventLoopMgr to call beginRun() and endRun() to all Algorithms. - Callbacks (handlers) in AppicationMgr to support scripting have been simplified. - HistogramSvc implements reinitialize() ! 20010627 - Vanya Belyaev ChronoStatSvc : modification for improved printout ! 20010627 - Markus Frank Dll/GaudiSvc_Load.cpp : Add new factory for event tag collections NTuples/* : update to separate event tag collections from NTuples. NTuple persistency is now completely steered by the option ApplicationMgr.HistogramPersistency See mail of D.Rousseau in GAUDI_DEVELOPERS PersistencySvc/EvtCollectionStream.cpp Update for separation of NTuples and event tag collections ! 20010626 - Pere Mato Modified HistogramSvc to use the AIDA interfaces (1.0). This required quite a lot of changes due to the fact that setTitle() method was not definied. Instead the IAnnotation has been used. ! 20010503 - Markus Frank Allow Histograms and N-tuples to be booked without the top level directory ie. without always specifying "/stat/....". The specification of an histogram such as "/stat/simple/1" is now equivalent to "simple/1". The use of histograms and N-tuples is backwards compatible. ! 20010430 - Markus Frank NTupleSvc/NTupleSvc.cpp Simplification using changes in GaudiKernel v10 EventSelector/EventSelectorDataStream.cpp Recognize SICB file type also for specs like: "DATAFILE='xxx.dat' TYP='SICB'" is now equivalent to "FILE='xxx.dat'" ! 20010430 - Pere Mato (Version v5r1) - Fixed bug concerning histograms being saved to disk before Algoritms are finalized, reported by Stefan Piperov (HARP). Changed GaudiEventLoopMgr.cpp ! 20010322 - Markus Frank & Pere Mato - ApplicationMgr.cpp. Set default EvTMAX to -1 (infinite) - EventLoopMgr.cpp Check that if EvtSel is still NONE do not create a EventSelector - EventSelector.cpp Removed EvtMax property. ! 20010320 - Markus Frank & Sebastien Ponce - Handling correctly the property EvtMax from the ApplicationMgr - EventCollectionSelector.cpp Improved error printing when connection to N-tuple (=EventCollection) fails. ! 20010320 - David Quarrie ApplicationMgr/EventLoopMgr Check within nextEvent to see whether the Event Selector has changed to allow late specification of it (and eventual changes at run-time). PersistencySvc/PersistencySvc Add an update callback to the Service Names to allow them to specified and added at run time. ! 20010319 - Pere Mato Corrected the follwing bugs: - JobOptionsSvc was not able to handle booleans and array of booleans any more. - The initialization of the Detector description has been moved to the DetectorDataSvc because otherwise was done too later. The Algorithms tryed to intialize before it was done. ! 20010316 - David Quarrie (on behalf of Charles Leggett) - HistogramSvc: Remove redundant trailing "/" character in histogram paths. ! 20010316 - Markus Frank & Pere Mato - Some restructuring done on the ApplicationMgr. New classes: EventLoopMgr, MinimalEventLoopMgr, GaudiEventLoopMgr with increasing specialization. The ApplicationMgr delegates the Event Loop functionality to these ones. AppMgrRunable it is the default runable (implements IRunable) that is activated after the initialization is complete. It calls the nextEvent() of the ApplicationMgr. - Changed in HistogramSvc and NTupleSvc the strtream for convering numbers to strings for the itoa() function. ! 20010314 - Pere Mato - Adapted to the new method IProperty::getProperty(const string&, string&) - Adapted to the new method IAppMgrUI::state() ! 20010314 - David Quarrie - ApplicationMgr Add a temporary "Exit" command for force program termination from within a script. This will be replaced at some point once we have proper control mechanisms in place. ! 20010313 - David Quarrie - ApplicationMgr Add an update callback handler to the OutStream Property. Allow the HistogramPersistencySvc to be specified as "NONE" to avoid having to specify one of "HBOOK" or "ROOT" when none is required. - JobOptionsSvc Add source type "NONE" to bypass usage of the PropertyCompiler and thence result in the catalog being empty. ! 20010312 - Markus Frank Changes to the job options processing - Make the job options service re-entrant. Removed all static storage, which prevented reading the options twice. - Add value-of operator '@' to assign a job option the value of another option Usage: MyAlg.OutputLevel = @MessageSvc.OutputLevel; ApplicationMgr.TopAlgs += { @ApplicationMgr.ExtSvc }; Note: The value-of of a vector addresses the elements, not the vector itself. - Allow reset of vector lists to empty lists. Usage: ApplicationMgr.TopAlgs += {}; ! 20010229 - Pere Mato (from Sebastien Ponce) - Corrected bug in EventSelector.cpp which core dumped when accessing a non existing file. ! 20010226 - Pere Mato - Small chnages to make it compile in NT ! 20010223 - David Quarrie - ApplicationMgr Added update callback handlers to "TopAlg", "ExtSvc" and "Dlls" properties. This allows them to be updated at run-time by the scripting interface, and to act immediately upon such updates. Also added a "Go" Property which allows minimal control handling. This will probably be replaced in the future. Interchange the sequence of initialization of Algorithms and Output Streams to allow the latter to reference the former. Deal with the expanded IProperty interface. - EventSelectorDataStream Deal with support for renaming the root object of the transient event store. Use StringProperty declaration from Property.h instead of its own. - HistogramSvc Deal with compiler warnings on Linux & Solaris related to ARM Page 210. - OutputStream Add "AcceptAlgs","RequireAlgs", "VetoAlgs" properties. This allows filtering depending on the filter passed flags from the specified Algorithms. The event will be written to the output stream if _any_ of the Algorithms in the "AcceptAlgs" list was executed for this event and has its filter passed set. The event will only be written if _all_ of the Algorithms in the "RequireAlgs" list were executed and had their filter passed set. The event will not be written if _any_ of the Algorithms in the "VetoAlgs" list was executed and has its filter passed set. Combinations are logically and'ed. The default remains to output every event. These properties have update callback handlers associated with them so they can be modified at run-time by the scripting interface and have an immediate effect. - HepRndmEngin & HepRndmEngines Correct a bug in the declaration of rndm( ) function which does not correctly override the parent version. ! 20010206 - Pere Mato - Modified StatEntity.h by Vanya ! 20010120 - Pere Mato - Changes needed to accomodate to the new GaudiKernel that avoids the static library. This means that the IIDs are now a static constant in the .h file instead of accessing them by and external declaration. - FactoryTable is cleaned each time a dynamic library gets loaded ! 20001213 - Pere Mato Changes needed due to changes in GaudiKernel. ! 20001128 - GaudiSvc v4 (P. Mato) Some bugs fixed fro NT. Adapted to new version of CMT and NMake ! 20001030 - GaudiSvc v4 ! 20001030 - M.Cattaneo - GaudiSvc_load.cpp Add Auditor service to factories ! 20001027 - G.Corti - ToolSvc/ToolSvc.cpp add try/catch when creating tool ! 20001027 - Markus Frank - ApplicationMgr.cpp Call sysExecute instead of execute for output streams - GaudiSvc_load.cpp Add incident service to factories - EventSelector: Add print frequency, max events and first event to process to options - Output streams Use same option format as for NTupleSvc and EventSelector. ! 20001026 - Marco Cattaneo - requirements: use clhep v1r6, htl v13 ! 20001018 - Pere Mato - Implemented a new service called IncidentSvc. This allows to communicate asynchronously things that happen in the system. The ApplicationMgr uses it to inform when begining and ending the processing of one physics event. + New subpackage added: IncidentSvc + Modified ApplicationMgr to make use of the new service ! 20001017 - Markus Frank - NTupleSvc Properly merge my previous changes and the changes of C.Leggett ! 20001013 - Markus Frank - ApplicationMgr/ApplicationMgr.cpp: Allow to specify the type of output streams - Dll/GaudiSvc_load.cpp: Added new Factories - EventSelector New sub-package - NTupleSvc/NTupleSvc.cpp Service creates conversion service for different NTuple sources (HBOOK, ROOT...). I hope this is compatibel with Charles Leggett's changes. - PersistencySvc/OutputStream.cpp Make data service a variable - PersistencySvc/PersistencySvc.cpp Allow to retrieve conversion service identified by technology type ! 20001012 - Vanya Belyaev - ChronoStatSvc/StatEntity.h - fix Remedy problem ID= CT0000000036451 ( remove misprint in output functions for statistics) ! 20001011 - Pere Mato - JobOption files: the operation += will not generate an error is the property does not exists, it creates an new one. ! 20001009 - David Quarrie, Pere Mato - Added new Auditor service. This is service is managing a number of configurable auditors that can be installed. The default behaviour is the same as obtained with the ChonoSvc. File Modified: ApplicationMgr.h (.cpp) New Files: AuditorSvc.h (.cpp) ! 20001006 - Pere Mato - Histogram persistency service is not required ! 20000815 - Pere Mato - ApplicationMgr creates a "DataObject" object as the event data store root ("/Event") if EvtSel = "NONE" is specified. ! 20000720 - GaudiSvc v3 ! 20000710 - Gloria Corti - Implementation of new service ToolSvc in new directory ToolSvc: ToolSvc.h and ToolSvc.cpp the service creates new concrete tools on retrieval and manages the tools - modify requirements file to include ToolSvc ! 20000709 - Markus Frank - Comment some argument variables to suppress warnings on Linux ! 20000707 - Pavel Binko - requirements: use HTL v11r12 - Implementation of enhanced interfaces IAxis, IHistogram and IHistogramSvc The newly implemented function are : - returning all edges in a given axis - setting the histogram title - allowing to register, unregister, retrieve and find a histogram in the transient histogram data store ! 20000704 - Pere Mato ApplicationMgr.cpp: - Allow applications without input data (EventSelector) by specifiying 'ApplicationMgr.EvtSel = "NONE";' in job options - Fail initialization if any algorithm fails - Clear data stores at finalize - Add RndmSvc as a known service to the ApplicationMgr ! 20000626 - Marco Cattaneo - requirements: use HTL v11r11 ! 20000623 - Vanya Belyaev - ChronoStatSvc - improved printout (add possibility to output also elapsed time of the job). by default only used time statistics is printed optionally system time and elapsed time could be printed - requirements: remove GaudiSvc_stamps for non-static linkage (do not force to relink the executable in the case of dynamic loading when shared library is changed) ! 20000621 - Marco Cattaneo - requirements: insert underscore in name of GaudiSvc_shlibflags macro, to please CMT v1r5 !20000616 Pere Mato - Added default seeds in RndmGenSvc such that it can be initialized without the being declared in the jobOptions file. !20000615 Pere Mato - Changed ApplicationMgr to stop the event loop when execution errors and call resetExecuted() for all top level algorithms. !20000530 Markus Frank - NTupleSvc: Fix in order to not close files twice. !20000526 - Stefan Probst, Markus Frank - JobOptionsSvc/UnitsExtension.cpp, .h : New classes for handling units within the property compiler - JobOptionsSvc/PropertyCompiler.cpp : Add feature to read units via job options file Fix bug for proper number conversions Resolve environment variables for all string properties !20000505 - Marco Cattaneo - Removed GaudiErrorHandler.h .cpp, GaudiNagHandler.h from MessageSvc (moved to NAGC v5r1 package) !20000410 - GaudiSvc v2 (v1 does not exist due to wrong use of this tag when package was created) Vanya Belyaev : - ApplicationMgr.cpp has changed to look for XMLDDDBROOT variable for location of XmlDDDB If the data base location is not given explicitely throught ApplicationMgr properties, it is set to $XMLDDDBROOT/DDDB/dddb.xml Gonzalo Gracia Abril : - ApplicationMgr.cpp changed to according to the new Event Selector Interface Pavel Binko : - Application manager moved from Gaudi to GaudiSvc - ChronoStatSvc added - Data service moved from Gaudi to GaudiSvc - Detector data service moved from Gaudi to GaudiSvc - HistogramSvc moved from Gaudi to GaudiSvc, histograms updated, in order to implement the new AIDA histogram interfaces - Job options service moved from Gaudi to GaudiSvc - Meessage service moved from Gaudi to GaudiSvc - NTupleSvc moved from Gaudi to GaudiSvc - Particle property service moved from Gaudi to GaudiSvc - Persistency service moved from Gaudi to GaudiSvc - Random denerator service moved from Gaudi to GaudiSvc - Dll directory created to support shared library New package. !==============================================================