001 Package : GaudiKernel
002 Package manager : Pere Mato
003
004 ================ GaudiKernel v25r2 ====================================
005 ! 2008-07-17 - Marco Clemencic
006 - Added the interface IEventTimeDecoder (from LHCb detector description), and
007 the Reflex dictionary for it.
008
009 ! 2008-07-15 - Marco Clemencic
010 - Fixed bug #38868. MinimalEventLoopMgr does not restart algorithms
011 Implemented restart so that it calls the restart of all the algorithms.
012 Fixed the implementation of reinitialize too.
013
014 ! 2008-07-15 - Gerhard Raven
015 - Fixed bug #38855. Inconsistent check in Service::sysRestart.
016 Fixed a the result of a bad cut & paste.
017
018 ! 2008-07-15 - Vanya Belyaev
019 - Patch #1756. Decrease the probability for FPE in StatEntity::addFlag
020 Added a check in StatEntity::addFlag to avoid floating point exceptions
021 (underflows).
022
023 ! 2008-07-11 - Charles Leggett
024 - requirements: tweak genconfig_cmd macro to work with GAUDI_ATLAS tag
025
026 ! 2008-06-30 - Marco Clemencic
027 - Cleaned up Boost link options plus a fix for Boost 1.35.
028
029 ================ GaudiKernel v25r1 ====================================
030 ! 2008-06-25 - Marco Clemencic
031 - Fixed bug #38206: gaudirun.py fails to set a list property from a property
032 reference.
033 - Fixed bug #38194: gaudirun.py expands too many environment variables
034 Avoid to expand the environment variables in the strings.
035
036 ================ GaudiKernel v25r0 ====================================
037 ! 2008-06-12 - Marco Clemencic
038 - Modified the logic behind IFileAccess: the implementation must be able to
039 tell which protocols it can handle.
040
041 ! 2008-06-10 - Charles Leggett, Marco Clemencic
042 - Fixed bug #37690. message svc release() in Auditor destructor
043 - Moved the call the message service release to the finalize method, where it
044 should be.
045
046 ! 2008-06-10 - Marco Clemencic
047 - Added platform-independent sleep functions:
048 - Gaudi::Sleep(int)
049 - Gaudi::NanoSleep(long long)
050
051 ! 2008-06-06 - Marco Clemencic
052 - Fixed Windows compilation warning (caused by patch #1756).
053
054 ! 2008-06-05 - Marco Clemencic
055 - Fixed bug #36742. Cannot pickle options using "PropertyReference"
056 - Fixed a problem on osx105 (Undefined symbols: _environ).
057 - Fixed bug #37479. gaudirun.py fails parsing old option lines with comments
058 and quotes.
059 - Fixed bug #37488. importOptions does not expand environment variables.
060 - Fixed bug #35347. Cannot import 2 Python option files with the same name.
061 - Used execfile instead of __import__ for Python modules, following Paolo's
062 suggestion).
063 - Fixed bug #35913. Configurables type checking fails on Gaudi::Histo1DDef.
064 - Fixed avoiding that tuples and lists are treated the same way.
065 - Fixed bug #34769. Assigning a configurable to a list property does not fail.
066 - Values for properties expecting lists, tuples and dictionaries must match
067 the type (before it was possible to set a list from an iterable object).
068 - Fixed handling of files starting with '#!' in gaudirun.py
069
070 ! 2008-06-04 - Marco Clemencic
071 - Fixed the last place where dylib was used on OSX (DsoUtils.h).
072
073 ! 2008-06-04 - Charles Leggett
074 - Patch #1865. Better printouts for HistorySvc.
075 - Prints out more information about the various History objects to the output
076 file.
077
078 ! 2008-06-02 - Marco Clemencic
079 - Task #5809. Extension to Gaudi Application state machine.
080 First implementation of the proposed extension.
081 A new interface (IStateful) has been added to provide a common way of
082 interacting with the state machine.
083 The interfaces IService, IAlgorithm and IAlgTool have been extended with the
084 methods from IStateful, and ISvcManager and IAlgManager have been extended to
085 support the new states.
086 The states and the transition have been defined in enums
087 (Gaud::StateMachine::State, Gaudi::StateMachine::Transition), and the
088 constraints on the possible changes are enforced by the function
089 Gaudi::StateMachine::ChangeState, which throws an exception if the transition
090 is not allowed.
091 Since algorithms and tools do not support all the states, the state
092 Gaudi::StateMachine::CONFIGURED is reached after the constructor. Services
093 are constructed in the state Gaudi::StateMachine::OFFLINE and become
094 Gaudi::StateMachine::CONFIGURED in the base class initialize method (as
095 defined in patch #1757).
096 The methods Algorithm::setInitialized and Algorithm::setFinalized has been
097 removed.
098 IAuditor has been extended to support auditing of the new transitions (start
099 and stop).
100 The Reflex dictionary has been updated to include the new classes/enums.
101
102 ! 2008-05-29 - Charles Leggett
103 - Changed the name of the extension for libraries on OSX from ".dylib" to ".so".
104
105 ! 2008-05-13 - Vanya Belyaev
106 - Patch #1756. Improvements for Chrono/ChronoStat&IChronoSvc
107 - Removal of many (ugly) obsolete lines, overall cleanup, improved flexible
108 print-out and other improvements.
109 - GaudiKernel/IChronoSvc.h
110 - The basic type from IChronoSvc now is "double" instead of "longlong".
111 - Change the return type from void to "(const)StatEntity*" for the methods
112 chronoStart/Stop.
113 - GaudiKernel/ChronoEntity.h, src/Lib/ChronoEntity.cpp
114 - The class is essentially rewritten (keeping the same public interface) in
115 terms of the generic counter StatEntity. And internally it is just a set
116 of three generic counters (for user/kernel&elapsed time correspondingly).
117 New features includes the better control over the printout through new
118 methods: outputUserTime, outputSystemTime, outputElapsedTime, outputTime.
119 - GaudiKernel/Chrono.h
120 - Make this tiny helper class simpler and more efficient:
121 - for the usage with IChronoSvc, avoid one virtual call
122 - allow the usage with ChronoEntity class
123
124 ! 2008-05-09 - Marco Clemencic
125 - Added small interface (IFileAccess) for services/tools that allow read-only
126 file access agnostic of the storage backend (filesystem, web, CondDB, ...).
127 - Fixed a minor problem in ProcessJobOptions.py strip away spaces in component
128 and property names ("MyAlg . MyProp" -> "MyAlg.MyProp").
129
130 ================ GaudiKernel v24r0 ====================================
131 ! 2008-04-04 - Vanya BELYAEV
132 - Patch #1751. Fixed a typo in Stat::operator-=.
133
134 ! 2008-04-04 - Marco Clemencic
135 - Bug #35201. Python options parser '//' interpreted as comment in strings.
136 Fixed by adding an extra check in ProcessJobOptions.py to allow '//' in
137 strings (like URLs). The fix is not perfect because requires that the string
138 is on a single line, but at least allows it.
139 - Fixed Bug #34680. Bad implementation of Service::messageSvc.
140 The obsolete methods now forward the call to the correct ones.
141 (anyway they should be removed at some point)
142 - Fixed a problem introduced with patch #1757.
143 Modified DataStreamTool to call sysInitialize instead of initialize for
144 conversion services.
145
146 ! 2008-04-04 - Charles Leggett
147 - Patch #1757. detect creation/initialization loops for services.
148 Modified the way the state of the service is set:
149 - the base class initialize sets the state to CONFIGURED
150 - the service becomes INITIALIZED in the sysInitialized, after the
151 specialized service completed (successfully) the initialization.
152
153 ! 2008-04-03 - Sebastien Binet / Martin Woudstra
154 - Bug #34752/Patch #1747. GaudiHandleArray.__getstate__ prevents pickling.
155 Fixed.
156
157 ! 2008-04-03 - Vanya BELYAEV
158 - Patch #1751.
159 Change the signature of declareProperty/declareRemoteProperty methods
160 - for PropertyMgr form "void" to "Property*"
161 - for Algorithm/Service/AlgTool/Auditor base classes from StatusCode to
162 "Property*"
163
164 The previous return value was completely useless:
165 - either "void" or (always) StatusCode::SUCCESS
166
167 With the pointer to the actual property returned, one can easily use it, e.g.
168 to declare handlers as in:
169 //----------------------------------------------------------------------
170 class MyAlg : public Algorithm
171 {
172
173 public:
174
175 // constructor
176
177 MyAlg ( ... ): Algorithm ( ... )
178 , m_property( .... )
179 {
180 declareProperty ("Property" , m_property , "some documentation")
181 -> declareUpdateHandler ( &MyAlg::handler ) ;
182 }
183
184 private:
185
186 SOMETYPE m_property;
187
188 };
189 //----------------------------------------------------------------------
190
191 ! 2008-04-03 - Marco Clemencic
192 - Patch #1725. New IAuditor interface.
193 - The Auditor member functions are now only 8, for all the combinations of:
194 * before or after
195 * standard event or custom event
196 * INamedInterface* or string
197 - All the after methods accept a StatusCode (if not specified, a SUCCESS with
198 the checked flag set is used).
199 - The obsolete member functions are kept for backward compatibility.
200 - The default implementations of "before" and "after" are using the obsolete
201 methods to make legacy Auditors to work.
202 - IAuditorSvc is now an extension of IAuditor.
203 - AuditorGuard has been adapted to the new interface and the audit with a
204 status code check is simpler.
205 - The standard event types defined in the enum IAuditor::StandardEventType
206 can be printed and converted to strings with operator<<.
207
208 ! 2008-04-02 - Marco Clemencic
209 - Python job options:
210 - Removed the possibility of assigning a tool to an attribute of a
211 configurable if that attribute/property does not exists. It was intended to
212 allow simple declaration of private tools, but it is dangerous because it
213 avoids the checking of the spelling of properties.
214 - Modified Configurable.addTool() to accept a subclass of ConfigurableAlgTool
215 as first argument (as well as an instance) to avoid the instantiation of an
216 unneeded instance of the public tool configurable.
217
218 ! 2008-03-11 - Hubert Degaudenzi
219 - added 2 patterns to create and use helper library for genconf. Some libraries
220 need to have other preloaded libraries in order to perform the genconf
221 procedure correctly. While this can be fixed on linux with the
222 LD_PRELOAD environment variable, this is not possible on windows. Thus
223 the genconf executable takes an extra argument "--load-library" to which
224 the full path of the helper library is passed.
225
226 ! 2008-03-07 - Marco Clemencic
227 - Added a work around for ROOT bug #34282 in dict/dictionary.xml (excluded few
228 data members of Gaudi::Time).
229 - Fixed Bug #34046. False warning when mixing Python options and old options.
230 The check on the case of old options have been improved.
231
232 ================ GaudiKernel v23r4 ====================================
233 ! 2008-02-28 - Marco Clemencic
234 - Minor change to fix a regression. The line
235
236 #include"file.opts"
237
238 is understood by the JobOptsSvc, but it was not by the Python parser.
239
240 ! 2008-02-27 - Charles Leggett
241 - Patch #1711. Get all instances of a tool type.
242 Function used in the Atlas event display.
243
244 ! 2008-02-27 - Marco Clemencic
245 - Hack to avoid a conflict in the way Configurables are used in Athena and
246 Gaudi. In GaudiPython they are used in the AppMgr constructor, while in
247 Athena they are used in a different moment (and not even all of them are
248 needed).
249 The conflict is resolved by using a function to return the needed
250 configurables, implemented to return the keys of allConfigurables for Gaudi
251 and and empty list for Athena.
252
253 ! 2008-02-27 - Wim Lavrijsen
254 - Patch #1710. Convenience method for removing entries from GaudiHandleArray
255 Add a simple convenience method for deleting tools from a ToolHandleArray by
256 name, rather than having to locate them first.
257
258 ! 2008-02-21 - Marco Clemencic
259 - Moved the release of m_messageSvc and m_pAuditorSvc from Service::~Service to
260 Service::sysFinalize.
261
262 ! 2008-02-21 - Yushu Yao
263 - Patch #1687. Adding getPropertyMgr() in AlgTool
264 This is needed to develop double use tools (tools that can be used in Gaudi
265 as well as in ROOT) in Athena.
266
267 ! 2008-02-20 - Hubert Degaudenzi
268 - added static function to Message.{h,cpp} in order to be able to access
269 Message::DEFAULT_FORMAT and Message::DEFAULT_TIME_FORMAT.
270
271 ! 2008-02-04 - Charles Leggett
272 - Patch #1668.
273 In Python 2.5, the method __str__ of ServiceHandles gets called causing some
274 problems. The reason has to be investigated, but the patch allows to work.
275
276 ! 2008-02-04 - Yushu Yao
277 - Patch #1666: Add AlgTool::declareRemoteProperty
278 Added the member function declareRemoteProperty to AlgTool (present in
279 Algorithm and Service).
280
281 ! 2008-02-04 - Marco Clemencic
282 - Fixed bug #33209: Deprecated raising a string with Python 2.5
283 Added a class for errors occurring during the parsing (ParserError).
284
285 ! 2008-01-29 - Marco Clemencic
286 - Python options:
287 Modified added a flag to the Configurable base class to block assignments.
288 The flag is set in GaudiPython.AppMgr after the application manager has been
289 configured, to prevent that people try to manipulate the configuration when
290 it is too late.
291 The lock does not (and cannot) work for in-place changes (like += on a list).
292
293 ! 2008-01-29 - Vanya BELYAEV
294 - Modified IInterface::hash32 to use and return "unsigned int" instead of
295 "unsigned long" for portability.
296
297 ================ GaudiKernel v23r3 ====================================
298 ! 2008-01-18 - Marco Clemencic
299 - Fixed bug #32549.
300 Changed the level of the message about the AbortEvent incident from ERROR to
301 DEBUG.
302 - Fixed a compilation warning in genconf.cpp with Boost 1.34.1 on Win32.
303
304 ! 2008-01-14 - Vanya BELYAEV
305 - Patch #1581.
306 - GaudiKernel/Parsers.h, src/Lib/ParseMaps.cpp
307 add the parser functions for parsion of following types:
308 1) std::map<int,std::string>
309 2) std::map<unsigned int, std::string>
310 These types play important roles for LHCb-HLT and are requested
311 by Gerhard Raven
312
313 ! 2008-01-11 - Gerhard Raven
314 - patch #1621 (bug #32466).
315 Add to IToolSvc/ToolSvc the possibility of using observers to monitor the
316 creation of and retrieval of tools.
317
318 ! 2008-01-11 - Marco Clemencic
319 - Python options:
320 - Modified Configurable.addTool to set the property with the same name of the
321 tool (if it exists), so that it not hides the tool reference.
322 - Modified PropertyProxy.__get__ to allow direct access to the default for
323 dictionaries as well as for lists.
324 - Added the helper class Configurable.PropertyReference to allow the late
325 binding of properties as it was possible in old options (mainly needed for
326 backward compatibility).
327 The option:
328
329 MyAlg.MyProp = @AnotherAlg.AProp;
330
331 translates to:
332
333 MyAlg().MyProp = Configurable.PropertyReference("AnotherAlg.AProp")
334
335 - Modified the parser of old job options to correctly translate references.
336 - Modified ConfigurableAlgTool.getFullName to return only the instance name
337 (instead of the fully qualified name).
338 - Allow the wrong case for properties in old option files, but issue warnings.
339 - Modified the default logger to print "GaudiKernel" instead of "Athena" and
340 prepend a '#' to the message to allow evaluation of the standard output in
341 Python (needed in Ganga).
342
343 ! 2008-01-10 - Marco Clemencic
344 - Fixed a problem in ProcessJobOptions.py occurring when option values have '\'
345 inside (filenames on Windows).
346
347 ! 2008-01-09 - Marco Clemencic
348 - Python options:
349 - Take the values for VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL always from
350 GaudiKernel.Constants.
351 - Made "Configurable" equivalent to "str", so that it is possible to set a
352 string property from a configurable instance. It allows something like:
353
354 mySvc = AService("theService",...)
355 myAlg = AnAlgorithm("theAlgorithm")
356 myAlg.ServiceToUse = mySvc
357
358 ! 2008-01-08 - Marco Clemencic
359 - Fixed a problem in ProcessJoboptions.py: allow have white spaces before the
360 '#' sign of directives.
361
362 ! 2007-12-20 - Marco Clemencic
363 - Improved the message of DataSvc when re-throwing a std::exception. Now the
364 message contains the type of the exception.
365 - Added a constructor for GaudiException accepting a std::exception. The type
366 of the passed exception and its message are appended to the message of the
367 GaudiException.
368 - Fixed a problem in ProcessJoboptions.py when DOS new-lines were found on
369 Unix.
370
371 ! 2007-12-19 - Marco Clemencic
372 - Fixed a couple of typos in Map.h (preventing the generation of dictionary).
373 - Check if a value is in the list before trying to delete it when interpreting
374 "-=" in old job options.
375 - Restored the original logic for parsing list in old job options (replace all
376 "{}" with "[]", unless there is a ':').
377
378 ! 2007-12-12 - Marco Clemencic
379 - patch #1585.
380 - Added the templated function pp_cast<DEST>(SRC**) to replace the common casts
381 (void**)&pointer
382 and
383 (IInterface *&)m_mySvc
384 to avoid the warning
385 "dereferencing type-punned pointer will break strict-aliasing rules"
386 - Fixed warnings about breaking of strict-aliasing rules (gcc 4.1 optimized).
387
388 ! 2007-12-03 - Markus Frank & Marco Clemencic
389 - Implemented the Win32 version of the code in DsoUtils.h, with some
390 simplification.
391
392 ! 2007-11-30 - Marco Clemencic
393 - Fixed DsoUtils.h to work on OSX too.
394 - Fix for bug #31677.
395 Move GaudiHandles.py from GaudiPython to GaudiKernel.
396
397 ! 2007-11-28 - Sebastien Binet
398 - patch #1560.
399 Minor change to avoid possible injection of GaudiKernel.Configurable through
400 importOptions.
401
402 ! 2007-11-26 - Marco Clemencic
403 - Fixed a problem with the dictionary and ROOT >= 5.16.
404
405 ! 2007-11-21 - Marco Clemencic
406 - Fixed few compilation warnings on osx in the dictionary.
407
408 ! 2007-11-20 - Marco Clemencic
409 - Fixed few compilation warnings on win32 in the dictionary.
410
411 ================ GaudiKernel v23r2 ====================================
412 ! 2007-11-16 - Marco Clemencic
413 - Added a new incident type (AbortEvent) that force the (Minimal)EventLoopMgr
414 to skips all the top algorithms still to be executed for the current event.
415 It can be used when a reconstruction step fails so it does not make sense to
416 process the event, but we do not want to stop the application.
417 - Fixed a bug in the old job option interpretation if mixed with python
418 options.
419 The sequence:
420 MessageSvc.OutputLevel = 1
421 #include "SetMsgSvcOutLvlTo2.py"
422 MessageSvc.OutputLevel = 1
423 was not correctly setting the output level (if SetMsgSvcOutLvlTo2.py sets the
424 output level).
425
426 ! 2007-11-15 - Vanya Belyaev
427 - patch #1523.
428 Add possibility to have properties of the types std::map<int,int> and
429 std::vector<std::pair<int,int> > (the second case is perfectly suited
430 for Helder Lopez' request of the list of event/run numbers)
431 modified files:
432 - GaudiKernel/Parsers.h
433 add two functions "parse" for parsing of new types
434 - src/Lib/Parse*.cpp
435 add the implementation of parsing functions
436
437 ! 2007-11-14 - Marco Clemencic
438 - Added the function GaudiKernel.Configurable.purge to clean up all the
439 configurables and the list of already imported files from the memory.
440 After a call to "purge" one is able to restart the configuration from scratch
441 without having to leave the python session.
442
443 ! 2007-11-13 - Marco Clemencic
444 - Instead of generating *Conf.py files trying to import AthenaCommon and fail
445 back on GaudiKernel, use the module GaudiKernel.Proxy, which internally does
446 the same kind of trick but only once.
447
448 ! 2007-11-13 - Sebastien Binet
449 - patch #1520 (bug #31097)
450 Removed a duplicated data member in ServiceHandle (same information already
451 available in the base class).
452 - patch #1158
453 Modified genconf.exe to generate modules (*_confDb.py) with a smaller memory
454 footprint. The code to fill the DB is encapsulated in a function that is then
455 deleted after being called.
456
457 ! 2007-11-12 - Marco Clemencic
458 - Moved the *.qmt files to the implicit suite (directory) "gaudikernel.qms".
459
460 ! 2007-11-08 - Marco Clemencic
461 - task #5807.
462 Added the header GaudiKernel/SerializeSTL.h to provide implementations of
463 operator<< for some common STL containers and GaudiUtils::*Map.
464 The implementations live in the namespace GaudiUtils. To use them, one have
465 to add "using namespace GaudiUtils" (in the relevant scope).
466 Tests have been added too.
467
468 ! 2007-11-02 - Marco Clemencic
469 - Added a temporary work-around for OSX in ProcessDescriptor.cpp.
470 To get timing information, it tries to open /proc/$PID/stats, which does not
471 exist in OSX. The alternative is to use some other mechanism, but the one
472 implemented in ProcessDescriptor seems to cause a segmentation fault.
473 (to be investigated)
474
475 ! 2007-10-31 - Marco Clemencic
476 - Rewritten ProcessJobOptions.py. Major changes:
477 - honor the #pragma print on/off in old options
478 - print a warning if a file is included twice (the second time it is ignored)
479 - allow inclusion of ".py" and ".pkl" files from ".opts" files (this is the
480 main reason fror the rewrite)
481 - moved importOptions from Gaudi.Configaration to ProcessJobOptions to allow
482 better recursion
483
484 ! 2007-10-31 - Marco Clemencic
485 - Minor change to the IUpdateManagerSvc interface (added the function :purge")
486
487 ! 2007-10-29 - Pere Mato
488 - KeyedObjectManager.cpp: changed order of specialization and instantiation
489 to please gcc 4.0
490
491 ! 2007-10-22 - Marco Clemencic
492 - Use the pattern QMTest and add a .qmt file (QMTest test description) to run
493 the DirSearchPath test.
494 - Modified DirSearchPath_test to work on Windows too.
495
496 ! 2007-10-16 - Paolo Calafiura
497 - patch #1416. new DirSearchPath method and test
498 - Added DirSearchPath::find_all
499 - Moved the test from GaudiSvc to GaudiKernel
500
501 ================ GaudiKernel v23r1 ====================================
502 ! 2007-10-10 - Pere Mato
503 - Corrected bug of ProcessJobOptions.py detected by Marco C. when using filenames with
504 environments.
505
506 ! 2007-10-09 - Marco Clemencic
507 - Moved DirSearchPath from GaudiSvc/src/JobOptionsSvc to GaudiKernel
508 (requested by Paolo Calafiura).
509 Note: the 2 tests using DirSearchpath are still in GaudiSvc.
510
511 ! 2007-10-02 - Pere Mato
512 - Patch #1400.
513 Support for pickle files in python configurations.
514 Fixed various bugs in parsing old joboptions files
515
516 ! 2007-09-28 - Vanya Belyaev
517 - Patch #1345.
518 minor modifications to improve Tuples::TupleObj (GaudiAlg package)
519 - GaudiKernel/NTuple.h
520 1) substitute the explicit specialization for NTuple::Range with
521 the regular calls of std::numeric_limits<T>::min()/max()
522 2) disable "#ifndef ALLOW_ALL_TYPES"
523
524 ! 2007-09-26 - Vanya Belyaev
525 - patch #1375. Allow configuration of Histogram1D from job options.
526 - New class Gaudi::Histo1DDef for histogram description/definition.
527 - Implementation of parsing for new histogram properties.
528 (Sascha Mazurov)
529
530 ! 2007-09-25 - Vanya Belyaev
531 - Patch #1357.
532 Minor improvements to Gaudi::Utils::setProperty():
533 - allow to set the documentation of a property
534 - allow to set a property from a PopertyType
535
536 ! 2007-09-24 - Sebastien Binet (& Marco Clemencic)
537 - patch #1247. (partial)
538 - avoid duplication of symbols in files generated by genconf.
539 (Warning: Win32 implementation missing)
540 Note: the patch was providing a patched version of genmap which cannot be
541 included in Gaudi, but should be proposed to ROOT.
542
543 ! 2007-09-24 - Hubert Degaudenzi
544 - changed back Configurables.py into Configurable.py (it was
545 a mistake).
546
547 ! 2007-09-24 - Marco Clemencic
548 - modified the way to pass fallback module to genconf: comma-separated list
549 instead of a dedicated option.
550
551 ! 2007-09-24 - Markus Frank
552 - fixed bug #29806. Wrong call to setDataProvider.
553
554 ! 2007-09-21 - Hubert Degaudenzi & Marco Clemencic
555 - factored out the main application part to the Gaudi package.
556 - added the GaudiKernel prefix when importing python modules in order
557 to avoid local imports.
558 - changed the name of Configurable.py into Configurables.py for
559 compatibility with the Athena module.
560 - added an option to genconf that adds a fallback module for the
561 location of Configurables and ConfigurableDb
562 - modified the genconfig CMT pattern for the previous change to have
563 AthenaCommon by default and if it doesn't exist fall back to
564 GaudiKernel. This is a temporary fix until both approaches are merged.
565
566 ! 2007-08-31 - Hubert Degaudenzi & Paolo Calafiura
567 - Patch #1260.moved the MinimalEventLoopMgr from GaudiSvc to GaudiKernel. The factory
568 for this service is still in GaudiSvc
569
570 ! 2007-08-06 - Vanya Belyaev
571 - patch #1231.
572 - Splitted IChronoStatSvc.h into IChronoSvc and IStatSvc.
573 - Remove ICounterSvc::CountObject and replaced it with Stat.
574 - Added few free functions to format StatEntity objects as table rows.
575
576 ! 2007-07-27 - Marco Clemencic
577 - Added the file cbrt.h, which provides an implementation of cbrt (cubic
578 root) to all the platforms (it is a built-in function of gcc).
579
580 ! 2007-07-24 - Vanya Belyaev
581 - patch #1246.
582 Introduced 2 new classes:
583 * Gaudi::Guards::ExceptionGuard
584 executes a functor in a "standard" try-catch block.
585 * Gaudi::Guards::AuditorGuard
586 executes a function of an object when the instance is created and
587 a second one when destroied, allowing automatic "clean-up" (in case
588 of early exit).
589 See GaudiKernel/Gaurds.h (doxygen) for more details.
590
591 ! 2007-07-24 - Charles Leggett
592 - patch #1253.
593 This patch fixes Algorithm.cpp, AlgTool.cpp and Service.cpp such that
594 there is a consistent use of the auditorSvc-after[whatever] in the catch
595 loops when an exception is thrown. It also gets rid of some needlessly
596 verbose comments.
597
598 ! 2007-07-24 - Pere Mato
599 - patch #1250.
600 Removed the default constructor of Service because it is causing a memory
601 leak in Reflex.
602
603 ! 2007-07-24 - Vanya Belyaev
604 - patch #1227.
605 Added the functions "Gaudi::Utils::setProperty(IInterface*,...)", simpler
606 counterparts of "Gaudi::Utils::setProperty(IProperty*,...)".
607
608 ! 2007-07-23 - Vanya Belyaev
609 - patch #1226.
610 * SmartIFBase<TYPE>:
611 + explicitely disable copy constructor and assignement
612 + add "checking operator", operator!()
613 * SmartIF<TYPE> and SmartIF<IInterface>
614 + add "const" into copy constructor
615 + add the constructor from underlying pointer
616 + add "const" into standard assignement
617 + add "const" into template assignemet
618 + remove line duplicates between standard assignement and assignement
619 from the regular pointer
620 + fix typo in return type of assignement from the base
621 + add "checking operator", operator!()
622
623 ! 2007-07-17 - Sebastien Binet
624 - patch #1182.
625 Improved precision for timing measurements in ProcessDescriptor
626 (on linux). The patch allow to use the function getrusage when
627 possible to get a us precision instead of ms. When getrusage cannot
628 be used, the timing is measured in the old way.
629
630 ! 2007-07-16 - Marco Clemencic
631 - changed the syntax for specialization of templated function in namespace
632 for gcc 4.1 future use
633
634 ! 2007-07-16 - Hubert Degaudenzi
635 - added the possibility to use the universal time for the messages.
636 there is a new "%u" format for this. It replaces the usual "%t" in
637 the MessageSvc.Format.
638
639 ! 2007-06-18 - Vanya Belyaev
640 - patch #1178.
641 * The patch substitute the internal counters, used for
642 (I)CounterSvc by generic counters of type StatEntity.
643 * This allow to reuse the useful functionality of StatEntity class.
644 * In addition it will allow an easy publishing and integration of
645 counters with monitoring tasks.
646 * Also it adds more functionality for grouping of counters, in
647 particular the extraction of the whole group of counters
648 (required by Matt Needham)
649 * The printout of counters is now coherent with printout of
650 generic counters through GuadiCommon<T>.
651
652 ================ GaudiKernel v23r0 ====================================
653 ! 2007-06-11 - Sebastien Binet
654 - Fix to bug #26919. Explicit implementation of the copy constructor
655 and assignment operator for the PropertyWithValue class.
656
657 ! 2007-05-24 - Pere Mato
658 - Added specialization of ROOT::Reflex::TypeDistiller for strings in
659 AudFactory.h (was missing).
660
661 ! 2007-05-24 - Marco Clemencic
662 - Extended the IIncidentSvc interface to make it possible to register
663 a listener for only one occurrence of the requested event
664 (see bug #25552).
665
666 ! 2007-05-24 - Vanya Belyaev
667 - patch #1171. The enhancement of existing Algorithm Context Service
668 is the primary goal of the proposed patch. The existing
669 AlgContextSvc is not safe with respect to e.g. Data-On-Demand
670 service or to operations with subalgorithms. The patched service
671 essentially implements the queue of executing algorithms, thus the
672 problems are eliminiated. In addition the enriched interface
673 provides the access to the whole queue of executing algorithms.
674
675 ! 2007-05-24 - Vanya Belyaev
676 - patch #1163. Patch to allow the following syntax:
677 setProperty ( "OutputLevel" , "4" ) ;
678 setProperty ( "OutputLevel" , 4 ) ; //new
679 setProperty ( "Enable" , "False" ) ;
680 setProperty ( "Enable" , false ) ; //new
681 setProperty ( "ErrorMax" , "10" ) ;
682 setProperty ( "ErrorMax" , 10 ) ; //new
683 std::vector<double> data = ... ; //new
684 setProperty( "Data" , data ) ; //new
685 std::map<std::string,double> cuts = ... ; //new
686 setProperty( "Cuts" , cuts ) ; //new
687 std::map<std::string,std::string> dict = ... ; //new
688 setProperty( "Dictionary" , dict ) ; //new
689 The setting of properties through strings is still possible.
690
691 ! 2007-05-23 - Marco Clemencic
692 - patch #1168. Added specialization for void* to GaudiUtils::Hash.
693
694 ! 2007-05-23 - Charles Leggett
695 - patch #1176. Added few missing functions in ITHistSvc
696 (already present in THistSvc)
697
698 ! 2007-05-23 - Vanya Belyaev
699 - patch #1161. Improvements and clean-up in StatEntity:
700 - Removed "weight"-related functions and methods (unused)
701 - Added binomial error calculation for efficiency-like counters
702 - Improved print-out format
703 - Added methods to make StatEntity mode DIM friendly
704 - Some clean up in comments
705
706 ! 2007-05-23 - Marco Clemencic
707 - patch #1160. Changed the returned value of
708 - Algorithm::setExecuted()
709 - Algorithm::resetExecuted()
710 - Algorithm::setFilterPassed()
711 from StatusCode to void.
712
713 ! 2007-05-22 - Marco Clemencic
714 - patch #1166. Splitted ParseVectors.cpp in 6 pieces:
715 * ParseVectorsBool.cpp
716 * ParseVectorsChar.cpp
717 * ParseVectorsInteger.cpp
718 * ParseVectorsReal.cpp
719 * ParseVectorsString.cpp
720 * ParseVectorsVector.cpp
721 to reduce memory usage at compile time (with a modest increase of
722 disk space and compilation time).
723
724 ! 2007-05-15 - Sebastien Binet
725 - patch #1157. Here is a simple patch to harmonize the interaction
726 with the underlying m_outputLevel data member of each of these main
727 Gaudi components. It makes sure that the 3 of them have:
728 int outputLevel () const;
729 void initOutputLevel(Property&); //update handler
730 also added this method to MsgStream:
731 void setMsgSvc( IMessageSvc* svc ) {
732 m_service = svc;
733 }
734
735 ! 2007-05-15 - Chris Jones
736 - patch #1136: Updates to Algorithm and AlgTool required for
737 changes in GaudiAlg for automatic registration of data to the
738 monitoring service
739 + Addition of the same declareInfo(...) methods in AlgTool as in
740 Algorithm
741 + Replace hardcoded monitor service name with new job option
742 + New method to provide 'easy' direct access to monitor service
743 via pointer
744
745 ! 2007-05-15 - Sebastien Binet
746 - patch #1129: Add the method outputLevel() to Auditor.
747
748 ! 2007-05-14 - Marco Clemencic
749 - fix to bug #25852 bis
750 Fixed compilation problem on windows by adding the definitions for
751 the missing functions localtime_r and gmtime_r
752 (header GaudiKernel/time_r.h).
753 Removed also a couple of compilation warnings.
754
755 ! 2007-05-10 - Ivan Belyaev
756 Patch #1126:
757 - GaudiKernel/StatEntity.h, src/Lib/StatEntity.cpp
758 1) Add the assignment operator from the scalar value according to
759 the request by Ulrich Kerzel (LHCb/RICH)
760 2) Add two new methods "efficiency" and "efficiencyErr" for
761 evaluation of binomial estimate of the efficiency, associated
762 with the counter. If the counter could be interpreted as
763 efficiency, these methods produce right results. Method
764 "efficiency" returns either "flagMean" or -1, if the
765 interpretation of counter as efficiency is not possible. In a
766 similar way "efficiencyErr" returns the binomial estimate of the
767 uncertainty or -1, if the interpretation of counter as
768 efficiency is not possible. Note that there could be sizable
769 difference between RMS estimate "flagMeanRMS" and the binomial
770 estimate "efficiencyErr", however for large statistics and for
771 non-extremal (close to ~0 or, especially ~100%) efficiencies,
772 these estimates should be very similar.
773 - GaudiKernel/ToStream.h
774 1) Add the printout for std::list
775 2) Add the template parameters for std::vector, std::set, std:map,
776 GaudiUtils::Map, GaudiUtils::VectorMap, GaudiUtils::HashMap. It
777 allows to use all these function for containers with non-default
778 optional template arguments, e.g. allocators, comparison
779 criteria, hash functions or underlying containers,
780 3) Remove the unused local variable "delim".
781 - GaudiKernel/VectorMap.h, GaudiKernel/Map.h. Improve doxygen
782 comments according to the request by Marco Cattaneo)
783
784 ! 2007-05-10 - Hubert Degaudenzi
785 - fixed warning for gcc 4 (on MacOSX) about non-existing virtual
786 destructors in NTuple.h for NTuple::Array, NTuple::Matrix,
787 NTuple::Item etc.
788
789 ! 2007-05-09 - Sebastien Binet
790 - patch #1141. Fix return statement of GaudiHandleArray::operator=.
791
792 ! 2007-05-02 - Hubert Degaudenzi
793 - fix to bug #25460. The return value of getLastError is now an
794 unsigned long. A static_cast was added.
795
796 ! 2007-04-30 - Andy Salnikov
797 - fix to bug #25852. The patch is quite small and touches only two
798 classes - Message and MessageSvc. Messages now have one more format
799 flag '%t' which is replaced with the formatted timestamp on
800 output. Default format string has not changed so default output
801 will look identical to what it was before. The format of the
802 timestamp can be changed through the additional format string
803 similarly to the message format string. Time format can contain
804 anything that is accepted by strftime plus additional '%f' code for
805 milliseconds.
806
807 ! 2007-04-27 - Sebastien Binet
808 - patch #25888. Fixed uninitialized variable in Algorithm.cpp.
809
810 ! 2007-04-09 - Marco Clemencic
811 - patch #1125. Fixed INamedInterface in order to provide the right
812 IInterfaceID. An empty virtual destructor has been added.
813
814 ! 2007-04-05 - Martin Woudstra
815 - Patch #1103. The attached 2 patches (one for GaudiPython and one
816 for GaudiKernel) contain the changes needed to support
817 ToolHandleArray's (a 'vector' of ToolHandles). This is a new
818 feature, and is already in use in ATLAS. In addition to the
819 ToolHandleArray and its associated base classes, there is the
820 GaudiHandleArrayProperty, and an update to genconf to support it
821
822 ! 2007-03-25 - Chris Jones
823 - Patch #1099. Add Specialization stream operator for
824 std::vector<T,A> to MsgStream.h Allows print out of vector created
825 with custom allocators e.g. std::vector< RichSmartID,
826 boost::pool_allocator< RichSmartID > >
827
828 ! 2007-04-04 - Chris Jones
829 - Patch #1092. There is a bug in the current implementation of the
830 format(..) method in MsgStream.(cpp,h) which means if a user uses
831 the format method twice in one message request, wrong information
832 is printed. The attached patch fixes this by returning instead a
833 std::string. However, if somewere a user is explicitly using the
834 returned char * pointer (They really shouldn't be...) a small
835 change to their code would be required. i.e.
836 char * c = format("XXX,x);
837 to
838 std::string s = format("XXX,x);
839 c = s.c_str();
840
841 ================ GaudiKernel v22r2 ====================================
842 ! 2007-03-14 - Sebastien Binet
843 - Patch #1081 (fix to bug #24704): fix the crash that happens when
844 the destinatin file of genconf has a "+" in its path.
845
846 ! 2007-03-13 - Sebastien Binet
847 Patch #1080: fixes to GaudiKernel/src/Util/genconf.cpp:
848 - fix handling of templated components
849 - fix handling of (default value of) BooleanProperties
850 - fix handling of NaN DoubleProperties (follows the good old Garbage
851 In, Garbage Out pattern, even though a warning is issued during
852 genconf processing...)
853
854
855 ! 2007-03-12 - Vanya Belyaev
856 - Patch #1073. Simple modification of IExceptionSvc interface (and
857 the implementation ExceptionSvc) to avoid the explicit appearence
858 of class Algorithm in the interface. The interface is modified to
859 substitute Algorithms with INamedInterface. It allows to use the
860 service in much wider context, in particular with tools, services
861 and auditors.
862
863 ! 2007-03-9 - Sebastien Binet
864 - Patch #1058 (partially). Makes sure a DoubleProperty is understood
865 as a double on the python side (and not converted into an int as it
866 was the cast)
867 - added merge_genconfDb.py scripts to merge configurables.
868
869 ! 2007-03-9 - Hubert Degaudenzi
870 - Clean up genconf pattern left over.
871
872 ! 2007-03-08 - Martin Woudstra
873 - patch #1070. The python configurables generated with the current
874 genconf.cpp return the python (mangled) class name from the
875 function getType(). This should be the C++ class name, otherwise
876 the ToolSvc will not find tools from classes in namespaces and/or
877 templated classes. This is critical as many classes in ATLAS as of
878 these categories and all those are broken now.
879 - patch #1071. The GaudiHandle version used in ATLAS has since some
880 time an 'empty()' member function to indicate that no component is
881 supposed to be retrieved nor used. For some reason this member
882 function did not make it into Gaudi 19, so now the ATLAS code is
883 broken. patch adds this member function to the GaudiHandleBase
884 class, and allows the users to specify an 'empty' handle in the
885 constructor (i.e. "" is kept is-as and does not trigger the setting
886 to the default type).
887
888 ! 2007-02-26 - Sebastien Binet
889 patch #1041
890 - removes some warnings wrt hidden methods
891
892 ! 2007-02-26 - Paolo Calafiura
893 - patch #1049: do a full include of SmartDataPtr.h instead of a
894 forward declaration.
895
896 ================ GaudiKernel v22r1 ====================================
897 ! 2007-02-23 - Hubert Degaudenzi
898 - moved the factory declaration of DataStreamTool to GaudiSvc
899
900 ! 2007-02-16 - Hubert Degaudenzi
901 - fixed genconf for the Auditors.
902
903 ! 2007-02-16 Charles Leggett
904 - patch #1019: refactor of the library into a component library.
905
906 ! 2007-02-16 - Sebastien Binet
907 Patch #1033
908 - patch to genconf which prevents it to segfault when no property
909 could be dyn-casted.
910
911 ! 2007-02-15 - Marco Clemencic
912 Patch 1032:
913 - Added a helper class to allow the usage of IUpdateManagerSvc from
914 python. The helper class is IUpdateManagerSvc::PythonHelper,
915 declared as friend of IUpdateManagerSvc. The implementation
916 consists of 2 static functions implemented in dictionary.h.
917
918 ! 2007-02-14 - Pere Mato
919 - Fixed bug #23811: patch #1001 is breaking Configurables generation
920
921 ! 2007-02-14 - Vanya BELYAEV
922 Patch #1001
923 - a) couple of fixes, which allows to retrieve the private tools not
924 only from Algorithm, Services and AlgTools, but also from
925 Auditors.
926 b) Update the queryInteface method for AlgTool,Algorithm,Auditor
927 and Servicebase classes to allow query for INamedInterface, in
928 addition "C-cast" is substituted with "static_cast"
929 The modified files:
930 src/Lib/AlgTool.cpp
931 src/Lib/Algorithm.cpp
932 src/Lib/Auditor.cpp
933 src/Lib/Service.cpp
934
935 ! 2007-02-13 - Pere Mato
936 - Reverted change in Booststrap.cpp. This fixes "bug #23684: BootSvcLocator is breaking athena.py"
937 - genconf.cpp: applied "patch #1016: configurable genconf"
938 fixed "bug #23649: ICounterSvc inheritance tree and Reflex::PluginSvc"
939
940 ! 2007-02-08 - Pere Mato (David Quarrie)
941 - Bootstrap.cpp:
942 Introduced a dual-stage boostrap mechanism to ensure an orderly startup
943 of the ApplicationMgr. If the Gaudi::svcLocator() function is called before the singleton
944 ApplicationMgr instance exists, a BootSvcLocator singleton instance is
945 created. This responds to any subsequent requests for services by
946 returning StatusCode::FAILURE, unless the ApplicationMgr singleton
947 instance has been created in the interim. In this case, the BootSvcLocator
948 forwards the request to the ApplicationMgr instance. The motiviation for
949 this is to handle static object instances where the constructor attempts
950 to locate services and would otherwise instantiate the ApplicationMgr
951 instance in an unorderly manner. This logic requires that the
952 ApplicationMgr instance is created explicitly.
953
954
955 ! 2007-02-07 - Martin Woudstra
956 - fix to patch #1009. Avoid infinite recursion.
957
958 ! 2007-02-05 - Pere mato (Sebastien Binet)
959 - Applied patch #1009: patches to fix XyzHandle parsing from python
960 jobOptions
961
962 ! 2007-02-05 - Paolo Calafiura
963 Patch #1007
964 - turned the templated member functions operator << (T&) and its
965 partial spec operator << (vector<T>&) into open functions. This
966 appears to remove ambiguities a user defined MsgStream operator <<
967 template (typically in a data object header file). The compiler
968 sees the user defined template as a better specialization and
969 matches that with no ambiguity.
970 - removed the MsgStream& operator(std::ostream&) recently proposed as
971 a patch since it does not serve any useful purpose
972
973 ! 2007-01-31 - Pere Mato
974 - Applied patch #1000: improvement in ConfigurableDb output for genconf
975
976 ! 2007-01-30 - Pere Mato (
977 - Applied [partially] patch #997: genconf.cpp patch
978 - It adds to genconf.cpp:
979 - a "double loading" libraries to shield against dual_use
980 libraries (which could bring lots of external
981 libraries into the generated Configurable)
982 - the generation of an ASCII file (a-la-rootmap) to describe
983 Configurables for the benefit of the (athena)
984 PropertyProxy.py.
985
986 ! 2007-01-27 - Pere Mato (Paolo Calafiura)
987 - Variation of the templated streamer that should provide the same
988 functionality and address the ambiguous overload problems ATLAS saw
989 with the template
990
991 ! 2007-01-18 - Charles Leggett
992 - patch #977 on MsgStream.
993
994 ! 2007-01-18 - Charles Leggett
995 patch #972.
996 - add messageCount to IMessageSvc
997 - extend Auditor::(sys)afterExecute to pass a const StatusCode&,
998 which is the return code of the algorithm
999 - new auditor to monitor algorithms, issue message if algorithm
1000 writes out an ERROR or FATAL, but returns SUCCESS
1001
1002 ! 2007-01-17 - Marco Cattaneo
1003 - removed GCCXML_CXXFLAGS definition following fix in reflex.
1004
1005 ! 2007-01-17 - Charles Leggett
1006 - patch #971: added ServiceHandle and GaudiHandle.
1007
1008 ================ GaudiKernel v22r0 ====================================
1009 ! 2007-01-23 - Pere Mato
1010 - AlgFactory.h, SvcFactory.h, ToolFactory.h: added template specialization for Reflex::TypeDistiller to
1011 overcome a problem with Reflex and the name given to std::string. The change can be removed when Reflex
1012 will be modified.
1013 - MsgStream.h: Corrected compilation error.
1014
1015 ! 2007-01-12 - Marco Clemencic
1016 - fix to patch #954. Modification of the interface of IDataStreamTool
1017 to avoid explicit reference to std::vector.
1018 - added the method addStream, in parallel to addStreams.
1019
1020 ! 2007-01-12 - Hubert Degaudenzi
1021 - bug #22799. changed the return value of chronoStart, chronoStop,
1022 chronoPrint, stat and statPrint method of the IChronoStatSvc from
1023 StatusCode to void.
1024
1025 ! 2007-01-10 - Eric van Herwijnen
1026 - Patch #943 & #946. Update of the IMonitorSvc interface. To be
1027 compatible with the DIM format. Added declareInfo for the special
1028 case of general structure monitoring to Algorithm.h.
1029
1030 ! 2006-12-22 - Andres Osorio & Marco Clemencic
1031 Patch #954
1032 - Moved EventSelectorDataStream from GaudiSvc to GaudiKernel
1033 - Added IDataStreamTool and the basic implementation DataStreamTool
1034 (to be used by EventSelector to loop over the files)
1035 - fixed a few StatusCode checks.
1036
1037 ! 2006-12-21 - Pere Mato
1038 - ConversionSvc.cpp(.h): added method
1039 ConversionSvc::loadConverter(DataObject*) to load anything
1040 necessary (typically a dictionary) for finding/initializing a
1041 converter. Dummy at the base class level.
1042
1043 ! 2006-12-18 - Pere Mato
1044 - ServiceLocatorHelper.cpp: added the code that declares the service
1045 pair type/name. It was removed by mistake ( I guess) after the
1046 merge with all the changes from ATLAS.
1047
1048 ! 2006-12-15 - Pere Mato
1049 - VectorMap.h: removed protected find() method to avoid compilation error in
1050 Event/HtlEvent package
1051
1052 ! 2006-12-14 - Hubert Degaudenzi
1053 - removed duplicated dictionary entry for InterfaceID (it is located in the
1054 GaudiPython dictionary)
1055
1056 ! 2006-12-14 - Charles Leggett & Hubert Degaudenzi
1057 - fixed the SimpleProperty constructors for ATLAS usage (with Ivan
1058 Belyaev's help).
1059 - a few StatusCode checks fixing.
1060 - removed unused static function PR_indent in PathResolver.cpp
1061
1062 ! 2006-12-10 - Charles Leggett
1063 - requirements: added "-pedantic" to Linux compilation in private
1064 - extra ";": AllocatorPool.h/.cpp, ChronoEntit, Debugger.h, Environment.h
1065 KeyedObject.cpp, KeyedObjectManager.h/.cpp, KeyedTraits.h
1066 Memory.h, NTupleImplementation, NTupleItems.h, ProcessDescriptor
1067 Property.cpp, PropertyMgr.cpp, Selector.h, Stat.cpp,
1068 StatEntity.cpp, TimePoint.h
1069 - auditors: Algorithm.h/cpp, AlgTool.h, Auditor.h/cpp, IAuditorSvc,
1070 Service.h/cpp
1071 - doc string for props: Algorithm.h, AlgTool.h, Auditor.h/cpp, Property.h/.cpp
1072 - service creation on demand: ServiceLocatorHelper.cpp, ISvcLocator
1073 - setPriority of services: ISvcManager
1074 - fire ModuleIncident when module loaded: IClassManager,
1075 ModuleIncident.h (new)
1076 - IIncidentSvc.h: rethrow incident if requested with extra param to
1077 addListener()
1078 - ToolHandle: GaudiHandle, ToolHandle, AlgTool::refCount, dictionary.h/.xml
1079
1080 ! 2006-12-08 - Pere Mato
1081 - added Transform3DTypes.h, Transform4DTypes.h, Vector3DTypes.h,
1082 Vector4DTypes.h, Plane3DTypes.h, Point3DTypes.h, Point4DTypes.h,
1083 SymmetricMatrixTypes.h, Coord3DTypes.h, GenericMatrixTypes.h,
1084 GenericVectorTypes.h. These are typdefs to ROOT types.
1085
1086 ! 2006-11-30 - Pere Mato
1087 Adpated package to the new PluginSvc
1088 - Removed protected from constructor/destructors and fiendship of
1089 Factory class
1090 - Removed files: FactoryTable.h, IAlgFactory.h, IAuditorFactory.h,
1091 ICnvFactory.h, IObjManager.h, IObjectFactory.h, IRndmGenFactory.h,
1092 ISvcFactory.h, IToolFactory.h, FactoryTable.h, ICnvManager.h
1093 - Deep changes in the XXXFactory.h files to take into account the
1094 new plugin service
1095
1096 ! 2006-11-29 - Hubert Degaudenzi
1097 - this is the beginning of the release notes for the merge with the
1098 v20r13 release (v20r9b branch).
1099
1100 ! 2006-11-26 - Vanya BELYAEV - patch #922
1101 - GaudiKernel/VectorMap.h
1102 1) On the request form ATLAS (Savannah reports #21395 and #21394)
1103 add the method "update" to class GaudiUtils::VectorMap.
1104 NOTE: It is nor STL-compliant!
1105 It behaves like "insert", but it OVERRIDES the mapped value
1106 2) Also "const-look-up" is added through the methods
1107 "operator()" and "operator[]"
1108 Again it is nto STL-complient signature:
1109 the methdod are "const" , and there are no
1110 "non-const" analogues
1111
1112 * For typical usage of this class in LHCb context
1113 * as "ExtraInfo" field I would like to recommend
1114 * to AVOID this method
1115
1116 3) Add also the checked access in STL-spirit:
1117 GaudiUtils::VectorMap::at
1118 throw std::out_of_range exception for non-existing keys
1119 - GaudiKernel/ToStream.h
1120 add the partial specialization for printout of following classes:
1121 1) GaudiUtils::Map
1122 2) GaudiUtils::HashMap
1123 3) GaudiUtils::VectorMap
1124 The printout done in a style of "Python-dictionary", similar to
1125 std::map
1126 Also print out for std::set is added
1127 - src/Lib/VectorMap.cpp
1128 new file fith implementtation of action for nonexisting key
1129
1130 ! 2006-11-22 - Hubert Degaudenzi
1131 - added environment variable GCCXML_CXXFLAGS=" -m32" for 32 bits
1132 compilation on amd64 machines (with the slc4-ia32 tag)
1133 - added environment variable GAUDIEXE which points to the Gaudi
1134 executable.
1135
1136 ! 2006-11-02 - Hubert Degaudenzi
1137 - modified rootmapdump.py in order to match any file *beginning* with
1138 "rootmap" and not only the "rootmap" filename. This is the same
1139 matching behavior as the one in ROOT itself.
1140
1141 ! 2006-10-27 - Ivan Belyaev
1142 - patch #870. Added operator << for StatusCode.
1143
1144 ! 2006-10-26 - Marco Clemencic
1145 - Patch #736. Improvemts to TransientFastContainer. Now it allows to
1146 use for new objects the default constructor, the copy constructor
1147 and a user specified constructor (via placement new).
1148
1149 ! 2006-10-12 - Marco Clemencic
1150 - Patch #879. Fixed a bug in DataSvc. When retrieving an object from
1151 the transient store, it fails if the root node has not yet been
1152 loaded. I added a check on the root node for those cases and I
1153 explicitely load it if needed.
1154
1155 ! 2006-10-06 - Marco Clemencic
1156 - Patch #863. Add the function System::setEnv to set an environment
1157 variable. Setting the variable to "" results in removing it from
1158 the environment (same behavior on windows and linux). The parameter
1159 overwrite define the behavior in the case the variable is alredy
1160 present (0=no change, 1=overwrite).
1161
1162 ! 2006-11-29 - Hubert Degaudenzi
1163 - this is the end of the release notes for the merge with the
1164 v20r13 release (v20r9b branch).
1165
1166 ! 2006-11-27 - David Quarrie
1167 - fixed compilation problems for MacOS 10.4
1168
1169 ! 2006-11-17 - Pere Mato
1170 - ISvcLocator.h: Added new function eraseService() to erase a service
1171 from the list of known services
1172 - Service.cpp: The destructor calls eraseService() to cleanup the
1173 service list
1174 - Minor corrections for StatusCode.
1175
1176 ! 2006-11-10 - Markus Frank -Patch #908
1177 - Removed access to histogram factory.
1178 - Added storage types for online usage to CLID.h
1179 - new header HistogramBase.h to allow access to ROOT implementation
1180 of AIDA histograms.
1181
1182 ! 2006-11-09 - Pere Mato
1183 - Added classes JobHistory, AlgorithmHistory, AlgToolHistory,
1184 DataHistory, ServiceHistory from "GaudiHistory" package such that
1185 it can be removed. The goal is to have less packages
1186 (i.e. complexity)
1187 - requirements: added pattern to generate Python configuration file
1188 - genconf.cpp: adapted to new properties
1189
1190 ================ GaudiKernel v21r0 ====================================
1191 ! 2006-10-31 - Pere Mato
1192 - StatusCode.h(.cpp) - Reworked to avoid copying complicated objects
1193 all the time
1194
1195 ! 2006-09-25 - Hubert Degaudenzi
1196 - added the scripts folder with the rootmapdump.py utility. This
1197 scripts allows to dump the ROOTMAPs present in the
1198 LD_LIBRARY_PATH. It can also check the duplication of entries.
1199
1200 ! 2006-09-21 - Hubert Degaudenzi
1201 - factored out the stacktrace function from the StatusCode class to the
1202 System.cpp file.
1203
1204 ! 2006-09-09 - Hubert Degaudenzi
1205 - added dictionary generation for ExceptionSvc, IssueLogger,
1206 StatusCodeSvc, THistSvc.
1207 - fixed compilation problem for win32 in the StatusCode.cpp file.
1208
1209 ! 2006-09-09 - Charles Leggett & Hubert Degaudenzi
1210 - Imported new services interfaces from ATLAS: IExceptionSvc,
1211 IIssueLogger, IStatusCodeSvc, ITHistSvc.
1212 - StatusCode.h has been modified (and has now an implementation)
1213 - new IssueSeverity.cpp.
1214
1215 ! 2006-09-09 - Vanya BELYAEV - patch #839
1216 - GaudiKernel/Grammars.h
1217 Add a method StringGrammar::matchString, which allows to
1218 substitute all "std::isspace" symbols with the blank.
1219 It is a bit incorrect operation, but it allows
1220 to split very long string into few lines.
1221 It is incorrect since the overall number of blank symbols
1222 in the string is a quantity which is difficult to control.
1223 One still needs to be very careful with CR/LF symbols in the
1224 opts-files.
1225 This particular fix solves the problem with configuration
1226 of DataOnDemandSvc, where long string are unavoidable.
1227 The solution ( 'std::isspace' --> ' ' ) has been discussed with
1228 Marco Cattaneo. We have agreed that this solution is not safe,
1229 but it solves the particular problem.
1230
1231 The fix is kindly provided by Sasha Mazurov (Alexander.Mazurov@gmail.com)
1232
1233 - GaudiKernel/Property.h
1234 1) reshuffle the property assignment/load methods to eliminate the
1235 duplication of actions, from now Property::load is implemented
1236 through Property::assign. It provides a bit more coherency in
1237 the code.
1238 2) the actual action for Property::assign and Property::load is
1239 been released a bit, not one can load/assign either from the
1240 property of the same type or from the valid string representation
1241 of property of any type. Previously only StringProperty has been
1242 allowed.
1243 3) The full template specializations of
1244 PropertyWithValue<std::string>::toString and
1245 PropertyWithValue<std::string>::assign are provided
1246 - there are no "extra" confusing double quotes now in the
1247 string printout
1248 - the string is always parsed at assign, in particular it means
1249 that all surrounding pairs of quotes will be removed
1250 automatically as redundant
1251 - GaudiKernel/ToStream.h
1252 - modify a bit the implementation of Gaudi::Utils::toStream
1253 for std::string to use single quotes if the string containt
1254 double quotes
1255 - add the implementation of Gaudi::Utils::toStream for boolean values
1256 to print boolean values "Ã la Python" as "True" or "False"
1257 - add the implementation for float/double/long double to print them
1258 with reasonable precision. It is important since the default
1259 precision of ios_base is 6, which could be not enough, and
1260 the precision of boost::lexical_cast is
1261 std::numerical_limit<...>::digit10+1,
1262 which is much more than we need.
1263 - GaudiKernel/Property.h, src/Lib/Property.cpp
1264 add few useful functions to descrease the number of ugly
1265 technical lines in some public code
1266
1267 namespace Gaudi { namespace Utils {
1268 bool hasProperty ( const IProperty* p , const std::string& name ) ;
1269 bool hasProperty ( const IInterface* p , const std::string& name ) ;
1270 Property* getProperty ( const IProperty* p , const std::string& name ) ;
1271 Property* getProperty ( const IInterface* p , const std::string& name ) ;
1272 bool hasProperty
1273 ( const std::vector<const Property*> , const std::string& name ) ;
1274 const Property* getProperty
1275 ( const std::vector<const Property*> , const std::string& name ) ;
1276
1277 }}
1278
1279 ================ GaudiKernel v20r9 ====================================
1280 ! 2006-08-21 - Ivan Belyaev
1281 - patch #817. For new associatiove properties, e.g. map
1282 the implemented behaviour do not fulfill the naive expectations. E.g:
1283
1284 A.a = { "a" : 1 , "a" : 2 , "b" : 3 , "a" : 10 } ;
1285 A.a += { "a" : 100 , "a" : 200 };
1286
1287 The result will be the map:
1288
1289 { "a" : 1 , "b" = 2 } ; // "The first wins"
1290
1291 this result is not in agreement with "naive" expectation for
1292 std::map, where "the last wins". the attached patch solves the
1293 problem, and now the behaviour of the properties is more coherent
1294 with behaviour of std::map.
1295
1296 ! 2006-08-06 - Markus Frank
1297 - System.cpp: do not free strings after calls to strerror() or
1298 dlerror(). This is known to cause valgrind errors because libc
1299 internally allocates memory, but is the **correct** usage of these
1300 functions according to the docs. Otherwise repeated calls tend to
1301 screw up malloc.
1302
1303 ! 2006-07-31 - Pere Mato
1304 - Changed interface IJobOptionsSvc from pointer to reference to fix
1305 bug #18581 overview: Memory leak due to changed behaviour of
1306 JobOptionsSvc
1307
1308 ================ GaudiKernel v20r8 ====================================
1309 ! 2006-07-14 - Stefan Roiser
1310 - fixed type in dictionary for m_typeinfo member of the Property
1311 class in the xml selection file.
1312
1313 ! 2006-07-07 - Hubert Degaudenzi
1314 - bug #17843: fixed extra semicolon and DOS end of lines.
1315
1316 ! 2006-07-07 - Marco Clemencic
1317 - patch #748: fixed the recipient of the std::string::find method. It
1318 should not be assigned to int but to std::string::size_type since
1319 it has a different size on 64 bits plateforms.
1320
1321 ! 2006-06-26 - Hubert Degaudenzi
1322 - bug #17739. Changed the return value of GaudiMain. Before it was always
1323 returning 0 and now it returns the StatusCode of the ApplicationMgr
1324 in the UNIX command line way.
1325 - "0" for success
1326 - "1" for failure
1327 to test it for examples one could do:
1328 >Gaudi.exe some.opts && echo "Gaudi has succeeded"
1329
1330 ! 2006-06-15 - Hubert Degaudenzi
1331 - Fix gcc 3.4.5 compilation problems in the new property parser.
1332
1333 ! 2006-06-06 - Alexander Mazurov & Ivan Belyaev
1334 - new property parser installed. It relies on the Boost::spirit
1335 lexer/parser.
1336
1337 ! 2006-06-06 - Vanya Belyaev
1338 - fixed const problem in VectorMap.
1339
1340 ! 2006-05-31 - Marco Clemencic
1341 - patch #730. Fixes a bug in the constructor of
1342 TransientFastContainer when it is called with an argument different
1343 from 0.
1344
1345 ================ GaudiKernel v20r7 ====================================
1346 ! 2006-05-22 - Marco Clemencic
1347 - patch #727. Fixed a compilation problem on Win32 after using
1348 std::map instead of hash_map in GaudiUtils::HashMap.
1349
1350 ! 2006-05-19 - Marco Clemencic
1351 - patch #725. Fixed a warning on Win32.
1352
1353 ! 2006-05-11 - Marco Cattaneo
1354 - patch #723. Redefines the unit "pascal" to "Pa" to avoid a name
1355 clash that causes a compiler warning on on Windows in
1356 SystemOfUnits.h
1357
1358 ! 2006-05-11 - Vanya Belyaev
1359 - added templated SmartRefVector constructor with first and last
1360 iterator pointers as arguments
1361
1362 ================ GaudiKernel v20r6 ====================================
1363 ! 2006-05-04 Marco Clemencic
1364 - patch #720. Added TransientFastContiner<T> (and related helper classes
1365 TransientFastContainerBase and DefaultObjectCleaner<T>).
1366 The new container does its own memory management, recycling the objects not
1367 used and not deleting them when it is cleared (just reset an internal
1368 counter).
1369
1370 ! 2006-05-02 Hubert Degaudenzi
1371 - Added PhysicalConstants.h and SystemOfUnits.h (from CLHEP) in
1372 GaudiKernel. The constants and units are in the Gaudi::Units
1373 namespace.
1374 - patch #715. Added boost allocator wrapper (Marco Clemencic).
1375 - patch #719. Added 2 functions to make the UpdateManagerSvc work
1376 safely in multi-thread environment. They allow to block the
1377 activities of the service while interacting with it (Marco Clemencic).
1378
1379 ! 2006-04-20 Hubert Degaudenzi
1380 - clean up of the legacy lines of code for obsolete compiler version
1381 (before gcc 3).
1382
1383 ! 2006-04-20 Marco Clemencic
1384 - patch #705. The default hash functions is extremely expensive for
1385 integers. This causes extremely poor performaces for the standard
1386 KeyedContainer<>. The patch introduces efficient specializations of
1387 Hash<> for int, long and long long (and unsigned).
1388
1389 ! 2006-04-13 Charles Leggett and Hubert Degaudenzi
1390 - inserted ATLAS feature INamedInterface.
1391
1392 ================ GaudiKernel v20r5 ====================================
1393 ! 2006-03-15
1394 - modified the returned values of the Auditors
1395 beforeExecute/afterExecute (etc) to be void instead of StatusCode::SUCCESS.
1396
1397 ! 2006-03-09 Markus Frank
1398 - patch #691. Add support for objects in N-tuples. Note: This only works for
1399 NTuple::Item. NTuple::Array and NTuple::Matrix is __NOT__
1400 supported for objects. If you need this functionality store an
1401 std::vector<Object*>. See GaudiExamples/POOLIO/EvtCollectionWrite
1402 for an example of the usage.
1403 - Added GaudiMain.cpp in the library.
1404
1405 ! 2006-03-09 Markus Frank
1406 - patch #668. Fix retrieval of error string in System::getErrorString().
1407 The routine caused a core dump on linux when dl_error() returned NULL.
1408
1409 ! 2006-02-24 Marco Clemencic
1410 - patch #678. It has been reported that MS implementation of hash_map
1411 is extremely slow. The idea is to use std::map instead (which is
1412 faster than hash_map on win!!!), while we investigate to find a
1413 better solution.
1414
1415 ! 2006-02-23 Hubert Degaudenzi
1416 - fix compilation warnings with Gcc 3.4.4
1417
1418 ! 2006-02-14 Ivan Belyaev
1419 - added new allocator imported from GEANT4. They should decrease the
1420 allocation time significantly. Please have a look at the
1421 GaudiExample "Allocator".
1422
1423 ! 2006-02-06 Hubert Degaudenzi
1424 - fixed windows compilation warning (bug #14852).
1425
1426 ================ GaudiKernel v20r4 ====================================
1427 ! 2006-01-27 Hubert Degaudenzi
1428 - corrected constructor call syntax of fstream in genconf to be
1429 compatible with Linux.
1430
1431 ! 2006-01-26 Pere Mato
1432 - Added new program genconf to generate the python configuration file for component libraries
1433 - Fix bug #14665 overview: IID_IAlgorithm and IID_IConversionSvc Conflict
1434 - Moved some class in the dictionary of GaudiPython to the dictionary in GaudiKernel
1435
1436 ! 2006-01-25 Marco Clemencic
1437 - Added class Gaudi::Time (based on seal::Time). Updated interfaces
1438 IDetDataSvc, IValidity and IUpdateManager in order to use the new class.
1439 Modified dictionary.h and dictionary.xml in order to produce dictionaries
1440 for Gaudi::Time.
1441
1442 ! 2006-01-25 Hubert Degaudenzi
1443 - added IUpdateManagerSvc in the dictionary generation.
1444
1445 ! 2006-01-19 Pere Mato
1446 - Adapted to use genreflex (Reflex from ROOT)
1447
1448 ================ GaudiKernel v20r3 ====================================
1449 ! 2006-01-18 Hubert Degaudenzi
1450 - fixed forward declarations in GaudiKernel/IMagneticFieldSvc.h
1451
1452 ! 2006-01-12 Pere Mato
1453 - Added std::vector<const ContainedObect*> in the dictionary
1454
1455 ! 2006-01-10 Hubert Degaudenzi
1456 - moved the macro definitions DECLARE_XXX_FACTORY and
1457 DECLARE_NAMESPACE_XXX_FACTORY from DeclareFactoryEntries.h to their
1458 own header files where XXX are Algorithm, Auditor, Converter,
1459 Object, Service, Tool.
1460 - corrected wrong syntax in macros.
1461 - moved the remaining macros (DECLARE_XXX and DECLARE_NAMESPACE_XXX)
1462 from DeclareFactoryEntries.h to their corresponding header files.
1463
1464 ! 2005-12-20 Hubert Degaudenzi
1465 - Commented out AIDATupleSvc.
1466
1467 ! 2005-12-20 Marco Clemencic
1468 - Added UpdateManager interface.
1469
1470 ! 2005-12-05 Manuel Domenech
1471 - added setCriteria method to IAIDATupleSvc interface to allow passing
1472 a preselection criteria for reading data from a tuple.
1473
1474 ! 2005-11-15 Markus Frank
1475 - Fix problems of KeyedContainer when using keys with explicit constructors.
1476
1477 ================ GaudiKernel v20r2 ====================================
1478 ! 2005-11-22 Pere Mato
1479 - Booststrap.h: converted Gaudi class into a Gaudi namespace
1480
1481 ! 2005-11-22 Vanya Belyaev
1482 - Added class GaudiUtils::VectorMap (former _VctMap from Vanya) that implements associative version inspirer
1483 from the Loki library by Andrei Alexandrescu.
1484
1485 an associative vector
1486 inspired from Loki associative vector.
1487 Fix problems of KeyedContainer when using keys with explicit constructors.
1488
1489 ! 2005-11-21 Markus Frank
1490 - Fix problems of KeyedContainer when using keys with explicit constructors.
1491
1492 ! 2005-11-21 - Pere Mato
1493 - Added new methods in IAlgorithm: isInitialized(), isFinalized() and isExecuted() (suggested by Vanya)
1494
1495 ! 2005-11-18 - Marco Clemencic
1496 - Added 3 classes to replace the HashTable and the hacks in stl_hash.h
1497
1498 * GaudiUtils::Map is a simple associative container. It is implemented as a proxy
1499 to a template class implementing the underlying container (defaulting to std::map).
1500 It features "operator[](key) const" and "operator()(key) const". It has a virtual
1501 destructor so that it can be extended via inheritance.
1502 * GaudiUtils::Hash is a simple hash function (based on Stroustrup's example) which
1503 correctly handle pointers, std::string and char*. It is portable between Linux and Windows.
1504 * GaudiYUtils::HashMap is a Map which uses internally a hash_map. The differences
1505 between gcc and VC7 are taken into account in order avoid users having to put "#ifdef"s.
1506
1507 ! 2005-11-09 - Chris Jones
1508 - Change output level data member in Algorithms and AlgTools from int
1509 to IntegerProperty, and add a non-const access method for this
1510 property. Allows uses to attach callback handle methods to this
1511 property (Such as in GaudiAlg) to allow them to react as needed
1512 to changes in the output levels. Needed in GaudiAlg to force the
1513 creation of a new cached MsgStream object.
1514
1515 ================ GaudiKernel v20r1 ====================================
1516 ! 2005-11-03 Pere Mato
1517 - added the changes to dictionary.xml delection file. Removed the dictionary_rflx.xml file.
1518
1519 ! 2005-10-13 Hubert Degaudenzi
1520 - removed obsolete files GaudiKernel/KeyedDictionary.h and
1521 GaudiKernel/SealDictonary.h.
1522
1523 ! 2005-10-10 Hubert Degaudenzi
1524 - added the transient state to the refCount and hasKey Methods of
1525 KeyedObject in the dictionary_rflx.xml selection file (Markus Frank).
1526
1527 ================ GaudiKernel v20r0 ====================================
1528 ! 2005-09-12 Pere Mato
1529 - MsgStream.h: removed special stream function for StatusCode. It did
1530 not help on WIN32
1531 - GaudiException.h: added explicit call to accessor of StatusCode to
1532 unsigned long code
1533
1534 ! 2005-08-05 Hubert Degaudenzi
1535 - added "long long" format in the instantiation of SimpleProperty and
1536 SimplePropertyRef templates.
1537
1538 ! 2005-08-05 Hubert Degaudenzi
1539 - applied patch #502. Minor polishing of Stat and StatEntity classes
1540 to improve their functionality (in absolutely backward compatible
1541 way). From now the usage of StatEntyty in 'standalone' mode is
1542 greatly simplified (previously it has been tightly coupled to
1543 Chrono&Stat Service, and "public" interface was ugly). The
1544 functionality of Stat class is also improved (Vanya).
1545
1546 ! 2005-07-25 - Hubert Degaudenzi
1547 - fixed bug #9475. Missing #include <stdexcept> (Mattias Ellert).
1548
1549 ! 2005-07-25 - Hubert Degaudenzi
1550 - fixed bug #9474. fixed bad friend declaration. According to the C++
1551 standard typedef'ed typenames may not be declared friends. (Mattias
1552 Ellert).
1553
1554 ! 2005-07-25 - Hubert Degaudenzi
1555 - fixed bug #9468. Missing typname keyword within templates (Mattias Ellert).
1556
1557 ! 2005-07-21 - Hubert Degaudenzi
1558 - fixed bug #9467
1559
1560 ! 2005-07-21 Markus Frank
1561 - patch #445. Move basic dictionaries from GaudiPoolDb to GaudiKernel
1562 gccxml inputs in new subdirectory dict
1563 output id a dictionary DLL called "GaudiKernelDict"
1564 Reflex dictionary produced in parallel: "GaudiKernelRflxDict"
1565 - Fix inline bug in SmartDataPtr (function was never instantiated,
1566 hence problem did not appear)
1567 - Fix data member access in RndmGenerators.h
1568
1569 ! 2005-07-21 Hubert Degaudenzi
1570 - patch #476. Compilation of some Reflex dictionaries currently
1571 fails. I'd need an overload for the MsgStream::operator << for
1572 StatusCode to cure this. The attached patch is one proposal how it
1573 could be done (Stefan Roiser).
1574
1575 ! 2005-07-18 Hubert Degaudenzi
1576 - fixed bug #9466. extra semicolon (Mattias Ellert).
1577
1578 ! 2005-07-15 Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch>
1579 - fixed bug #9476. Missing keyword "class". (Mattias Ellert)
1580
1581 ================ GaudiKernel v19r3 ====================================
1582 ! 2005-07-13 Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch>
1583 - fixed bug #9479
1584
1585 ! 2005-05-10 Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch>
1586 - modifications for the new service StagerSvc. Added IStagerSvc and a
1587 new incident "EndStream" that will trigger the end of the
1588 processing of one file.
1589
1590 ================ GaudiKernel v19r2 ====================================
1591 ! 2005-05-10 Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch>
1592 - added path access to SmartRef (Marco Clemencic)
1593
1594 ! 2005-04-22 Hubert Degaudenzi <Hubert.Degaudenzi@cern.ch>
1595 - GaudiKernel/IValidity.h (IValidity): added some const qualifiers
1596 to function members of the IValidity class (Marco Clemencic).
1597
1598 ================ GaudiKernel v19r1 ====================================
1599
1600 ! 2005-04-14 - Eric VAN HERWIJNEN
1601 - modification of the IMonitor.h interface
1602
1603
1604 ! 2005-04-14 - Hubert Degaudenzi
1605 - removed the following interface files:
1606
1607 GaudiKernel/IDetectorElement.h
1608 GaudiKernel/IGeometryInfo.h
1609 GaudiKernel/ILVolume.h
1610 GaudiKernel/IPVolume.h
1611 GaudiKernel/ISolid.h
1612 GaudiKernel/ITransportSvc.h
1613
1614
1615 ================ GaudiKernel v19r0 ====================================
1616 ! 2005-03-02 - Markus Frank
1617 - Obsolete interface call: StatusCode IAlgManager::declareAlgModule
1618 - New interface call: StatusCode IAlgManager::getFactory(const std::string& alg_type, IAlgFactory*& fac);
1619 - Obsolete interface call: StatusCode ISvcManager::declareSvcCreator
1620 - Obsolete interface call: StatusCode ISvcManager::declareSvcModule
1621 - New interface call: StatusCode ISvcManager::getFactory(const std::string& svc_type, ISvcFactory*& fac);
1622
1623 ================ GaudiKernel v18r3 ====================================
1624 ! 2005-02-25 - Pere Mato
1625 - System.cpp: applied patch to overcome CXXABI problem (merge from v17r1)
1626
1627 ! 2005-02-24 - Manuel Domenech
1628 - Added the interface IAIDATupleSvc.h for the AIDA-based tuple service.
1629 - ClassID, Algorithm.h and lib/Algorithm.cpp: added declarations for the AIDATupleSvc.
1630
1631 ================GaudiKernel v18r2=====================================
1632 ! 2005-02-15 - Markus Frank
1633 - SealDictionary.h - fix for SmartRefDict.
1634
1635 ! 2005-02-11 - Pere Mato
1636 - Algorithm.cpp: removed the name extensions such as ".sysInitialize()", ".sysExecute()"
1637 and ".sysFinalize()" in the messages generated by the base class.
1638 It makes it simple to control over the threshold messages from algorithm. (suggested by Vanya)
1639
1640 ! 2005-02-02 - Pere Mato
1641 - System.cpp(typeinfoName): removed extra spaces between types and "*" and "&"
1642
1643 ================GaudiKernel v18r1=====================================
1644 ! 2005-01-19 - Pere Mato
1645 - DataObject.h(.cpp) Added copy constructor. Problem reported by Mikhail Kirsanov (HARP)
1646 - IMagneticFieldSvc.h: Changed forward declarations for CLHEP classes.
1647
1648 ================GaudiKernel v18r0=====================================
1649 ! 2004-12-10 - Markus Frank
1650 - GaudiKernel/IDataProviderSvc.h
1651 Update doc for unregisterObj entries, which was uncorrect.
1652
1653 ! 2005-01-12 - Pere Mato
1654 - IHistogramSvc.h: Added profile histograms
1655 - ClassId.h: Added profile histograms CLID's
1656
1657 ! 2005-01-11 - Pere Mato
1658 - Changed IEventProcessor interface to add stopRun() method
1659 - Changed System.cpp to load dynamic libraries with RTLD_GLOBAL flag and commented out
1660 the special typo_info implementation
1661
1662 ! 2004-12-10 - Pere Mato
1663 - Added interface IMonitorSvc.h (from Gaucho)
1664 - Algorithm.h,.cpp: Added new method declateInfo(...) to declare monitoring variables
1665
1666 ! 2004-12-06 - Markus Frank
1667 - SealDictionary.h
1668 Make use of ReflectionBuilder/CollectionProxy.h
1669 for new container handling using ROOT CollectionProxy mechanism.
1670 - Service.cpp:
1671 Inhibit printing of services before the properties are properly
1672 set. Until the properties are set, each service inherits the
1673 output level of the message service.
1674 This was apparently screwed with the invention of the
1675 OutputLevel update handler for services.
1676 This removes the "ignored" global printout level of the
1677 sub-eventselector instances when opening new files.
1678
1679 ! 2004-09-13 - Markus Frank
1680 - Protection in KeyedContainer::configureDirectAccess()
1681 To protect against reading NULL pointers - a problem
1682 reported by M.Cattaneo.
1683
1684 ! 2004-10-27 - Pere Mato
1685 - Changed order of finalization of Algorithm/Sub-algorithms
1686 bug #3903 overview: finalize and nested algorithms
1687
1688 ================GaudiKernel v17r0=====================================
1689 ! 2004-10-25 - Pere Mato
1690 - Algorithm.cpp: added setFinalized() at the end of of the finalization to avoid doing it
1691 more than once.
1692 - Service.cpp: added protection on accessor msgSvc() for the MessageSvc itself.
1693 - Changed IAlgManager interface.
1694 - Added initializeAlgorithms() and finalizeAlgorithms()
1695 - Removed declareAlgCreator()
1696 - Added optional argument to createAlgorithm() to tell if the Algorithm should be managed
1697 - Removed PathResolver.h,cpp because of compilation problems on Windows
1698
1699 ! 2004-08-10 - Charles Leggett
1700 - new class ServiceLocatorHelper used to implement service methods
1701 in Algorithm.(h,cpp), Service.(h,cpp), AlgTool.(h,cpp), Converter.(h,cpp)
1702 - ISvcLocator.h: new method service<T>(type, name, T*, bool) to
1703 create/retrieve a non-default instance of a service
1704
1705 ! 2004-08-10 - Charles Leggett
1706 - PathResolver.h,cpp: added
1707 - Service.(h,cpp): callback for output level
1708
1709 ================GaudiKernel v16r2=====================================
1710
1711 ! 2004-08-03 - Vanya BELYAEV
1712 - GaudiKernel/ParticleProperty.h
1713 Two methods for particle<-->antiparticle relations
1714 const ParticleProeprty* antiParticle() const ;
1715 void setAntiParticle( const PArticleProeprty* ) ;
1716 - GaudiKernel/ChronoEntity.h, GaudiKernel/StatEntity.h
1717 src/Lib/ChronoEntity.cpp, src/Lib/StatEntity.cpp
1718 Files are moved from GaudiSvc package to allow run-time
1719 public inspection of Chrono & Stat counters
1720 - GaudiKernel/IChronostatSvc.h
1721 Two method are added to allow run-time publc inspection of
1722 Chrono & Stat counters:
1723 const ChronoEntity* chrono ( const ChronoTag& tag ) const ;
1724 const StatEntity* stat ( const StatTag& tag ) const ;
1725
1726 ================GaudiKernel v16r1=====================================
1727 ! 2004-07-22 - Pere Mato
1728 - DataObject.h: Added ostream operator << . In this way we can output DataObjects using ostream or MsgStream. This was
1729 already possible with ContainedObjects.
1730 ! 2004-07-20 - Pere Mato
1731 - KeyedDictionary.h: Reverted typo removal in KeyedContainer<> class name. Otherwise the existing files are not
1732 readable.
1733 - Incicent.h: Added doxygen comments (from Chris Jones)
1734 - Property.h/MsgStream.h: added more specialized templates for handling MsgStream operator << and
1735 stream operator << for ArrayProperties and vector<T>. This should avoid compilation errors
1736 detected by Marco.
1737
1738 ! 2004-07-19 - Pere Mato
1739 - System.h/cpp: added implementation for Windows
1740 - MsgStream: replaced a bunch MsgStream& operator <<(MsgStream&,...) by a templated one
1741 MsgStream& operator <<(MsgStream&,T) to handle any type for which the standard
1742 ostream& operator << (stream&, T) exists.
1743 - Property.h: added standard ostream& operator <<(ostream&,SimpleProperty<T>)
1744
1745 ================GaudiKernel v16r0p1=====================================
1746 ! 2004-07-16 - Charles Leggett
1747 - DataObject.h: addeed refCount() method
1748 - System.h/cpp: added methods to get env vars and system parameters
1749
1750 ================GaudiKernel v16r0=======================================
1751 ! 2004-07-13 - Charles Leggett
1752 - Additions for History Objects: HistoryObj.*, IHistorySvc.h, IAlgContextSvc.h
1753
1754 ! 2004-07-13 - Pere Mato
1755 - ParticleProperty.h: added pdgID() and setPdgID() as alises to jetsetID() and setJetsetID()
1756 - Property.cpp: added template specialization to support string booleans in setProperty()
1757 ("false", "true", "False", "True", ...)
1758
1759 ! 2004-26-06 - Markus Frank
1760 - Small update in SmartIF.h to get a cleaner API
1761 - New interface: IPartitionControl
1762 Generic interface to manipulate services with several
1763 encapsulated instances "Partitions"
1764 - New Interface: ICounterSvc
1765 Interface to manage/create/access counters and groups of counters
1766
1767 ! 2004-07-02 - Pere Mato
1768 - IInterface.h Removed IID typedef to finally avoid clashes with windows.h
1769
1770 ! 2004-15-05 - Markus Frank
1771 - DataSvc.h/cpp Let the DataSvc connect to the incident service
1772 - Generate incident on persistent data access
1773 Enable using DataSvc.EnableAccessHandler = 1;
1774 Set incident name: DataSvc.DataAccessName = "EventDataAccess";
1775 - Generate incident on data fault:
1776 Enable using DataSvc.EnableFaultHandler = 1;
1777 Set incident name: DataSvc.DataFaultName = "EventDataAccess";
1778
1779 ! 2004-01-05 - Markus Frank
1780 - IEvtSelector.h New upgraded interface from C.Cioffi - NOT backwards compatible
1781 - Environment.h/cpp New header file extending the System namespace to handle
1782 standard environment manipulations
1783 - Tokenizer.h/cpp Allow for environment resolution in token values - if requested.
1784 Default is backwards compatible
1785
1786 ================GaudiKernel v15r4=======================================
1787 ! 2004-04-22 - Vanya Belyaev
1788 - Added changes from Vanya to fix the problems reported by Matt on output level for AlgTools
1789
1790 ================GaudiKernel v15r3=======================================
1791 ! 2004-04-19 - Markus Frank
1792 - KeyedContainer.h: Modified erase() method to use a temporary vector to improve performance.
1793 Tested by Chris Parkes: The new keyed container code
1794 VeloSim:execute 238ms/event
1795 to be compared with the old timing
1796 VeloSim:execute 638ms/event - old code, using original keyed container
1797
1798 ================GaudiKernel v15r2=======================================
1799 ! 2004-03-04 - Gloria Corti
1800 - IParticlePropertySvc.h: Changed interface to add the Pythia ID
1801 - ParticleProperty.h: Changed to Pythia ID in constructor and remove obsolete
1802 accessors.
1803
1804 ================GaudiKernel v15r1=======================================
1805 ! 2004-01-23 - Markus Frank
1806 - SmartRef.h/SmartRefbase.h Replaced inheritance by object embedding. This change
1807 is neded to optimize CPU for persistency based on POOL.
1808
1809 ! 2004-01-20 - Vanya BELYAEV
1810 - Algorithm.h 1) add protected accessor to m_outputLevel field
1811 2) add shortcuts evtSvc() and svcLoc()
1812 3) resurrect default(empty) Algorithm::initialize()
1813 and Algorithm::finalize() methods
1814 4) split 'long' lines to please LHCb-flavour Emacs
1815 - AlgTool.h 1) add protected accessor to m_outputLevel field
1816 2) add shortcut svcLoc() to serviceLocator() method
1817 3) split 'long' lines to please LHCb-flavour Emacs
1818
1819 ================GaudiKernel v15r0=======================================
1820 ! 2004-01-08 - Werner Wiedenmann
1821 - System.h: use gaudi "__linux" #define rather than LINUX
1822 - class AlgTool: same MT-naming treatment as for Algorithm andService (use service_i)
1823 - ThreadGaudi.cpp: deal with AlgTool parents name
1824 - Converter.cpp: get thread name from conversion svc
1825
1826 ! 2004-01-08 - Vanya Belyaev
1827 - IJobOptionsSvc interface has been modified to add new method (readOptions(...)) to be
1828 ab;e to read additional option files.
1829
1830 ! 2003-12-12 - Markus Frank
1831 - Added Keyed container as intrinisc Gaudi container object for Keyed objects
1832 - Added POOL storage types to ClassID.h
1833
1834 ! 2003-12-12 - Markus Frank
1835 - Added Keyed container as intrinisc Gaudi container object for Keyed objects
1836 - Added POOL storage types to ClassID.h
1837
1838 ! 2003-12-09 - Markus Frank
1839 - A bunch og changes in preparation to the integration with SEAL/POOL
1840 - Added dependency with SEAL
1841
1842
1843 ================GaudiKernel v14r2=======================================
1844 ! 2003-12-03 - Grigori Rybkine
1845 - Added using AIDA::<ClassName> to allow use of AIDA in applications
1846 without prefix AIDA:: (as before)
1847
1848 ! 2003-11-26 - Pere Mato
1849 - Adapted to new version of AIDA (namespaces)
1850 - Replaced macro WIN32 by _WIN32
1851
1852 ================GaudiKernel v14r1=======================================
1853 ! 2003-11-25 - Pere Mato
1854 - Modifications for Mac OSX (Guy Barrand)
1855
1856 ! 2003-11-25 - Pere Mato
1857 - Added GaudiKernel/stl_hash.h to provide hash maps and sets
1858
1859 ! 2003-11-20 - Pere Mato
1860 - Added IncidentTypes namespace with incident type names
1861 [ Bug #1085 ] 'Standard' incidents
1862
1863 ================GaudiKernel v14r0=======================================
1864 ! 2003-07-03 - Markus Frank
1865 Major upgrade for use of POOL. Main change: extend technology specifier to
1866 int from unsigned char. Please note, that the changed interfaces are NOT BACKWARDS
1867 compatible. In particular in the converter area concrete user classes must
1868 support integer technology types. To create a compiler error, the converter
1869 base class does no longer have the method repSvcType().
1870
1871 ModuleInfo.cpp Remove signed/unsigned warning
1872 MsgStream.h Added missing header file
1873
1874 DataObject.cpp
1875 LinkManager.cpp/h Dynamic link manager creation for POOL
1876
1877 ClassID.h
1878 CnvFactory.h
1879 ConversionSvc.h
1880 Converter.cpp/h
1881 GenericAddress.h
1882 IAddressCreator.h
1883 ICnvFactory.h
1884 ICnvManager.h
1885 IConverter.h
1886 IOpaqueAddress.h
1887 IPersistencySvc.h Integer technology types
1888
1889 NTuple.h
1890 SmartRef.h
1891 SmartRefBase.cpp/h Extend and allow customization for the usage in POOL
1892
1893 ================GaudiKernel v13r5=====================================
1894 ! 2003-07-03 - Pere Mato
1895 - MsgStream.h: added op << for std::vector
1896
1897 ! 2003-06-25 - Paolo Calafiura, Pere Mato
1898 - SmartDataObjectPtr: added const in operator = argument
1899 - Algorithm.cpp, Converter.cpp, Service.cpp: Fixed service_i() [ Bug #927 ]
1900
1901 ================GaudiKernel v13r4p1=====================================
1902 ! 2003-06-26 - Pere Mato
1903 - System.cpp: removed white spaces in System::typeinfoName() for templated classes with more than one argument.
1904
1905 ================GaudiKernel v13r4=====================================
1906
1907 ! 2003-05-07 - Paolo Calafiura
1908 - Algorithm.cpp: sysExecute returns immediately if isEnabled() false
1909
1910 ! 2003-05-06 - Paolo Calafiura for RD Schaffer
1911 - IAddressCreator.h and ConversionSvc: new creatAddress from string interface
1912
1913 ! 2003-04-29 - Sebastien Ponce
1914 - solution to the gcc 3.2 dynamic_cast problem. For deeeeeep explanations
1915 of both the problem and the solution, see doc/dynamic_cast.pb
1916
1917 ! 2003-04-18 - Paolo Calafiura
1918 - DataSvc.cpp: protect registerObject against null DataObj pointer (fail)
1919
1920 ! 2003-04-15 - Paolo Calafiura
1921 - NTupleImplementation.cpp: delete m_buffer mismatched with array new in
1922 RootHistCnv::RCWNTupleCnv::book
1923 - System.cpp: fix memory leak in getErrorString
1924
1925 ! 2003-04-10 - Marco Cattaneo
1926 - RndmGenerators.cpp: Fix a memory leak at finalisation
1927
1928 ! 3002-04-04 - Pere Mato
1929 - Updated IAddressCreator interface with two convert IOpaqueAddresses to
1930 string format and vise versa (proposal by RD Shaffer)
1931 virtual StatusCode convertAddress( const IOpaqueAddress* pAddress,
1932 std::string& refAddress) = 0;
1933 virtual StatusCode createAddress( const std::string& refAddress,
1934 IOpaqueAddress*& refpAddress) = 0;
1935
1936 ! 2003-04-01 - Sebastien PONCE
1937 - some coding convention applications
1938 - bug fix in PropertyMgr concerning the output of property names
1939
1940 ! 2003-03-13 - Paolo Calafiura
1941 - moved pthread handle and "_self" call to System.h
1942
1943 ! 2003-03-11 - Paolo Calafiura
1944 - MsgStream: define MSG::hex and MSG::dec for gcc 3.2
1945 - rename ThreadLibGaudi.h as ThreadGaudi.h
1946
1947 ! 2003-02-27 - Charles Leggett & Paolo Calafiura
1948 - IMessageSvc: added two new abstract methods useColor and
1949 getLogColor (all existing MsgServices needs updating!).
1950 Added MSG::Color enum
1951 - MsgStream: support colored messages
1952
1953 - changes to Converter service method (see Algorithm and Service
1954 below). TO DO: extract common service_i implementation
1955
1956
1957 ! 2003-02-25 - Werner Wiedenmann & Paolo Calafiura
1958 - add ThreadLibGaudi.{h,cpp}: utilities to get and parse thread
1959 instance names
1960 - changes to Service and Algorithm:
1961 - service method asks first for thread specific service
1962 instance, if not available get generic service instance
1963 - allow for setting of thread specific and generic properties
1964 - create thread specific sub-Algorithms automatically
1965
1966 ! 2003-01-21 - Markus Frank
1967 - Add second connectOutput call to conversion service interface.
1968 Second argument allows to specify the opening mode
1969 (NEW, RECREATE, UPDATE)
1970 - DataTypeInfo: add 2 new types: LONG_STRING, LONG_NTCHAR
1971 - (I)SelectStatement: Allow for more generic selects than
1972 only FUNCTION and STRING
1973
1974 ! 2003-01-06 - Sebastien Ponce
1975 - improvements in support for gcc 3.2
1976
1977 ================GaudiKernel v13r3=====================================
1978 ! 2002-11-21 - Sebastien Ponce
1979 - fixes in Converter.cpp to avoid memory leaks
1980
1981 ! 2002-11-19 - Pere Mato
1982 - Added setExecuted() after execute() in Algorithm::sysExecute(). Requested by
1983 Vanya.
1984
1985 ================GaudiKernel v13r2=====================================
1986 ! 2002-11-06 - Sebastien Ponce
1987 - fixes in order to remove deprecated warnings on gcc 3.2
1988 - coding conventions applications
1989
1990 ! 2002-11-11 - Markus Frank
1991 - Timing.cpp: Use routine ::gettimeofday(...) to measure current time.
1992 This improves the precision of several timing measurements
1993 (current time, elapsed time) to 1 micro second.
1994 The change affects linux only.
1995
1996 ! 2002-11-08 - Markus Frank
1997 - Move CLID for N-tuples into ClassID.h
1998 - Fix bug in ISvcLocator.h: If service initialization failed, status was still OK.
1999
2000 ! 2002-11-06 - Markus Frank
2001 - DeclareObjectFactory.h - add declarations for containedobject factories
2002 and dataobject factories.
2003
2004 ================GaudiKernel v13r1=====================================
2005 ! 2002-10-21 - Pere Mato
2006 - IRegistry.h - the typedefs in this class are now public.
2007
2008 ! 2002-10-21 - Sebastien Ponce
2009 - Bug fix in StreamBuffer for deserialization of char*
2010
2011 ! 2002-10-11 - Paolo Calafiura
2012 - Added protection in ConversionService::setDataProvider: since ATLAS use
2013 StoreGate and pass a NULL pDataSvc pointer.
2014
2015 ================GaudiKernel v13r0=====================================
2016 ! 2002-10-04 - Pere Mato
2017 - Changed interface IJobOptionsSvc to add accessors to the JobOptions
2018 catalogue
2019
2020 ! 2002-09-27 - Sebastien Ponce
2021 - fixes in order to compile on gcc 3.2
2022 - lots of coding conventions applications
2023
2024 ! 2002-09-25 - Markus Frank
2025 - Add declarations for object factories to DeclareFactoryEntries.h
2026 - Remove windows compiler warning in Bootstrap.cpp
2027
2028 ! 2002-09-25 - Sebastien Ponce
2029 - Implementation of the reinitialize method for DataSvc
2030
2031 ! 20020916 Pere Mato
2032 - Changes to clean the reference counting and memory deallocation
2033 detected by the "valgrind" tool.
2034
2035 ! 20020703 Paolo Calafiura
2036 - RegistryEntry.h: put DataSvc in the global ns when declaring as friend
2037 - Service.h: add ISvcLocator include for service() inline implementation
2038
2039 ! 20020628 Pere Mato, Sebastien Ponce
2040 - Improved error reporting when loading dynamic libraries
2041 - Changed INFO messages to DEBUG when initializing services
2042 - Replaced forward class declarations by including the concerned header files. This
2043 is to aliviate user confusion.
2044 - Added function format(string fmt, ...) that can be used to format messages
2045 within the MsgStream class.
2046 Example:
2047 log << MSG::INFO << format("Evt: %8d Run: %8d", evt, run) << endmsg;
2048 Caveat: Since the unspecified argument list is used (...) the arguments can not
2049 be cheched for the correct type and possible conversions are not triggered.
2050
2051 ! 20020529 Paolo Calafiura
2052 - Auditor.h: service() needs IServiceLocator header file
2053 - DeclareFactoryEntries.h: typo in AudFactory name
2054
2055 ! 20020506 Paolo Calafiura
2056 - PropertyMgr: use interface hub (Massimo ApplicationMgr refactoring)
2057
2058 ! 20020506 Andrea Valassi
2059 - Change in MsgStream.h to allow the use of std::hex on Windows
2060
2061 ================v12r2=====================================
2062 ! 20020506 Pere Mato
2063 - Bug fix in AlgTool.cpp. Pointer to ToolSvc not initialized
2064 (Reported by O. Callot)
2065
2066 ! 20020502 Pere Mato
2067 - Bug fix in base classes Service and Converter. The accessor msgsvc() shpould
2068 returns always a valid MessageSvc (Reported by RD Schaffer)
2069 - Added templated function service() in Converter base class.
2070 - Bug fix in Service.cpp. The finalize method access violates if called before
2071 initialize (Reported by Wim Lavrijsen)
2072
2073 ================v12r1=====================================
2074 ! 20020426 Markus Frank
2075 - Bug fix in DataSvc, which inhibited automatic directory
2076 generation if intermediate leafs were present.
2077
2078 ================v12r0=====================================
2079 ! 20020408 Pere Mato
2080 - Included ISvcLocator.h and IMessageSvc.h in Algorithm.h instead
2081 of the existing forward declaration
2082
2083 ! 20020405 Pere Mato
2084 - Added two new accessors to AlgTool base class
2085 templated service( name, svc, createif) to access any service
2086 tooSvc() to access the tool service
2087
2088 ! 20020327 Pere Mato
2089 - Changes needed for Solaris (by Wim Lavrijsen). Details:
2090 +++ GaudiKernel/src/Lib/Property.cpp
2091 getQuotedItem() in unnamed namespace instead of static
2092 +++ GaudiKernel/src/Lib/ModuleInfo.cpp
2093 explicit cast added: "if ( 0 != ::dladdr((void*)System::moduleHandle,...
2094 +++ GaudiKernel/src/Lib/System.cpp
2095 in System::typeinfoName(), added a #elif defined(sun)
2096 +++ GaudiKernel/CnvFactory.h
2097 removed virtual inheritence in class CnvFactory & CnvFactory2
2098 +++ GaudiKernel/ObjectFactory.h
2099 removed virtual inheritence in class ObjectFactory & ObjectFactory2
2100
2101 ! 20020315 Markus Frank
2102 - Kernel.h
2103 Properly #ifdef LONGLONG_MAX, LONGLONG_MIN
2104 - MsgStream.h
2105 Add operator<<(longlong), operator>>(longlong&)
2106 - StreamBuffer.h
2107 Add serialization for std::vector, std::list
2108 Add operator<<(longlong), operator>>(longlong&)
2109 - Converter.cpp
2110 Do not dereference dataProvider if pointer is invalid
2111 - TimePoint.h
2112 Add StreamBuffer& operator<<(), StreamBuffer& operator>>(),
2113 MsgStream& operator<<()
2114 - TimePoint.h
2115 Add MsgStream& operator<<()
2116 - ITime.h
2117 Add MsgStream& operator<<()
2118
2119 ! 20020213 - Markus Frank
2120 - Added clear() method to ObjectVector<T> and ObjectList<T>
2121 clear() removes all elements from the ObjectVector and ObjectList<T>
2122
2123 ! 20020215 Pere Mato
2124 - Removed dependency with AIDA
2125 - Eliminated the old IHistogramXXX interfaces. Users should use the
2126 AIDA ones directly
2127 - Changed ClassId.h and IHistogramSvc.h to include 3D histograms
2128
2129 ! 20020225 Markus Frank
2130 - Problem reported by Kambiz Mahboubi fixed concerning the
2131 user defined random number generator (i.e. DefinedPdf)
2132 - GaudiKernel/RndmGenerators.h
2133
2134 ! 20020213 - Pere Mato
2135 - Algorithm.cpp: Fixed bug
2136 The status code of sysInitilize() of sub-algorithms was not
2137 checked. Now it should fail and report an error.
2138
2139 ================v11r1=====================================
2140 ! 20020128 - Markus Frank
2141 - DataObejct.cpp: Fixed bug
2142 Automatically create leaves on registerAddress if the
2143 Option "ForceLeaves" is set to true
2144 - SmartRefs.cpp:
2145 Fixed Feature: For smart refs to ContainedObject(s), resolve
2146 parent pointer only when needed.
2147 - ConversionSvc.cpp:
2148 Bug fix: Converters were never finalized. Done from now on, whenever the
2149 converter gets disconnected from the conversion service.
2150
2151 ================v11r0=====================================
2152 ! 20011212 - Pere Mato
2153 - Added dependency to AIDA requested by David Quarrie
2154
2155 ! 20011207 - Sebastien Ponce
2156 - Changed interface IConversionSvc.h. Added method converter(const CLID&) to get
2157 the converter with that CLID.
2158
2159 ! 20011126 - Markus Frank
2160 - MsgStream.cpp
2161 Any change of the printout level from the application program
2162 using MsgStream::setLevel(...) is ignored by the message service.
2163 Update the local printout level on a by message bases and restore
2164 the previous printout level.
2165
2166 ! 20011120 - Markus Frank
2167 - NTuple.h
2168 the function entries addItem(...) are DEPRECATED for
2169 Ntuple columns, which depend on an index column.
2170 The replacement is: addIndexedItem(...).
2171 This has repeatedly caused confusion for users.
2172 Also added doxygen information for these entries.
2173
2174 ! 20011115 - Pere Mato
2175 - Added initialize() and finalize() methods in IAlgTool interface.
2176 - The base class AlgTool implemements them as dummy but allows an implementation
2177 of them on specific Algorithm Tools
2178 - Removed the need to implement a queryInterface() in specific Algorithm tools. Instead
2179 use the expresion declareInterface<Ixxxx>(this) in the constructor.
2180 - Added releaseTool() method in IToolSvc.
2181
2182 ! 20011111 - Pere Mato
2183 - Many Changes from Markus for the DataStore classes re-design.
2184
2185 ! 20011108 - Pere Mato
2186 New versions of interfaces:
2187 - ISvcManager.h (incompatible) Added more functionality to offload ApplicationMgr
2188 - ISvsLocator.h (compatible) Changed getServices() to const
2189
2190 ! 20011105 - Sebastien Ponce
2191 Added new methods in DataSvc to be able to set the root without clearing
2192 the store
2193
2194 ! 20011009 - Pere Mato
2195 Removed CLID_Event from ClassID.h to avoid clashes with Event.h generated from
2196 GaudiObjDesc tools
2197
2198 ! 20011005 - Pere Mato
2199 Changed IInterface.h Introduced a new constructor for InterfaceID that
2200 uses a name (class name) instead of the interface number. A hash
2201 function converts the name into a number.
2202
2203 ! 20011003 - Pere Mato
2204 Changed SmartDataLocator.h reported by David Rousseau
2205
2206 ! 20010914 - Pere Mato
2207 Modified ClassID.h to include CondDB stuff
2208 Solved bug in DataSvc.cpp reported by Andrea Valassi
2209
2210 ! 20010710 - Pere Mato
2211 Removed interfaces IGiGaSvc.h and IGiGaSetUpSvc.h
2212
2213 ! 20010706 - David Quarrie
2214 Extend IChronoStatSvc to support retrieving the delta-time between
2215 start/stop pairs.
2216
2217 ! 20010629 - Pere Mato
2218 Changes in interfaces needed for improved interactivity support :
2219 IService.h : Added new method reinitialize() to allow services to
2220 take into account changes after the first time initialization
2221 IAlgorithm.h : Added beginRun() and endRun() methods. These are called each time
2222 the event loop is executed.
2223 IEventProcessor.h : Added executeRun() and nextEvent() methods. This is to
2224 eliminate the need to use the IAppMgrUI interface in the
2225 EventLoopMgr components.
2226 IAppMgrUI.h : Renamed method state() to stateName().
2227 IScriptingSvc.h : Deleted
2228
2229 ! 20010627 - Markus Frank
2230 Bootstrap.h/cpp : Allow to set the instance of the service locator
2231 in case several ApplicationMgr instances are present.
2232 ObjectVector.h,
2233 ObjectList.h : Add forward typedefs for pointer and const_pointer
2234 (Requested by P.Calafiura/LBL)
2235 RefTable.h : Implement serialize methods
2236 RegistryEntry.h/cpp,
2237 DataSvc.h/cpp : Implement several bug-fixes
2238 - allow for objects in locations like /AA/BB/BB/BB/...
2239 - allow to access objects with omission of the root
2240 directory: "/Event/MC" is equivalent to "MC"
2241 - execution optimization
2242 SmartDataObjectPtr.h : Fix annoying compiler warning
2243 SmartRefBase.h,
2244 SmartRef.h : operator==() was badly implemented (Found by O.Callot)
2245 strcasecmp.h : WIN32 needs an additional #include <cstring>
2246
2247 ! 20010625 - Pere Mato
2248 - Added remote properties functionality. Changed PropertyMgr and base classes Service
2249 and Algorithm
2250 - Added MsgStream::endmsg with same functionality as endreq. (Request from ATLAS)
2251 - Using AIDA Historams instead of LHCb private ones. The existing include files
2252 include the new ones but generating a warning. The IAnnotation interface is added
2253 because it does not exists in the used AIDA release
2254
2255
2256 ! 20010618 - v10 (Flr)
2257 requirements - use GaudiPolicy v5
2258 apply pattern package_stamps
2259
2260 ! 20010518 - Pere Mato
2261 Changed CLIDs in Reftable.h (re-tagged v9)
2262
2263 ! 20010508 - Pere Mato
2264 Fixed bug reported by M. Cattaneo. The OutputLevel of AlgTools was not
2265 set correctly if the parent Algorithm didn't set it explicitely.
2266
2267 ! 20010503 - Markus Frank
2268 Allow access to data store items without specification of the top level
2269 directory. It is equivalent to specify an histogram like "/stat/simple/1"
2270 or simply "simple/1". Note that the the entire prefix "/stat/" must be
2271 omitted. The use is backwards compatible.
2272 Added a qualifier ALWAYS to the message service specifying that a given
2273 message should always be printed.
2274 ie.
2275 MsgStream log (msgSvc(), "Name")
2276 log << MSG::ALWAYS << "Hello." << endreq;
2277 will result in
2278 Name SUCCESS Hello.
2279 and will not be omitted.
2280
2281 ! 20010430 - Markus Frank
2282 Bug fixes:
2283 GaudiKernel/DllMain.icpp WINNT: Processhandle should no longer be closed
2284 since the handle is shared for all DLLs.
2285 GaudiKernel/INTuple.h Interface extended to directly use NTuple pointer
2286 to write/read n-tuple. It is no longer necessary to
2287 use the n-tuple service for these actions.
2288 NTupleImplementation.h/cpp dto.
2289 GaudiKernel/SmartDataPtr.h Bug fix:
2290 SmartDataPtr<Object> obj (...)
2291 if ( obj ) {...}
2292 Check succeeded if object is present however
2293 had bad type. Now this check checks for the
2294 presence of the object AND the data type.
2295 Moved pointer to object from SmartDataObjectPtr
2296 to SmartDataStorePtr (template class).
2297 Also moved corresponding check operators.
2298 GaudiKernel/SmartDataLocator.h dto.
2299 GaudiKernel/SmartDataStorePtr.h dto.
2300 GaudiKernel/SmartDataObjectPtr.h dto.
2301 GaudiKernel/SmartDataObjectPtr.cpp dto.
2302
2303 ! 20010320 - Sebastien Ponce
2304 - PropertyMgr.h Avoid compiation errors for egcs 2.95.2
2305 - Debugger.cpp, ProcessDescriptor.cpp Avoid compilation errors for 2.95.2
2306 - MsgStream.h Added the bool type in the operator<<().
2307
2308 ! 20010320 David Quarrie
2309 - Fix Linux macro problem in Kernel.h (should be __linux, not linux). Fix
2310 memory leak in Property.h. Fix a destructor problem in PropertyMgr.h by
2311 adding a std::vector<bool> to keep track of Property ownership. Add
2312 a protected state() member function to Service to allow subclasses to
2313 access the current state.
2314
2315 ! 20010319 Pere Mato
2316 - Fixed interface IAddressCreator
2317
2318 ! 20010316 Markus Frank
2319 - New Interface added IEventProcessor
2320
2321 ! 20010315 Andrea Valassi
2322 - Minor changes in IValidity.h, MsgStream.h ClassID.h
2323
2324 ! 20010314 Pere Mato
2325 - Removed const in IProperty::getProperty(const string&, string&)
2326 Implies to modify all the classes implementing such interface
2327
2328 ! 20010314 David Quarrie
2329 IScriptingSvc.h Add execute( const std::string& ) to allow for execution
2330 of a script.
2331 Property.cpp Fix problem in dealing with either double or single quotes
2332 as delimiters for string values.
2333
2334 ! 20010313 Markus Frank
2335
2336 - GaudiKernel/
2337 Bootstrap.h Add entry point to create multiple Application Managers
2338 StreamBuffer.h Change in buffer allocation (See Gaudi Developers message)
2339 strcasecmp.h Make inline function for WIN32 to standardize on Linux str(n)casecmp
2340 without all the #ifdefs
2341 HashTable.h Bug fix by Traudl Hansl-Kozanecka (GLAST)
2342 RefTable.h dto. Moved from LHCbEvent to GaudiKernel.
2343 IRunable.h new interface for Runable
2344 IAppMgrUI.h Allow access to the application managers state.
2345 (May need changes to ApplicationMgr in GaudiSvc)
2346 SystemBase.h ->@System
2347 System.h ->@System
2348 Timing.h ->@System
2349 Memory.h ->@System
2350 ModuleInfo.h ->@System
2351 Debugger.h ->@System
2352
2353 - src/static/ Move all files to LIB - static is no longer needed at all!
2354
2355 - src/Lib
2356 Bootstrap.cpp Add entry point to create multiple Application Managers
2357 DataObject.cpp Remove warning on linux in acceptInspector()
2358 ConversionSvc.cpp Bug-Fix: if on creating persistent objects no converter was
2359 found success (!!) was returned. No correctly returns error.
2360
2361 System.cpp ->@System
2362 Debugger.cpp ->@System
2363 Memory.cpp ->@System
2364 Timing.cpp ->@System
2365 ModuleInfo.cpp ->@System
2366 Win32PsApi.h ->@System
2367 ProcessDescriptor.h ->@System
2368 ProcessDescriptor.cpp ->@System
2369
2370 -@System:
2371 Major code reshuffeling.
2372 - Static class was changed to namespace. This will make it much simpler to
2373 extend the functionality without actually having the default header System.h.
2374 System.h containes the declarations of all functions in a backwards-compatible way.
2375 - All other functionality was factorized out:
2376 Memory.h/cpp Info about memory consumption
2377 Timing.h/cpp Info about time consumption
2378 ModuleInfo.h/cpp Info about running modules
2379 Debugger.h/cpp Invoke debugger from running program (NT only)
2380 ProcessDescriptor.h/cpp **Internal** access to process specific information
2381 + Win32Api.h as it is exported by Linux/NT. This header is PURELY internal
2382 and should never be included directly.
2383
2384 ! 20010313 Pere Mato
2385 - Moved files ISolid.h, IPVolume.h, ILVolume.h, IDetectorElement.h, IGeometryInfo.h
2386 ITransportSvc.h to the DesDesc package. Forward links to the new position have been
2387 left in place.
2388
2389 ! 20010312 Markus Frank
2390 Changes to the job options processing
2391 - implemented PropertyMgr::setProperty( const std::string& n, const std::string& v )
2392 - Properly implement the macro QUOTEDELEMENTINPUT.
2393 CTDay ir right when he quotes that this is "HACK Big Time". It's also undebuggable.
2394
2395 ! 20010305 Pere Mato
2396 - Corrected bug reported by O. Callot that the OutputLevel was not working
2397 for Algorithms.
2398
2399 ! 20010228 David Quarrie
2400 - ARM page 210 tweaks to IToolFactory.h to avoid compiler warnings. Add
2401 DECLARE_ALGTOOL(X) and DECLARE_TOOL(X) macros to DeclareFactoryEntries.h
2402
2403 ! 20010226 Pere Mato
2404 - Small changes to make it compile in NT
2405
2406 ! 20010223 David Quarrie
2407 - Changes for Solaris support, which is incomplete. The package compiles on
2408 this platform, but some of the required template specialization "hacks" are
2409 not fully understood and need to be revisited. Run-time debugging hasn't
2410 yet begun.
2411 - Changes to avoid compiler warning messages. These are all due to function
2412 overloading across class hierarchies. The policy is described on Page 210
2413 of the ARM. It's not yet clear whether these are compatible with the Visual
2414 C++ compiler on NT. Modified files:
2415 GenericLink.h IAlgFactory.h IAuditorFactory.h IDataDirectory.h
2416 IFactory.h IHistogramSvc.h ISvcFactory.h ObjectContainerBase.h
2417 ObjectFactory.h ObjectList.h ObjectVector.h
2418 - Changes to support the scripting service. SimpleProperties now support
2419 callback handlers for both reading and updating. The IProperty interface
2420 has been extended to allow more flexible setting & retrieving of properties
2421 from streams and strings. Modified files:
2422 IProperty.h Property PropertyMgr PropertyVerifier
2423 - Add support for explicitly specifying the CLID and name of the root
2424 object in the transient event store (defaults are CLID_Event and "/Event").
2425 Modified files:
2426 DataSvc IDataManagerSvc
2427 - Other details:
2428 AlgTool Algorithm Auditor Service
2429 Support new IProperty interface. Use function template for
2430 declareProperty. Support deferred service instantiation in service
2431 accessors.
2432 FactoryTable.h
2433 Fix compiler warning because of missing comment characters
2434 System.cpp
2435 Minor tweak to avoid SOlaris compiler warning.
2436
2437 ! 20010223 Pere Mato
2438 - Changes to deal with the template specialization in the new version of GNU c++ compiler
2439
2440 ! 20010208 Pere Mato
2441 - Modified System.cpp. Added suffix in the DLL name when loading
2442
2443 ! 20000125 Pere Mato
2444 - Changed CLID& by CLID in Converter base class to avoid weird problems with some
2445 converters in Linux.
2446 - Corrected bug in Algorithm::service()
2447 - In Bootstrap.h, added static method Gaudi::svcLocator() to get the ISvcLocator*
2448 in isolation.
2449 - In ISvcLocation.h added a templated method ISvcLocator::service() to facilitate
2450 retrival of services.
2451
2452 ! 20010122 - GaudiKernel v8r1 and head revision (Flr)
2453 GaudiKernel/IGiGa*.h - update include file path to new schema.
2454
2455 ! 20000119 Pere Mato
2456 <<< Changes are not compatible with existing packages. Everything should be re-built >>>>
2457 - Eliminated static library GaudiBase.
2458 - Eliminated the constant data files IInterface.cpp and Kernel.cpp
2459 - Renamed class IID to InterfaceID
2460 - Added de definition of the InterfaceID (IID) constants in each interface Ixxxx.h file
2461 - Introduced new file ClassID.h which constains some the definition of CLID and some basic
2462 constants.
2463 - Changes asked by Vanya for the classes: ILVolume, IPVolume, ISolid, IGeometryInfo,
2464 IDetectorElement
2465
2466 ! 20001215 Pere Mato
2467 - Renamed Time::Time class by TimePoint class
2468 - The constants Time::time_absolutepast and Time::time_absolutefutre are now defined
2469 in the TimePoint.h. The namespace Time has been removed.
2470
2471 ! 20001213 Pere Mato
2472 - Cleanup and adaptation to the new way of documenting the code based
2473 on Doxygen (JavaDoc style)
2474 - Incorparated changes done by D.Quarrie in the old LHCb repository
2475
2476 - Add isInitialized() and seInitialized() member functions and handling to prevent
2477 multiple initialization attempts on the same Algorithm. This protection is needed
2478 when scripting is in use.
2479
2480 ! 20001119 - David Quarrie
2481 - Implemented a new service called ScriptingSvc. This is a service (with an
2482 initial implementation based on Python), which provides a scripting capability
2483 at run-time as opposed to the JobOptionsSvc which is limited to run startup
2484 time. This service has entailed some changes to the Gaudi kernel classes, which
2485 are mainly extensions to existing interfaces, but with some backwards-compatible
2486 rework of several of the Property classes.
2487 + Added new interface: IScriptingSvc
2488
2489 - Auditor/Auditor
2490 Same changes as for Algorithm.
2491
2492 - Interfaces/IServiceLocator
2493 Add list<IService*> getServices() for symmetry with the IAlgManager.
2494
2495 - JobOptionsSvc
2496 A major rework of the Property class hierarchy to better support the scripting
2497 interface. For the most part the changes are backwards compatible, with the
2498 exception that bounds checking involves use of a verifier(). Note that the
2499 PropertyRef.cpp & .h files are obsolete since that class is now typedef'd.
2500 The PropertyList class for nested properties is not yet functional. Both of
2501 these classes have been retained but bypassed in the build for now.
2502
2503 - Kernel/Service
2504 Replace overloaded declareProperty function by function template.
2505 Add PropertyMgr* accessor
2506
2507 - ApplicationMgr/AppMgrUI
2508 Add AppMgrUI class as intermediate class between IAppMgrUI and
2509 ApplicationMgr. This simplifies the scripting interface.
2510
2511
2512 ! 20001204 Pere Mato
2513 Moved in ObjectVector<T> and ObjectList<T> from the LHCbEvent package.
2514 Removed iterator from ObjectContainerBase class
2515
2516 ! 20001122 Pere Mato
2517 Various changes needed for CMT v1r7 and Nmake
2518
2519 ! 20001128 GaudiKernel v8
2520 move *.cpp into src/static/ and src/Lib/
2521 move *.h, *.icpp and GaudiFactory.cpp into GaudiKernel/
2522 update #include statements
2523
2524 !=============================================================================
2525 ! 20001018 - Pere Mato
2526 - Implemented a new service called IncidentSvc. This allows to communicate
2527 asynchronously things that happen in the system. The ApplicationMgr uses it to inform
2528 when begining and ending the processing of one physics event.
2529 + Added new interfaces related to the new service: IIncidentSvc.h, IIncidentListener.h
2530 + Added new base class: Incident.h
2531
2532 - Changed IHistogramSvc to be consistent with the (HTL) histogram implementation using
2533 double for defining histogram edges instead of float. Code using histograms needs to
2534 be re-compiled!!. (CT0000000035488)
2535
2536 ! =====================================================================
2537 ! 20001310 - Markus Frank
2538 Changes files:
2539 DataSvc/DataSvc.cpp
2540 DataSvc/DataSvc.h
2541 PersistencySvc/ConversionSvc.cpp;
2542 System/System.cpp;
2543
2544 New Interfaces:
2545 Interfaces/IDataSourceMgr.h;
2546 Interfaces/IInspectable.h;
2547 Interfaces/IInspector.h;
2548 Interfaces/ISelectStatement.h;
2549
2550 Changed interfaces:
2551 Interfaces/INTuple.h Extension for N-tuples to accept pre-selections
2552 Interfaces/IPersistencySvc.h;
2553
2554 Kernel/DataObject.cpp; Extended to make dataobject inspectable
2555 Kernel/DataObject.h; dto.
2556
2557 // New files:
2558 Kernel/DataTypeInfo.cpp; allow access to primitive type information
2559 Kernel/DataTypeInfo.h; dto.
2560 Kernel/SelectStatement.h; base calss for selct statements (e.g. for N-tuples)
2561 Kernel/Tokenizer.cpp; small parser for qualified strings of type: ITEM='value'
2562 Kernel/Tokenizer.h; dto.
2563
2564 Kernel/GenericAddress.h; Fix bug when returning object name from datadirectory
2565 Kernel/IInterface.cpp; Added Interface and storage types
2566
2567 Kernel/ObjectFactory.h;
2568 Kernel/StreamBuffer.h;
2569 MessageSvc/MsgStream.h;
2570
2571 NtupleSvc/NTuple.h; Extension for N-tuples to accept pre-selections
2572 NTupleSvc/NTupleImplementation.cpp; dto.
2573 NTupleSvc/NTupleImplementation.h; dto.
2574 NTupleSvc/NTupleItems.cpp; dto.
2575 NTupleSvc/NTupleItems.h; dto.
2576 NTupleSvc/Selector.cpp; Base class for user preselectors
2577 NTupleSvc/Selector.h; dto.
2578
2579 !=======================================================================================
2580 ! 20001009 - Vanya Belyaev
2581 (1) Gaudi/Kernel/IInterface.cpp - added definition of IID_IGiGaCnvSvc
2582 and 2 definitions of pseudy-technology types, needed for GiGa
2583 (2) remove obsolete method from IGiGaSvc interface, the functionality of these
2584 method is replaced by GiGa Conversion Sercice
2585
2586 !========================================================================================
2587 ! 20001009 - David Quarrie, Pere Mato
2588 - Added the support for "Auditors". The following existing files has been changed:
2589 Algorithm.h (.cpp), ISvcLocator.h, IInterface.cpp
2590 New interfaces: IAuditor.h, IAuditorFactory.h
2591 New classes: Auditor.h (.cpp), AudFactory.h
2592
2593 ! ======================================================================================
2594 ! 20000731 - Vanya Belyaev
2595 - Gaudi/DetectorDataSvc/DetectorElement.h bug fix
2596 (1) remove empty default constructor (incorrect initialization)
2597 (2) now default construction is not empty!!!
2598
2599 ! ======================================================================================
2600 ! 20000720 - Gaudi v7
2601
2602 ! 20000717 - Radovan Chytracek
2603 - Fixed inheritance order for DetectorElement class + class ID getters
2604
2605 ! 20000710 - Gloria Corti
2606 - Introduce the interfaces and base classes for the ToolSvc
2607 new files in Interfaces: IAlgTool.h, IToolFactory.h, IToolSvc.h
2608 new files in Kernel: AlgTool.h, AlgTool.cpp, ToolFactory.h
2609 modified IInterface.cpp (in Kernel) to add the IID for IAlgTool,IToolFactory and
2610 IToolSvc
2611 - requirements: introduce AlgTool.cpp in Gaudilib
2612 - Change obsolete comment in IParticlePropertySvc
2613
2614 ! 20000709 - Markus Frank
2615 - Bug fixes for release
2616 - Randm number wrapper as described in the Sotfware week
2617
2618 ! 20000704 - Pavel Binko
2619 - Interfaces - the interfaces IAxis, IHistogram and IHistogramSvc
2620 have been enhanced by function :
2621 - returning all edges in a given axis
2622 - setting the histogram title
2623 - allowing to register, unregister, retrieve and find
2624 a histogram in the transient histogram data store
2625
2626 ! 20000704 - Marco Cattaneo
2627 - requirements : use LHCbCMT v3r1 (to pick up EXTLIB v2r1)
2628
2629 ! 20000630 - Pere Mato
2630 - Removed implementations of initialize(), finalize() and execute()
2631 in Algorithm base class as a response to the e-discussion concerning
2632 the spelling of such methods.
2633
2634 ! 20000622 - Vanya Belyaev
2635 - System.cpp : introduce "more correct" coefficient between time clocks and seconds :-))
2636
2637 ! 20000622 - Vanya Belyaev
2638 - System.cpp : introduce "correct" coefficient between time clocks and seconds
2639
2640
2641 ! 20000621 - Marco Cattaneo
2642 - requirements: insert underscore in name of Gaudi_shlibflags macro,
2643 to please CMT v1r5
2644
2645 ! 20000617 - Vanya Belyaev
2646 - Bug fix in Gaudi/System/System.cpp file in method char** System::argv()
2647
2648 ! 20000616 - Pere Mato
2649 - Changed Algorithm base class. Added an error counter and max error
2650 limit to allow continuation of trhe program. Default is one.
2651 Added accessor to RndmGenSvc from base class.
2652
2653 ! 20000615 - (Pere Mato, David Quarrie)
2654 - Changed interface IAlgorithm and base class Algorithm to support
2655 Algorithm sequences (Babar style). Added some more algorithm flags
2656 (enabled, executed, fileter passed, ...) in base class. Added method
2657 reasetExecuted() in the IAlgorithm interface.
2658 - Changed IProperty interface to support property browsing. Added the
2659 following methods:
2660 const Property& getProperty( const std::string& name ) const = 0;
2661 const std::vector<Property*>& getProperties( ) const = 0;
2662 - Changed base class Property to introduce the possibility of asking
2663 to a property for its type.
2664 - Introduced new classes: PropertyList, CommandProperty
2665 A PropertyList is a Property that contains an array of other properties
2666 A CommandProperty has a callback function associated that is called
2667 when a new value of the property is set.
2668 The PropertyList can handle property nesting. The name convention is
2669 that names are separated by ":".
2670 - Changed PropertyMgr to base its implementation with PropertyList
2671
2672 ! 20000609 - (Markus Frank)
2673 - Main improvement:
2674 Implementation of the public part of the random number generator package.
2675
2676 Besides this I **had** to do some code cleanup:
2677 - Algorithm.h: Removed Algorithm::create(...)
2678 Function was declared but never implemented.
2679 - IChronoStatSvc.h: "long double" is not really a ansi data type.
2680 Changed to double.
2681 - IDataManagerSvc.h
2682 IID_IDataManagerSvc_NO_ERROR = SUCCESS becomes
2683 IID_IDataManagerSvc_NO_ERROR = IInterface::SUCCESS
2684 - ITime.h: use longlong data type from kernel.h instead
2685 of __int64 and "long long" + #ifdef.
2686 - PropertyRef.h: Simple typedefs of simple properties.
2687 e.g. typedef SimplePropertyRef<int> IntegerPropertyRef;
2688 just as it is done in "Property.h".
2689 - DataObject.cpp: Actually implement 2 member functions which
2690 were always in the header, but never made it to code.
2691 - Kernel.h: If neither Linux nor WIN32 is the platform,
2692 fix "longlong" to a 64 bit structure capable of holding
2693 the variable.
2694 - StreamBuffer.h: Clean up internal classes ContainedLink and
2695 IdentifiedLink, get rid of macros
2696 - Message.h: There is no such class "ostream". Use #include <iostream> instead;
2697 - MsgStream.h: Added copy constructor
2698 - NTuple.h: Get rid of a few macros and write the proper code instead.
2699 - Get rid of NTupleFile.h and NTupleDirectory.h - should never have
2700 been used at all. The classes were always defined in NTuple.h!
2701
2702
2703 ! 20000525
2704
2705 - Fixed template instantiation in Ntuple::Item (For version 6 of Visual C++
2706 - Corrected "OuputLevel" bug in Service.cpp. This would not take into account
2707 a change in the OuputLevel for services.
2708
2709 ! 20000523
2710
2711 Markus Frank Make System.cpp compile under VC 6.0 which opposite to VC 5.0
2712 defines STRICT by default.
2713
2714 ! 20000410 - Gaudi v6
2715
2716 New EventSelector Interface 06/04/2000
2717 ----------------------------------------
2718 Gonzalo Gracia Abril: IEvtSelector.h modified
2719
2720 Gaudi splited into Gaudi and GaudiSvc
2721 -------------------------------------
2722 - Nearly all services moved into the new package GaudiSvc
2723 - Gaudi remains to contain only interfaces, base classes,
2724 DataSvc and ConversionSvc
2725 - Gaudi uses the new package LHCbCMT
2726 (Pavel Binko)
2727
2728 Small correction in Service.cpp/h
2729 ---------------------------------
2730 - Added const function messageService() which was
2731 necessary to get a MsgStream in any constant function
2732 (Gonzalo Gracia Abril)
2733
2734 New Functionality
2735 -----------------
2736 - New histogram 1D and 2D interfaces, conforming the AIDA interfaces.
2737 - HistogramSvc changed - the LHCb histogram implementation uses now
2738 the HTL implementation of histograms through the AIDA interfaces.
2739 - HistogramSvc and NTupleSvc changed in order to allow their moving
2740 to the new package GaudiSvc.
2741
2742 ! 19991116 - Gaudi v5
2743
2744 New Functionality
2745 -----------------
2746 - Added a output level threshold associated to the clients (services &
2747 algotihms) of the MessageSvc overriding the global threshold.
2748 - New JobOptions service implementation with a new parser.
2749 - Support for N-tuples.
2750 - Support for dynamic library loading
2751
2752 Improvemenets
2753 -------------
2754 - Added interfaces for detector description
2755 - Improved ParticleProperty service. Added index by LundID.
2756 - Modified ApplicationManager to acommonatye other changes
2757
2758 ! 19991018 - Gaudi v4r1
2759
2760 New Funtionality
2761 ----------------
2762 - Data service and conversion services changed, information about
2763 storage types and class IDs added
2764 - HTL histograms supported
2765 + New HTL interfaces are the Interfaces directory,
2766 their syntax does not differ from the native HTL syntax
2767 + Compilation with the HTL library nedds the flag HTL_USE_STD
2768
2769 Changes done by Markus Frank, Pere Mato, Pavel Binko
2770
2771
2772 ! 19990812
2773
2774 New Funtionality
2775 ----------------
2776 - Support for dynamic link libraries (shareable libraries):
2777 + Added interface IClassManager with a method called loadModule()
2778 + Added interface IFactory as a base interface for all factory interfaces
2779 + Added a FactoryTable static class to support DLLs
2780 + Modified implemtation of AlgFactory and SvcFactory to use new interfaces
2781 + Added new property ("DLLs") in ApplicationMgr to set a list of DLL to be loaded at run time
2782 + Temporary compilation macro to use Gaudi with DDLs (GAUDI_USE_DLL)
2783
2784 Improvements
2785 ------------
2786 - Removed "std" from the names of standard services instances.
2787
2788 ! ========================================================================
2789
2790 ! 19990618 - Gaudi v4
2791
2792 Changes done by Markus Frank, Marco Cattaneo, Paul Maley, Pere Mato
2793 Rado Chytracek, Iain Last, Pavel Binko among others
2794
2795 New Functionality
2796 -----------------
2797 - Support for Detector Descriptions:
2798 New classes: DetDataSvc, DetectorElement
2799 New Interfaces: IgeometryInfo
2800 - Particle Property service:
2801 New classes: ParticleProperty, ParticlePropertySvc
2802 New interfaces: IPartoplePropertySvc
2803
2804 Improvements
2805 ------------
2806 - Kernel:
2807 Added classes: GenericAddress, GenericLink
2808 Many changes in base classes to support new functionality.
2809 - Algorithm:
2810 Changed initialization methods (sysInitialize(), sysFinalize())
2811 Added assessors to standards services
2812 - ApplicationMgr:
2813 Changed to support new services (DetDataSvc, ParticlePropertiesSvc,...)
2814 - DataSvc:
2815 Improvements in interfaces. Changed the way to name a DataObject in the store.
2816 Added classes: SmartDataLocator, SmartDataObjectPtr
2817 - MessageSvc:
2818 Added classes GaudiErrorHandler and GaudiNagHandler to
2819 interface NAG C error handling to Gaudi/MessageSvc.
2820 In order to avoid compile time dependency of Gaudi on <nag.h>,
2821 GaudiNagHandler is defined inline. Applications using this
2822 facility must #include "Gaudi/MessageSvc/GaudiNagHandler.h".
2823 Details of usage can be found at:
2824 http://lhcb.cern.ch/~cattanem/LHCb/GaudiNagC.html
2825 - PersistencySvc:
2826 Changed to support two or more conversion services. This was needed to
2827 support the Root conversion service.
2828 Added classes OutputStream, OutputStreamAgent
2829
Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems |
This page was automatically generated by the
LXR engine.
|
|