![]() |
The Gaudi Framework
v29r3 (fa547fc2)
|
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.
!==============================================================