The LHCB Project

LHCB v40r7

The LHCB v40r7 Full Release Notes

2018-08-22 LHCb v40r7

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

<

p> This version is released on 2016-patches branch.

Built relative to LHCb v40r6, with the following changes:

Bug fixes

Code modernisations and cleanups

Changes to tests

2018-05-26 LHCb v40r6

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

<

p> This version is released on 2016-patches branch.

Built relative to LHCb v40r5, with the following changes:

Enhancements

Bug fixes

Code modernisations and cleanups

Changes to tests

2017-11-21 LHCb v40r5

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

<

p> This version is released on 2016-patches branch.

Change to release notes format

On this branch, the file LHCbSys/doc/release.notes is frozen
Instead, there will be a file per release in the new ReleaseNotes directory. e.g. this file is called ReleaseNotes/v40r5.md

Patches for Stripping28 that were previously in DaVinci v41r4p3

[MR !890] Move to LHCb the patches previously in DaVinci/2016-patches

Bug fixes

[MR !864] Fix for LCG dictionary warning due to Particle range
[MR !855] Stop Turbo-only Calo objects being used in TISTOS decisions
[MR !954] Link DAQ/RawEvent to Trigger/RawEvent for 2015 and 2016 Turbo data
Fixes LHCBPS-1721




=== old style release notes ===

!-----------------------------------------------------------------------------
! Package     : LHCbSys
! Responsible : Marco Cattaneo
! Purpose     : LHCb base classes and event model
!-----------------------------------------------------------------------------

BEWARE:

2017-01-20 LHCbSys v40r4

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

This version is released on 2016-patches branch.

New or changed functionalities

[MR !523] Backport Kernel/LHCbMath from master to 2016-patches
Includes all LHCbMath patches from LHCb v42r0, v41r1, v41r0
Replace auto in lambda arguments (only C++14) with actual types
[MR !313] Add ssh capabilities to the FileStagerSvc
While not useful on the grid, as an SSH agent is needed, staging files over ssh from another machine when running an interactive job can be rather useful.
[MR !170] Update default database tags
DQFLAGS, 2016: dq-20160621-5

Persistency fixes

[MR !254] Add Deuteron to Turbo HltSelReports
Slightly non-trivial as the ReportConvertTool is a bit different in the master. See LHCBPS-1653
[MR !150] Fix calculation of checksums for some packed objects
Some of the packed object structs had padding so checksums were undefined.
Added custom functions for these (going over all members)
Added a simple compile-time protection to fail compilation next time packed objects are modified.
Compute checksums per location and improve debug printout

Code cleanups

[MR !424] HltRoutingBitsWriter.cpp: Fix compilation warning in assert
[MR !185] HltGenConfig.cpp: Only print overrule warning the first time.
[MR !151] Added .gitignore and .gitattributes
See LHCBPS-1599

Changes to tests

[MR !284] Remove obsolete tests
Remove obsolete conftest, was testing SVNProjecDeps functionality of GaudiConf/python/GaudiConf/QMTest/ConfigurablesTest.py
Remove obsolete configurables test, was checking integrity of SVN project recursive checkout
[MR !258] Update HltDAQ Turcal Routing Bits test
An option has been added to the test script to limit the number of event the routing bits tests run on.
The test for the turcal stream has been limited to 2000 events.

2016-07-20 LHCbSys v40r3

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

This version is released on 2016-patches branch.

Persistency

[MR !87] Add TurboPrescaler algorithm for use in Tesla
See LHCBPS-1552. Same as MR !114 on master branch
[MR !93 !80] EventPacker, HltDAQ: Prevent Wrapping in Track Packing
Update the packed indices in PackedTrack from short int to int, to fix the wrapping issue for future data.
Improvements to the version checking. Make sure (almost) all packers carry out a min and max version check, to make sure the data they are packing or unpacking is in the supported version range. Future proofsthe code against future changes.
Implement backward compatibility for reading v4 PackedTrack objects.
Corresponds to MR !77 on master branch

LHCbMath

[MR !96] Fix Coverity warnings in LHCbMath/Functions.cpp
Same as MR !95 on master branch
[MR !94] Set of minor fixes and tiny improvement for LHCbMath
Minor fix in constructor of GammaDist: initial parameter setting is incorrect. It is autocorrected as soon as parameters are changed. but incorrect stuff can appear during e.g. visualisation. Now it is fixed.
rename mediane -> median, Mediane -> Median
add quantile functions for GammaDist, LogGammaDist and Log10GammaDist
fix some typos in comments
Same as MR !89 on master branch
[MR !88] several fixes for LHCbMath
Fix very sad and stupid bug in the normalization of Voigt function
provide fast approximation for Voigt fuction
reshuffle dependency between header files to minimize coupling with GSL headers
optimise/speedup several important functions
add more coherence between C++ and python in math functions
add several new functions
[MR !86] Some improvement and fixes for Kernel/LHCbMath
new function Gaudi::Math::Swanson S-wave cusp
tiny reshuffling of code between Functions.cpp and MoreFunctions.cpp
expose complex versions of erf, erfc, erfcx and faddeeva_w
LHCbMath.Types: provide operations for std.complex('double')

HLT and Online

[MR !84] Fix memory leak in HltPackedDataWriter
The owner ship needs to be transferred to RawEvent otherwise the memory is not cleaned up.
See LHCBPS-1548. Same as MR !85 on master branch
[MR !109] Update tests in HltDAQ and HltServices to use the TestFileDB to get their input files.
Same as MR !110 on master branch

L0

[MR !82] Fix L0DUReportMonitoring issue in case of an un-reported condition

Herschel

[MR !72] LoKiCore/TES/cpp: Update to HRCSUMADC return value.
If no digits are found, return 99999 instead of -1 since this will automatically fail a cut "HRCSUMADC < [any reasonable value]" and won't require a second check that "HRCSUMADC > 0" as an HLT line requirement.

Calo

[MR !74] DeCalorimeter: reduce verbosity of plane() method when the requested position is outside the active volume
[MR !148] CaloDAQ: Turn off calo counters
Temporarily comment out counters, to speed up production use in HLT. See LHCBPS-1620

2016-05-30 LHCbSys v40r2

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

This version is released on 2016-patches branch.

Geometry and Conditions

[MR 58] Update default LHCBCOND tag for 2016 to cond-20160522
(DDDB/Configuration.py)

Event Model

TrackEvent
Fixed another bug in State::linearTransportTo
RecEvent:
Added methods to PrimaryVertex to update tukey weights and remove tracks by ID
Added typedef for Range

Persistency

[MR 66] Make TurboConf work with 2015 Turbo++ (GaudiConf/TurboConf.py)
[MR 48] Changes for PersistReco:
Separate out Turbo configuration from DstConf into TurboConf.
PersistReco = True enables unpacking of PR data and linking to the proper PVs
Removed executable permissions from modules
Fix offline location for neutrals for persist reco
Export TurboConf configurable and add missing import
(GaudiConf/{DigiConf.py, DstConf.py, TurboConf.py}, GaudiConf/CMakeLists.txt
[MR 32] Improvements in persist reco
Add support for persisting packed RecVertex containers in the raw event.
Decouple links from locations of non-packed objects in the Hlt (needed for the next point).
Add a central place (`GaudiConf.PersistRecoConf`) where persist reco packing (locations, (un)packers) is configured. `DAQSys.Decoder.py` and `HltConf.HltPersistReco.py` now use the latter rather than hard code locations, etc.
(Changes in DAQSys, GaudiConf, HltDAQ, EventPacker)
[MR 34] Add explicit dependency on EventPacker
(GaudiConf/CMakeLists.txt)
DAQSys
Add decoder for packed objects (HltPackedDataDecoder)
Update daqsys.decoder-compare qmtest by adding the packed object locations
GaudiConf
DstConf: Add persist reco unpackers
HltDAQ:
Important changes to packed object persistence in raw banks
Improve failure error message in HltPackedDataWriter

LHCbMath

[MR 50] Fix issue with normalization for several 2D-models
(LHCbMath/Bernstein.h, LHCbMath/src/Bernstein.cpp, LHCbMath/src/Functions.cpp)
[MR 49] Fix interpolation
(LHCbMath/src/HistoInterpolation.cpp)
[MR 47] Fix normalization of Expo2DPolSym function
(LHCbMath/Functions.h, LHCbMath/src/Bernstein.cpp, LHCbMath/src/Functions.cpp)
[MR 40] Add Sech-function: hyperbolic secant (inverse cosh) distribution
(LHCbMath/Functions.h, LHCbMath/dict/LHCbMathDict.xml, LHCbMath/src/Functions.cpp)
[MR 38] Updates to deriv.py:
add Width/width functions, allowing easy evaluation of full width at half maximum for functons (LHCbMath/deriv.py)

LoKi

[MR 46] LoKi fixes
Fix hash issue
Extend "children" function for better match between C++ and python
(Multiple files in LoKiGen and LoKiMC)
[MR 43] LoKiGen: add missing hex_id function
(LoKiGen/src/GenParticles.cpp)

HLT and Online

[MR 52]
Close CDB file at an incident and at process stop (HltServices/src/ConfigCDBAccessSvc.{cpp,h})
Add a test for closing of the CDB file on an incident and on application stop (HltServices/tests/qmtest/close_cdb_file.qmt)
Update get_tck script with an option to get the HLT1 TCK from ODIN instead of the DecReports (HltDAQ/tests/options/get_tck.py)
[MR 53] Add HltEvaluator
Split HltDAQ into linker and module library
HltEvaluator as a base class
HltRoutingBitsWriter now inherits from HltEvaluator
Add tests for routing bit reproducibility with the new HltRoutingBitsWriter.
(Multiple files in HltDAQ)
[MR 33] Changes to allow PID-less TCK
Check on technical bits of TCK removed from Kernel/HltInterfaces/src/ConfigTreeNodeAlias.cpp (moved to TCKsh function)
[MR 59] Add OnlineMode option to LHCbApp and DDDBConf configurables for online use
Used to switch off print outs from the configurables when used at the pit (DDDB/Configuration.py, LHCbAlgs/Configuration.py).
[MR 31] Fix CondDB configuration in case of UseDBSnapshot=True.
(DetCond/Configuration.py)
HltServices
Fix HltANNSvc when allowUndefined = false

L0

L0DU:
Minor update in test pattern options
Re-add L0Pattern algorithm
Update pattern production for 2016 test
Fix missing reset for emulated L0DU processor data

Herschel

[MR 67] HC decoder returns StatusCode::SUCCESS instead of FAILURE if CondDB location is not found
Allows testing with MC (SIMCOND doesn't have Herschel Conditions yet) (HCDAQ/src/HCRawBankDecoderHlt.cpp)
[MR 55] Access to Herschel sum-of-station-ADC information for use in HLT1
Added new Herschel Raw Bank decoder class to produce ADC sums per station on TES and related functor
Added LoKi functor HrcSumAdc to access Herschel digits.
(HCDAQ/src/HCRawBankDecoderHlt.{cpp,h}, LoKiCore/LoKi/TES.h, LoKiCore/src/TES.cpp, LoKiNumbers/functions.py)

Outer Tracker

OTDAQ
Adding LHCb::RawEventLocation::Tracker to comply with RawEvent format >4.0

Rich

Remove unneccesary data members from TabulatedFunction1D, which are replicated as part of the GSL interpolators. Reduces their memory footprint.
Reduce memory footprint of TabulateProperty1D by making some data members static.
Add range checking and subsequent error reporting to TabulatedFunction1D and TabuldateProperty1D.
Add an anode radius check to DeRichHPD::magnifyToGlobalMagnetON to avoid out of range interpolator calls.

Velo

[MR 54], [MR 60] Added new interface IVeloCCEConfigTool.h for VELO CCE scan configuration
(LHCbKernel/Kernel/IVeloCCEConfigTool.h, LHCbKernel/dict/LHCbKernelDict.h, LHCbKernel/xml/lcgdict/lcg_selection.xml)

2016-03-23 LHCbSys v40r1

This version uses Gaudi v27r1 and LCG_84 with ROOT 6.06.02.

- Packages modified: Det/DDDB v1r84, Det/DetCond v12r47, Det/DetDesc v19r1,
    Det/DetDescChecks v5r13, Det/DetDescSvc v4r1, Det/FTDet v2r13,
    Det/RichDet v17r7, Det/STDet v5r1, Det/VeloDet v14r1, Det/VPDet v3r5,
    Event/DAQEvent v9r22, Event/EventPacker v5r10, Event/L0Event v19r10,
    Event/RecEvent v2r57, Event/RecreatePIDTools v1r9, Event/TrackEvent v6r6,
    Ex/DetCondExample v11r16, Ex/IOExample v4r18, FT/FTDAQ v1r8, GaudiConf v19r17,
    Hlt/HltDAQ v4r26, Hlt/HltServices v2r14, Kernel/FSRAlgs v2r1,
    Kernel/HltInterfaces v6r6, Kernel/LHCbAlgs v3r9, Kernel/LHCbKernel v16r1,
    Kernel/LHCbMath v3r62, L0/L0Calo v11r16, L0/L0DU v10r35, L0/L0Interfaces v2r4,
    L0/L0Muon v9r15, L0/ProcessorKernel v7r2, Muon/MuonDAQ v4r22, OT/OTDAQ v8r1,
    Phys/LoKiCore v11r30, Phys/LoKiGen v10r24, Phys/LoKiHlt v3r22,
    Phys/LoKiMC v10r22, Rich/RichKernel v7r63, Si/SiDAQ v2r4, ST/STDAQ v4r9,
    Velo/VeloDAQ v6r13, VP/VPDAQ v2r8

- In LHCbSys/CMakeLists.txt, L0/L0DU v10r35
  . Change L0TCK dependency to v5r*

- In Det/DDDB v1r84
  . Do not set default tag for LHCBCOND, CALIBOFF and DQFLAGS partitions in
    case of Simulation
  . Remove MC09 default tags

- In Det/DetCond v12r47
  . Remove configuration of environment variables meant to setup access to the
    LHCb online oracle instance. This should be done online as part of the
    environment.

- In Det/DetDescChecks v5r13
  . Add loaddddb2016 test
  . Remove obsolete loaddddb-mc09 test
  . Update checkoverlap, materialbudget, volumecheck tests to use "2015" DataType
    instead of MC09 

- In Det/FTDet v2r13
  . Optimized the temporary hack in DeFTDetector::findFibreMat

- In Det/RichDet v17r7
  . Extend the range of data passed to the magnification interpolators in
    DeRichHPD to avoid subsequent attempts to interpolate outside the valid
    range, which causes problems with GSL 2.x.
  . Improvements to DeRichBeamPipe:
    o Change the API to take a start and end point for the direction to be tested,
      rather than a point and direction.
    o Add a fast first check to the intersection methods to first test if the
      line in question is close enough to the beam pipe to then proceed to the
      full, slow, intersection check. Speeds up testForIntersection by ~40%,
      which leads to an O(2%) speed up in
      PhotonRecoUsingQuarticSoln::reconstructPhoton.
    o Implement the faster start/end point check, that allows for many photons to
      be rejected as not passing near the beampipe, before the conversion to local
      coordinates is required. In all saves further O(5%) on
      PhotonRecoUsingQuarticSoln::reconstructPhoton.
  . Add a new method to DeRichHPD to perform a fast line intersection with
    the HPD entrance window, modelled as a simple sphere. 
    Used by DeRichHPDPanel::PDWindowPoint as a new ray tracing mode.
  . Remove some legacy DC06 alignment methods from DeRich(1,2).
  . Update how the nominal RICH mirror parameters are determined to compute 
    them on the fly from the aligned individual mirror segments.

- In Det/VPDet v3r5
  . Remove getters for sensor iterators.
  . Replace hard-coded pixel pitch by corresponding variable. 
  . Remove unused function. Constify some arguments.

- In Event/DAQEvent v9r22
  . Update ODIN event type bits

- In Event/EventPacker v5r10
  . Add serialization functions to packed objects.
    To be used for persistence in the raw event.
  . Fix a typo in the PackedTrack unpacker check and protect divide by zero FPEs
  . Fix a bug in the unpacking of related info objects caused by too aggressive
    caching of information, that caused an attempt to access a container from a
    previous event, and thus a seg. fault, in some rare circumstances.
  . Add work around to the RichPID unpacking to deal with the change in the
    numerical value of the BelowThreshold enum, that means when old RichPID
    objects from before the additional of Deuteron are unpacked, the best
    particle ID field in the bitpacked word would would be wrongly set to
    Deuteron. Manually adjust this to Below Threshold in this case.
  . Update to support Deuteron in RichPID data objects.

- In Event/L0Event v19r10
  . L0ProcessorData         :  store ProcessorData for consecutive BX
  . L0DUElementaryData      :  store ElementaryData for consecutive BX and
                               improve the Compound data creation
  . L0DUElementaryCondition :  add data BX as attribute
  . L0DUConfig              :  adapt to change in L0DUElementaryData  
  . L0DUReport              :  dataDigit & dataValue getter-method per BX

- In Event/RecEvent v2r57
  . Update convertExtraInfo of a ProtoParticle to include ProbNNghost.
  . Update (from Ulrik Egede) to support Deuteron RICH PID type.
  . Add Deuteron threshold flags to RichPID.

- In Event/RecreatePIDTools v1r9
  . Add a check to RichPIDsFromProtoParticlesAlg to detect when old unpacked
    (Pre-Deuteron) have been read in that have inconsistent
    Deuteron/BelowThreshold information due to changes in the enum values,
    and to correct for it.
  . Update to support Deuteron RICH PID type.

- In Event/TrackEvent v6r6
  . Fix Track::deleteFromList in case a value not actually in the list is passed
  . Fix Track::removeFromLhcbIds in case an id is passed which is not actually 
    on the track
  . Track::addSortedToLHcbIDs: avoid redundant initial write to container

- In Ex/IOExample v4r18, Kernel/FSRAlgs v2r1
  . Update references and tests to follow Gaudi v27r1 

- In GaudiConf v19r17
  . SimConf: Add possibility to write Bls and Bcm MCHits
  . Add shared clusters and hypos to DstConf (not from persist reco).
  . DstConf: extend Run 2 support to all Run2 data types (2015,2016,2017,2018)
    Currently all years treated like 2015.
  . GaudiLink for PVs.
  . Normalise $LHCBRELEASE path in LHCbExclusions.py, to take into account also
    the cvmfs release area
  . Add merger and linker such that standard particles work when persisting reco.
  . Fix misconfiguration of Turbo persist reco unpackers.
  . Improved GaudiConf.QMTest.LHCbExclusions
    o small refactoring
    o excluded more messages
  . Made IOHelper debug output more stable

- In Hlt/HltDAQ v4r25, v4r25p1, v4r26
  . Implement packed object persistence in the raw event.
  . Version 9 of reports, includes ProbNNs.
  . Fix for CaloHypo positions.
  . Protection against missing calo hypo position.
  . Fixed compilation with CMT and Gaudi v27r0.
  . Remove error message when Hlt2MonSvc is not there
  . Port changes in development branch for Turbo reprocessing.

- In Hlt/HltServices v2r14
  . Implement Hlt2Mode in HltConfigSvc.
  . Register PackedObjectLocations major key in the HltANNSvc for PersistReco

- In Kernel/FSRAlgs v2r1
  . Normalized a bit test fsralgs.mergesmallfiles
    use standard stdout/ref comparison function

- In Kernel/HltInterfaces v6r6
  . Fix coverity warnings
  . Ported to the CMT configuration the workaround for Boost bug 11743.
    (unfortunately it cannot be made conditional to the version of Boost)
  . Do not use move semantics in TCK::set as it implies in some cases one more
    move than passing by const ref.

- In Kernel/LHCbAlgs v3r9
  . Add TESMerger, allows to merge HLT2 long and downstream unpacked locations.
  . Use Python options in FPEAuditor Doxygen documentation (LHCBPS-1495)
  . Add a debug message to ApplicationVersionFilter

- In Kernel/LHCbKernel v16r1
  . Extend the HPD handling modes in RichTraceMode with a new fast mode that
    models the entry window as a simple sphere. 
  . Add FastClusterContainer::emplace_back
  . Update to support Deuteron RICH PID type.

- In Kernel/LHCbMath v3r62
  . Various minor fixes
  . ValueWithError.h/.cpp, math_ve.py
    add few more functions to be coherent with cmath
    implement comparison criteria for ValueWithErrors 
  . add transverseKineticEnergy 
  . add atan2 
  . HistoInterpolation
    o add cubic interpolation 
    o add possibiilty to suppress special treatment of edges 
  . Change from float to double in EigenTypes.h to cure some small precision 
    problems in the RICH ray tracing.
  . deriv.py: add EvalVE helper class to evaluate 
    the generic function taking into account uncertainty in the argument
  . Import and cleanup a bit LorenzVectorWithError 
  . Add calculation of uncertanities for several quantities  
  . Modernize MD5 code
  . Improve the Eigen Plane3D constructor from a Gaudi Plane3D.

- In L0/L0DU v10r35
  . L0ProcessorDataDecoder : adapt to BX-mapped ProcessorData
  . L0DUConfigProvider     : parse BX from L0TCK configuration + adapt to change
                             in L0DUElementaryData/Condition base classes
  . L0DUEmulatorTool       : adapt to BX-mapped ProcessorData
                             (to be completed for L0Muons)
  . L0DUFromRawTool        : insert BX=-2 => +2 for Sum(Et) in the L0DU-produced
                             Processor data
  . (temporarily) remove L0Pattern

- In L0/L0Interfaces v2r4
  . IL0ProcessorDecoder : adapt to BX-mapped L0ProcessorData
  . add const to IL0DUFromRawTool methods where possible

- In L0/ProcessorKernel v7r2
  . Do not pass ostream by value (coverity warning)

- In Muon/MuonDAQ v4r22
  . IMuonTell1Config: prefer extends/DeclareInterfaceID, const-ify configTell1
  . modernize MuonTell1Config: follow interface change, use static const map 
    instead of invariant data member

- In OT/OTDAQ v8r1
  . Implemented caching of total number of hits.

- In Phys/LoKiCore v11r30
  . Restored workaround for ROOT-5721.
    Its removal was causing problems when importing LoKiGenMC.
  . Add methods to get TES location in python
  . Add a function into namespace LoKi::Print
  . Remove PyCintex
  . Add print-functions for smart-refs
  . Improve a bit AlgFunctors.cpp (at least fix the issue with
    the misinterpretation of  Algorithm::isInitialized
  . AlgFunctors.cpp
    Add a shortcut to bypass all the dirty machinery copied from GaudiSequencer
    if algorithm is already known for AlgManager

- In Phys/LoKiGen v10r24
  . GenExlusive.cpp
    fix a bug with matching of oscillating/non-oscillating patterns
  . Remove the explicit loading of HepMC reflex library 

- In Phys/LoKiHlt v3r22, Phys/LoKiCore v11r30
  . Do not insert "dir()" function in case of debug; this causes cache misses
    when using the generated C++ of functors.

- In Phys/LoKiMC v10r22
  . Add print functions to smart refs 

- In Rich/RichKernel v7r63
  . Update RichTrackSegment to set the default photon energy to the average
    for RICH1 and RICH2 gas radiators, instead of 0.
  . Small improvement to the flat mirror reflection method, to avoid an
    unneccesary dot product.
  . Add a new header file, RichRayTracingUtils.h, that contains some basic
    ray tracing methods, previous part of the ray tracing tools in RichTools.
  . Convert back to the ROOT based ray tracing to cure small precision
    differences between the Eigen based math library to the ROOT math library.
  . Add new method to IRichRayTracing to perform an intersection with a
    spherical shell.
  . Invalidate merged and removed clusters pointers after merger.
  . Throw exception if pixel cluster builder is initialised with a null pointer
    to the cluster object it should form.
  . Disable use of Pool allocated vectors for std::unique_ptr, as it 
    appears using the POOL allocators require a copy constructor for the 
    contained objects, which is explicitly deleted for std::unique_ptr.
  . Move the method that creates new clusters into the HPDPixelClusters class,
    such that it is more closely bind to the memory management and the 
    eventual (implicit) deletion of the objects.
  . Update RichPixelCluster classes to use std::unique_ptr for its internal
    memory management, in preference to doing it by hand with raw pointers.
  . Enforce memory management in the cluster object returned by 
    IPixelClusteringTool by returning an std::unique_ptr instead of a raw pointer.
  . Remove deleted typedef from dictionary generation.
  . Prefer std::sqrt( x*x + y*y ) to std::hypot(x,y) as it is (much) faster.
  . Remove (unused) smart pointer aliases from RichPixelCluster.h
  . Prefer aliases to typedefs.
  . Remove some old backwards compatibility typedefs.
  . Prefer std::unique_ptr to raw pointers.
  . Properly support only arithemtic and pointer types in RichHypoData, 
    using type traits.
  . Add move (experimental) semantics to RichTrackSegment.

- In ST/STDAQ v4r9
  . Change string comparison in RawBankToSTLiteCluster, such that it is not
    performed for each cluster.

- In Det/DetDesc v19r1, Det/DetDescSvc v4r1, Det/FTDet v2r13, Det/RichDet v17r7,
     Det/STDet v5r1, Det/VeloDet v14r1, Event/DAQEvent v9r22,
     Event/L0Event v19r10, Event/RecEvent v2r57, Event/TrackEvent v6r6,
     Ex/DetCondExample v11r16, FT/FTDAQ v1r8, Hlt/HltDAQ v4r25, 
     Hlt/HltServices v2r14, L0/L0Calo v11r16, L0/L0DU v10r35, L0/L0Muon v9r15,
     Muon/MuonDAQ v4r22, OT/OTDAQ v8r1, Si/SiDAQ v2r4, ST/STDAQ v4r9,
     Velo/VeloDAQ v6r13, VP/VPDAQ v2r8
  . Code modernisations. See package release notes for details 


2016-01-29 LHCbSys v40r0

This version uses Gaudi v27r0 and LCG_83 with ROOT 6.06.00.

- Packages modified: Associators/MCAssociators v1r6, Calo/CaloDAQ v4r39,
   Calo/CaloUtils v10r6, DAQ/DAQUtils v1r14, DAQ/MDF v3r44, Det/CaloDet v10r21,
   Det/DDDB v1r83, Det/DetCond v12r46, Det/DetDesc v19r0, Det/DetDescSvc v4r0,
   Det/FTDet v2r12, Det/Magnet v8r0, Det/MuonDet v10r0, Det/OTDet v9r0,
   Det/STDet v5r0, Det/VeloDet v14r0, Det/VPDet v3r4, Event/DAQEvent v9r21,
   Event/DigiEvent v4r5, Event/EventPacker v5r9, Event/FSREvent v1r2,
   Event/GenEvent v7r0, Event/LumiEvent v3r10, Event/MCEvent v3r4,
   Event/RecEvent v2r56, Event/TrackEvent v6r5, Ex/DetCondExample v11r15,
   GaudiConf v19r16, GaudiMTTools v1r3, GaudiObjDesc v11r24, Hlt/HltDAQ v4r24,
   Hlt/HltServices v2r13, Kernel/FSRAlgs v2r0, Kernel/HltInterfaces v6r5,
   Kernel/LHCbAlgs v3r8, Kernel/LHCbKernel v16r0, Kernel/LHCbMath v3r61,
   Kernel/PartProp v1r21, L0/L0Calo v11r15, L0/L0DU v10r34p1, Muon/MuonDAQ v4r21,
   Muon/MuonKernel v5r0, OT/OTDAQ v8r0, Phys/LoKiCore v11r29, Phys/LoKiGen v10r23,
   Phys/LoKiHlt v3r21, Phys/LoKiMC v10r21, Rich/RichDAQ v3r44, 
   Rich/RichKernel v7r62, Sim/SimComponents v4r0, ST/STDAQ v4r8,
   Tools/CondDBEntityResolver v5r10, Tools/CondDBUI v3r36, Tools/XmlTools v6r9,
   Tr/LHCbTrackInterfaces v2r3
 
- In Associators/MCAssociators v1r6, Calo/CaloDAQ v4r39, Calo/CaloUtils v10r6,
     Det/CaloDet v10r21, Det/DetDesc v19r0, Det/DetDescSvc v4r0,
     Det/MuonDet v10r0, Det/OTDet v9r0, Det/STDet v5r0, Det/VPDet v3r4,
     Event/EventPacker v5r9, Hlt/HltDAQ v4r23, Kernel/HltInterfaces v6r5,
     Kernel/LHCbAlgs v3r8, Kernel/LHCbKernel v16r0, Kernel/PartProp v1r21,
     OT/OTDAQ v8r0, Rich/RichDAQ v3r44, Rich/RichKernel v7r62, ST/STDAQ v4r8,
     Tools/CondDBEntityResolver v5r10, Tools/XmlTools v6r9
  . C++ code modernisations, see package release notes for details

- In Calo/CaloUtils v10r6
  . use std::endl instead of endmsg for new line inside a MsgStream

- In Calo/CaloUtils v10r6, Det/FTDet v2r12, Det/Magnet v8r0, L0/L0DU v10r34p1
  . Fix clang warnings

- In DAQ/DAQUtils v1r14, DAQ/MDF v3r44, Event/DAQEvent v9r21,
     Event/EventPacker v5r9, Event/FSREvent v1r2, Event/GenEvent v7r0,
     Event/LumiEvent v3r10, Event/MCEvent v3r4, Event/RecEvent v2r56,
     Ex/DetCondExample v11r15, GaudiObjDesc v11r24, Kernel/FSRAlgs v2r0,
     Kernel/LHCbAlgs v3r8, Kernel/LHCbKernel v16r0, L0/L0Calo v11r15,
     Rich/RichKernel v7r62, Sim/SimComponents v4r0, Tools/XmlTools v6r9
  . Removed (u)longlong typedef (see GAUDI-1125).

- In DAQ/MDF v3r44, Det/DetCond v12r46, Det/DetDesc v19r0, Det/DetDescSvc v4r0,
     Det/Magnet v8r0, Det/VPDet v3r4, Hlt/HltDAQ v4r23, Hlt/HltServices v2r13
  . Prefer SmartIF over raw pointer to interface

- In DAQ/MDF v3r44, Det/DetDescSvc v4r0, Det/Magnet v8r0, Kernel/LHCbAlgs v3r8,
     Kernel/PartProp v1r21, Tr/LHCbTrackInterfaces v2r3
  . Prefer extends over direct virtual public inheritance from interface
    and use extends' implementation of queryInterface

- In Det/CaloDet v10r21
  . DeCalorimeter: make resetCellParam standalone function in anonymous namespace
  . Use dataSPD as optional pileup calibration for SPD

- In Det/DDDB v1r83
  . Add support for 2016 DataType
  . Set InitialTime for 2015 at end of fill 4720 (last fill of the year)

- In Det/DetCond v12r46
  . Prevent CondDBCache from logging " FOUND" as a warning

- In Det/DetDesc v19r0
  . Major change: prefer public extend_interfaces  over 
    virtual public IInterface
  . Major change: add const qualifier to ITransportSvc methods
  . Major change: make StaticArray final - this allows the elimination of the
                  destructor, which allows move semantics
  . Remove unneeded include of gsl_sys.h
  . Fix bug in StaticArray::insert

- In Det/DetDesc v19r0, Event/EventPacker v5r9, Sim/SimComponents v4r0
  . Fixed compilation with gcc 5.2.

- In Det/DetDesc v19r0, Det/OTDet v9r0
  . Major change: replace StaticArray by boost::container::static_vector

- In Det/DetDescSvc v4r0
  . Follow major change in ITransportSvc: make methods const

- In Det/FTDet v2r12, Det/VPDet v3r4, OT/OTDAQ v8r0
  . Remove unneeded dependency on GSL

- In Det/Magnet v8r0
  . Major change: follow interface change in ILHCbMagneticFieldSvc 

- In Det/MuonDet v10r0
  . Major change: make IMuonFastPosTool::calcTilePos const, use extend_interfaces

- In Det/OTDet v9r0, Det/STDet v5r0, Det/VeloDet v14r0
  . major change: migrate from std::auto_ptr to std::unique_ptr

- In Det/VeloDet v14r0
  . DeVeloPhiType: 
    o simplify trajectory construction
    o use std::minmax_element instead of std::min_element and std::max_element
  . Make sure arguments of fast_sincos are initialized to see if this solves
    problem with reproducibility

- In Event/DigiEvent v4r5
  . Add location for corrected HC digits.

- In Event/EventPacker v5r9
  . Get rid of some unneccessary dynamic casts during the event loop in
    various packers and unpackers.
  . Add some missing variable initialisation in PackPrimaryVertex.

- In Event/GenEvent v7r0
  . Added GenFSR.xml, GenCountersFSR.xml and CrossSectionsFSR.xml classes  

- In Event/RecEvent v2r56
  . Add location for TrackSummary to RecSummary.
  . Add 'nGhosts' to RecSummary, to store number of identified ghost tracks.

- In Event/TrackEvent v6r5
  . Migrate from std::auto_ptr to std::unique_ptr
  . Enforce const correctness of firstState getter
  . Remove unneeded include of gsl_math.h

- In GaudiConf v19r16
  . LHCBPS-1472: Optimized some functions in GaudiConf.Manipulations.
                 Fixed a problem with a special case.
                 Fixed a flaw in the new logic of configurableInstanceFromString.

- In GaudiMTTools v1r3, Kernel/LHCbAlgs v3r8, Phys/LoKiCore v11r29
  . Stop propagating globalTimeOffset (see GAUDI-1122)

- In GaudiObjDesc v11r24
  . Avoid creating (temporary) strings in enum->string conversion

- In Hlt/HltDAQ v4r22, v4r23, v4r24
  . Add a work around to HltTrackingCoder to fix compilation with clang do to 
    the LLVM bug https://llvm.org/bugs/show_bug.cgi?id=23381.
  . Make the packers a local object to each method where it is required.
  . Make a helpful debugging selection report for version 99.
  . In the case that too many objects are requested to be saved, write a dummy
    bank with version 99.
  . Replace endreq with endmsg
  . Fix for Tesla related info. resurrection.

- In Hlt/HltServices v2r12, v2r13
  . Remove TCKANNSvc::queryInterface, use base_class implementation instead
  . Remove deprecated ANNDispatchSvc

- In Kernel/FSRAlgs v2r0
  . Added GenFSRMerge algorithm, requiring tools in SimComponents


- In Kernel/LHCbKernel v16r0
  . Remove redundant Rich typedefs.
  . Add some more move semantics to RichRadIntersection.h
  . Major change: implement StatusCode fieldVector as final, shunt calls to 
                  XYZPoint fieldVector 
  . Major change: use extend_interfaces instead of direct virtual inheritance
                  from IMagneticFieldSvc
  . DetectorSegment: classify as 'final' and remove virtual destructor
  . Major change: IEvtTypeSvc add const, prefer extend_interfaces
  . Major change: replace deprecated std::auto_ptr with std::unique_ptr
  . Inline MuonTileID::isDefined
  . Reduce size of FastClusterContainer by 8 bytes

- In Kernel/LHCbMath v3r61
  . Remove instrset_detect.cpp, instrset.h, now available from VectorClass
  . Replace Boost.Math for inverse incomplete beta function with GSL 
  . Add some default constructors to make serialization machinery happy 
  . BloomFilter: 
    o add conversions from/to a string representation
    o add comparison for (in)equality, ability to get/set 32-bit words of
      internal representation

- In Muon/MuonDAQ v4r21
  . Remove unused #include of MuonTile.h

- In Muon/MuonKernel v5r0
  . Remove obsolete and unused MuonTile class

- In OT/OTDAQ v8r0
  . Major change: IOTReadOutWindow, OTReadoutWindow
    o add const
    o prefer extend_interfaces over direct inheritance
  . classify OTRawBankDecoderHelpers::Module as final, use direct member init
  . Remove OTFillEventFromOTTime (contains various memory leaks, and seems to 
    have been deprecated for O(10 years) )

- In Phys/LoKiCore v11r29
  . ParticleProperties: make more explicit printout for invalid pids 
  . Add hash id for functor not in the cache in the error message
    from Hybrid::CoreFactory.
  . Use releaseTool() instead of release() to explicitly release a tool acquired
    with tool() templated method
  . Remove unneeded include of select.h
  . FilterAlg.cpp: improve a little bit usage of double lock pattern

- In Phys/LoKiGen v10r23, Phys/LoKiMC v10r21
  . Add Graphviz into CMT&CMAKE 

- In Phys/LoKiGen v10r23
  . Remove old GetHepMC stuff 
  . Add methods to get HepMC-treed  from event, events, containers, ...
  . Add new module LoKiGen.graph to produce decay tree graphs 

- In Phys/LoKiHlt v3r21
  . Fix warnings for duplicate selection rules (new ROOT)
  . Add swap functions to event and run-lists 

- In Phys/LoKiMC v10r21
  . LoKiMC.graph : several improvemens for making  graphs from decay trees 

- In Rich/RichDAQ v3r44
  . Convert static new objects to static local in RichRawDataFormatTool, to
    avoid memory leaks when the tool is deleted.
  . Remove the old implementation of createDataBank using new/delete in 
    RichRawDataFormatTool in favour of using the local static implementation
    in all places.

- In Rich/RichKernel v7r62
  . Set the RejectAmbiguousPhotons=True option in the fast (estimation) 
    photon reconstruction tool when running the Adaptive option.
  . Clean up a bit RichStatDivFunctor.h and RichPoissonEffFunctor.h
  . Add support for a new 'Adaptive' photon reconstruction type.
    Default remains Quartic for now.
  . Add configuration method for the CK Mass Hypothesis Ring creator

- In Sim/SimComponents v4r0
  . Added GenFSRRead, GenFSRLog and GenFSRStat algorithms
  . Major change: follow constification of interface in Kernel/LHCbKernel
  . Qualify internal EvtTypeInfo as final, remove (virtual) destructor,
    pass sink arguments by value and std::move them
  . EvtTypeSvc: keep EvtTypeInfo by value, inherit from extends, remove
    queryInterface implementation, prefer STL algorithms

- In ST/STDAQ v4r8
  . Add the STLayerSelector algorithm to remove clusters from certain layers

- In Tools/CondDBUI v3r36
  . Fixed minor mistake in CondDBUI::Helpers that was triggering ROOT-7825.


2015-11-24 LHCbSys v39r2

This version uses Gaudi v26r4 and LCG_79 with ROOT 6.04.02.

- Packages modified: DAQSys v8r10, DAQUtils v1r13p3, MDF v3r43,
    RawEventCompat v1r6p2, DDDB v1r82, DetCond v12r45, DetDescSvc v3r8p2,
    FTDet v2r11, OTDet v8r18, RichDet v17r6, VPDet v3r3, EventPacker v5r8,
    FTEvent v1r8, HltEvent v9r6, LinkerEvent v3r11, LumiEvent v3r9,
    RecEvent v2r55, TrackEvent v6r4, IOExample v4r17, GaudiConf v19r15,
    HltDAQ v4r21, HltServices v2r11, FSRAlgs v1r9, HltInterfaces v6r3,
    LHCbAlgs v3r7, LHCbKernel v15r13, LHCbMath v3r60, VectorClass v1r19,
    LoKiCore v11r28, LoKiGen v10r22, LoKiMC v10r20, RichKernel v7r61

- In DAQSys v8r10
  . Updated test for Gaudi v27r0.

- In MDF v3r43
  . Fix a format-pedantic warning from clang
  . prefer emplace over insert
  . prefer algorithms over loops

- In MDF v3r43,  LinkerEvent v3r11, LHCbAlgs v3r7
  . prefer nullptr over 0 or NULL

- In DDDB v1r82
  . Update default database tags to the latest ones:
    o LHCBCOND, 2015: cond-20151016

- In DetCond v12r45
  . pass sink arguments by value, and std::move them

- In DetCond v12r45, LinkerEvent v3r11
  . prefer emplace_back over push_back

- In MDF v3r43, DetCond v12r45, LHCbAlgs v3r7, LHCbMath v3r60
  . replace deprecated std::auto_ptr with std::unique_ptr
  . prefer range-based for loops

- In DetDescSvc v3r8p2
  . Remove an unused member variable

- In FTDet v2r11
  . DeFTFibreMat:
    o Introduction of code for V5 Scifi geometry
    o use exception throw where possible instead of simple fatal message

- In OTDet v8r18
  . Fix use of uninitialised variable in WalkRelation constructor
  . Use VectorClass in walk relation SIMD code to make it portable to clang

- In RichDet v17r6
  . Pass some more RichSmartIDs by const reference instead of by value.

- In  VPDet v3r3
  . Add getter function to access directly the vector of sensors.
  . Remove unnecessary includes.

- In EventPacker v5r8
  . Added (un)packer for PrimaryVertex
  . Added RecToPVConverter and PVToRecConverter

- In FTEvent v1r8
  . Added properties and methods to MCFTDeposit to keep track of noise.
  . Made channelID method const.

- In HltEvent v9r6
  . HltObjectSummary: add substructureExtended() to be used in Turbo stream
    substructure() will only return objects used in TisTos, restores its Run I
    functionality

- In LinkerEvent v3r11
  . prefer std::string::compare over std::string::substr = " ... " 
    (avoids the creation of a temporary string)

- In LumiEvent v3r9
  . HltLumiSummaryDecoder: call correct base class finalize()

- In RecEvent v2r55
  . Added new class 'PrimaryVertex'

- In TrackEvent v6r4
  . Make pre-defined z-positions of states constexpr

- In IOExample v4r17
  . Add tests to copy and read Stripping21 MDST

- In GaudiConf v19r14, v19r15
  . LHCbExclusions.py: 
    o Add temporary exclusions for printout of new Algorithm properties to be
      introduced by GaudiHive merge
    o Add temporary exclusion for printout of Algorithm RootOnTES property, to be
      removed after Gaudi v26r4
  . Added flag 'PVPersistence' to DstConf to steer between old/new PV persistence.

- In HltDAQ v4r21
  . Change HltSelReportsWriter to use substructureExtended() if set.
    Increase version numbers of the HltSelReports Writer and Decoder to 7
    (will be saved in RawBank) even though bank itself is not changed and
    update unit test accordingly
  . Modify HltSelReportsDecoder to split substructure saved in RawBanks
    to the one needed by TisTos, returned by substructure(), and the one
    needed by Turbo stream, returned by substructureExtended() of
    mofified HltObjectSummary
  . Add RelatedInfo support.

- In HltServices v2r11, LHCbMath v3r60, LoKiCore v11r28
  . Fix clang compilation errors

- In HltServices v2r11
  . New dictionary for related info.

- In HltInterfaces v6r3
  . Workaround for Boost bug https://svn.boost.org/trac/boost/ticket/11743

- In LHCbAlgs v3r7
  . LHCBPS-1434: Added to LHCbApp() assignment of OdinTimeDecoder as 
    EventClockSvc().EventTimeDecoder when processing real data.
  . Avoid using protected m_statEntityList, use setProperty instead
  . Prefer SmartIF to raw pointers to services
  . Qualify virtual function implementations as override

- In DAQUtils v1r13p3, RawEventCompat v1r6p2, IOExample v4r17, FSRAlgs v1r9
  . Fix test reference following LHCBPS-1434 patch

- In LHCbKernel v15r13
  . Add a new flag to the RichSmartID class for the Upgrade MaPMTs to save if
    it represents a 'large' or 'small' PMT.
  . LbAppInit.cpp: fix clang warning, avoid stringstream

- In LHCbMath v3r60
  . ValueWithError: two more functions are added
  . enable several default constructors
  . Add explicitly the dictionaries for std::unary_function and
    binary_function
  . Remove unneeded gcc specific pragmas
  . LHCbMath.xml: remove duplicated selections
  . Improve and speedup some functions 

- In VectorClass v1r19
  . Update to official upstream 1.19 release.

- In LoKiCore v11r28
  . Add deprecation warning to LoKi::select and LoKi::transform
  . Augment LoKi::Interface so that it supports the same semantics as 
    regular smartpointers, i.e. add explicit operator bool and get
  . Avoid use of stringstream
  . LoKiCore.xml: remove duplicated selection 

- In LoKiCore v11r28, LoKiGen v10r22, LoKiMC v10r20
  . Replace LoKi::select with std::copy_if

- In LoKiMC v10r20
  . Fix of LoKi::MCAlg::accumulate for LHCb::MCParticle* 

- In RichKernel v7r61
  . RichCommonBase.icpp: fix unprotected debug()

2015-10-13 LHCbSys v39r1

This version uses Gaudi v26r4 and LCG_79 with ROOT 6.04.02.

- Packages modified: Calo/CaloDAQ v4r38p1, Calo/CaloUtils v10r5p1,
    DAQ/DAQUtils v1r13p2, DAQ/MDF v3r42, Det/CaloDet v10r20p1, 
    Det/CaloDetXmlCnv v3r3p1, Det/DDDB v1r81, Det/DetCond v12r44,
    Det/DetDesc v18r38, Det/DetDescChecks v5r12p1, Det/DetDescCnv v4r19,
    Det/DetDescSvc v3r8p1, Det/FTDet v2r10, Det/Magnet v7r9p1, Det/RichDet v17r5,
    Det/VeloDet v13r21p1, Det/VPDet v3r2p1, Event/EventPacker v5r7,
    Event/LumiEvent v3r8p1, Event/RecreatePIDTools v1r8, 
    Ex/DetCondExample v11r14p1, Ex/DetDescExample v7r8p1, FT/FTDAQ v1r7p1,
    GaudiConf v19r13, GaudiMTTools v1r2p2, HC/HCDAQ v1r5, Hlt/HltDAQ v4r20,
    Hlt/HltServices v2r10, Kernel/FSRAlgs v1r8p1, Kernel/HltInterfaces v6r2,
    Kernel/LHCbAlgs v3r6p1, Kernel/LHCbKernel v15r12, Kernel/LHCbMath v3r59,
    Kernel/MCInterfaces v1r19, Kernel/PartProp v1r20, 
    Kernel/XMLSummaryKernel v1r13p1, Kernel/VectorClass v1r17, L0/L0Base v2r4p1,
    L0/L0Calo v11r14p1, L0/L0DU v10r34, L0/L0Muon v9r14p1, Muon/MuonDAQ v4r20p1,
    OT/OTDAQ v7r20p1, Phys/LoKiCore v11r27, Phys/LoKiGen v10r21,
    Phys/LoKiHlt v3r20p1, Phys/LoKiMC v10r19, Rich/RichDAQ v3r43,
    Rich/RichKernel v7r60, Sim/SimComponents v3r0, ST/STDAQ v4r7,
    Tools/CondDBEntityResolver v5r9, Tools/FileStager v1r14p1,
    Tools/XmlTools v6r8p2, Velo/VeloDAQ v6r12p1, VP/VPDAQ v2r7p1

- In Det/DDDB v1r78, v1r79, v1r80, v1r81
  . Update default database tags to the latest ones:
    o DDDB,     2015      : dddb-20150724
    o DDDB,           2012: dddb-20150928
    o LHCBCOND, 2015      : cond-20150828

- In Det/DetCond v12r44
  . Remove references to SQLDDDB*.py option files
  . If UseOracle & Online options are both set to True, the Oracle ONLINE db is
    used, instead of sqlite db files

- In Det/DetDesc v18r38
  . Add #include  directly instead of relying on something else
    to include it and declare std::ostream_iterator...

- In Det/DetDescCnv v4r19
  . Refactor code so that the static map can be const
  . Prefer nullptr over 0 or NULL
  . Replace use of _itoa from GaudiKernel/xtoa.h with std::to_string

- In Det/FTDet v2r10
  . Change DeFTFibremat::CellIDCoordinates from private to public

- In Det/RichDet v17r5
  . Update API in DeRichSystem to pass ID types by const reference instead
    of by value.

- In Event/EventPacker v5r4, v5r5, v5r6, v5r7
  . Fix bugs in PackedProtoParticle::check
    o For CaloHypos the iterator value was compared, instead of the memory
      location of the objects the SmartRefs point to
    o The use of data() to access the pointer was causing it to not be properly
      created. Should use target() instead which makes sure the pointer is
      created on-demand.
    o Add some protection to prevent potential out of range loop access in cases
      where the data containers in the two objects have different sizes.
  . Improve the debug information printed with various checks.
  . Improved protection in UnpackParticlesAndVertices for being triggered
    twice in the same event.
  . Add protection against null Track SmartRefs in RecVertex packer.
  . Fixed reference count of JobOptionsSvc in MapperToolBase.

- In Event/RecreatePIDTools v1r8
  . Small C++11 clean up of a few components

- In GaudiConf v19r12, v19r13
  . Modified QMTest.ConfigurablesTest to understand lb-dev projects (Dev)
  . Added line to allow IOHelper to treat RDST as DST.

- In HC/HCDAQ v1r5
  . Remove private instance of EventTimeDecoder tool

- In Hlt/HltDAQ v4r20
  . Fix reconstitution of CaloCluster 

- In Hlt/HltServices v2r10
  . Remove assert size of implement dependent object (std::time_t).

- In Kernel/HltInterfaces v6r2
  . Remove obsolete methods from IConfigTreeEditor

- In Kernel/LHCbKernel v15r12
  . Expand FastAllocVector.h to implement vectors using boost::pool_allocator as
    alternative to gcc MT allocator. Former is seemingly much faster in some use
    cases.
  . Add STLOStreamRedirect.h that contains a guard class that redirects stdout
    and stderr messages to a given location, for the lifetime of the guard.
  . Add placement new/delete operators to MemPoolAlloc.h
  . Replace ListItem with Gaudi::Utils::TypeNameString 
  . Update hand written RichSmartID class to use Null Mutex Boost pool (similarly 
    to the GOD generated event model classes).
  . Disable mutex (thread) support in MemPoolAlloc.h as well ...
  . Add specialization of std::hash for RichSmartID, and explicitly include
    ext/hash_map prior to the existing specializations in the __gnu_cxx 
    namespace.

- In Kernel/LHCbMath v3r59
  . Add Convex & ConvexOnly splines 
  . Speed up integration of 2D polynomials and splines 
  . Bernstein&B-spline:
    1) speed up integration 
    2) add more classification functions 
  . Add confidence intervals for binomial proportions/efficiencies 
  . Add few more functions including:
    o to ValueWithError
    o For easy operations with scipy
    o Hypot function 
    o Atlas function 
  . pdg_format.py: simple module, implementing PDG rounding scheme 
  . Speed up some utilities for Ostap 
  . Add QMtest for Combine-utility 
  . Split TestSimilarity into tests for AVX/SSE3, to put in evidence what has
    been run.
  . Fix TestSimilarity to take into account the matrix condition number.
  . Remove private Eigen headers.
  . Remove the 'static' SMatrix in the 'average' method in Similarity_*.cpp,
    to fix a problem with gcc 4.9.3 'hanging' on __cxa_guard_acquire.
    The code without static actually looks faster anyway ;-)
  . Reshuffle a bit the code to reduce duplication
  . Move some useful python code fragments to C++
  . Various minor fixes
  . Fix doxygen

- In Kernel/LHCbMath v3r59, Phys/LoKiCore v11r25
  . Replace Gaudi::Math::cbrt with std::cbrt

- In Kernel/MCInterfaces v1r19
  . New interface for setting fromSignal flag in MCParticles

- In Kernel/PartProp v1r20
  . Tweak code so it is independent of whether IFileAccess returns std::auto_ptr
    or std::unique_ptr

- In Kernel/VectorClass v1r17
  . Update to external version 1.17

- In L0/L0DU v10r34
	. L0DURawBankMonitor
    o fix data scaling 
    ofix bug with EmulatorCheck masking
  . L0Conf : use by default LUT V8 for L0Muon emulation for 2015 data

- In Phys/LoKiCore v11r24, v11r25, v11r26, v11r27
  . Trim dictionary a bit (see GAUDI-1098 and Gaudi gitlab merge request 22)
  . Explicitly set the relative priority of LoKiSvc wrt. ToolSvc to ensure
    that LoKiSvc gets finalized _before_ ToolSvc in order to avoid use
    (even if only for an implicit cast!) of dangling pointers to tools.
  . Moved here the CMake code to generate functors factories from StrippingCache.
  . Finalised support for building C++ Functor caches:
    o Modify the functionality to building of C++ cache
      Building strategy depends on environment variable "LOKI_GENERATE_CPPCODE"
        positive:  number of files
        negative:  number of functors per file
        zero:      single file
    o Modified cache generation to ignore the already existing caches.
      It ensures that the generated cache contains also the factories already
      present in other caches.
    o Added CMake option (LOKI_BUILD_FUNCTOR_CACHE) to turn on/off build of cache
      libraries (ON by default).
    o Add support to HybridBase for turning off the use of the C++ functor cache.
      Enable either via the property UseCache or by setting the environment
      variable LOKI_DISABLE_CACHE.
    o Add some warnings to HybridBase for when either the python or cache functor
      support is disabled. If both are disabled, such that no functors can be
      produced, an error is now returned from initialize().
    o Add Hlt1HltFactory and Hlt2HltFactory to the default list of factories
      in LoKiFunctorCache.cmake
    o Add DetDataSvc('DetectorDataSvc') to the start of the service list in
      LokiFunctorsCachePostActionOpts.py. Needed to get CondDB access working
      with Stripping 23.
    o Added doc/LoKiFunctorsCache.md, documentation for the generation of LoKi
      Functors caches
    o For debugging install generated C++ functor sources.

- In Phys/LoKiGen v10r21, Phys/LoKiMC v10r19
  . Attempt to speedup decay tree matchers (aka "descriptors") with optional
    particles " {} " 

- In Rich/RichDAQ v3r43
  . Various cleanups to RichRawDataFormatTool.
  . Various CPU enhancements to the decoding. In particular:
    o Avoid creating decoding objects on the heap, and deleting them, for each
      HPD to be decoded each event.
    o Use C++11 map::emplace function to populate the decoded HPD map, that 
      avoids unneccesary data copying. 
    Decoding is now, with all the improvements, about twice as fast as before.

- In Rich/RichKernel v7r60
  . Fine tune the implementation of RichObjPtn for better CPU performance
    on object lookup.
  . Remove unused data members and methods from the HPD pixel cluster class.
  . Pass RichSmartID by const reference in IRichSmartIDTool.h
  . Split the part of the functionality provided by the HPDPixelClusters class,
    needed only to build the clusters, into a new dedicated utility class
    HPDPixelClustersBuilder. This builder only needs to be created once per
    job, and just removes the overhead from having to maintain large 2D arrays
    to cache information needed for the cluster finding. HPDPixelClusters is
    thus a lot smaller and focuses only on describing the found clusters.
  . Various CPU improvements to pixel cluster classes and smart ID sorter.
  . Adapt to class name changes for FastAllocVector.
  . Add new headers for different sorts of map implementations, unordered and an
    implementation using a pool allocator.
  . Update RichDecodedData.h definitions to use the new templated maps.
  . A few more CPU improvements for faster decoding.
  . Various improvements to the DAQ Header and Footer classes, to allow for
    more CPU efficient usage in RichDAQ.
  . Use unordered map for decoded data format.

- In Sim/SimComponents v3r0
  . New tool to flag children from a signal particle propagating the relevant
    flag

- In ST/STDAQ v4r7
  . Update TAE python files to use RawEventLocations

- In Tools/CondDBEntityResolver v5r9
  . Adapt CondDBEntityResolver::open such that it is invariant under whether
    IFileAcces::open wants to return std::auto_ptr  or std::unique_ptr.

- In Calo/CaloDAQ v4r38p1, Calo/CaloUtils v10r5p1, DAQ/DAQUtils v1r13p2,
     DAQ/MDF v3r42, Det/CaloDet v10r20p1, Det/CaloDetXmlCnv v3r3p1,
     Det/DetCond v12r44, Det/DetDesc v18r38, Det/DetDescChecks v5r12p1,
     Det/DetDescCnv v4r19, Det/DetDescSvc v3r8p1, Det/FTDet v2r10,
     Det/Magnet v7r9p1, Det/RichDet v17r5, Det/VeloDet v13r21p1, Det/VPDet v3r2p1,
     Event/EventPacker v5r5, Event/LumiEvent v3r8p1, Event/RecreatePIDTools v1r8,
     Ex/DetCondExample v11r14p1, Ex/DetDescExample v7r8p1, FT/FTDAQ v1r7p1,
     GaudiMTTools v1r2p2, HC/HCDAQ v1r5, Hlt/HltDAQ v4r20, Hlt/HltServices v2r10,
     Kernel/FSRAlgs v1r8p1, Kernel/LHCbAlgs v3r6p1, Kernel/PartProp v1r20,
     Kernel/XMLSummaryKernel v1r13p1, L0/L0Base v2r4p1, L0/L0Calo v11r14p1,
     L0/L0DU v10r34, L0/L0Muon v9r14p1, Muon/MuonDAQ v4r20p1, OT/OTDAQ v7r20p1,
     Phys/LoKiCore v11r25, Phys/LoKiGen v10r21, Phys/LoKiHlt v3r20p1,
     Phys/LoKiMC v10r19, Rich/RichDAQ v3r43, Rich/RichKernel v7r60,
     Sim/SimComponents v3r0, ST/STDAQ v4r7, Tools/CondDBEntityResolver v5r9,
     Tools/FileStager v1r14p1, Tools/XmlTools v6r8p2, Velo/VeloDAQ v6r12p1,
     VP/VPDAQ v2r7p1
  . Remove #include of obsolete Gaudi headers


2015-07-21 LHCbSys v39r0

This version uses Gaudi v26r3 and LCG_79 with ROOT 6.04.02.

- Packages modified: Calo/CaloUtils v10r5, DAQ/DAQSys v8r9, DAQ/DAQUtils v1r13p1,
    DAQ/RawEventCompat v1r6p1, Det/DDDB v1r78, Det/DetCond v12r42,
    Det/DetDescChecks v5r12, Det/OTDet v8r17, Det/RichDet v17r4,
    Event/DAQEvent v9r20, Event/DigiEvent v4r4, Event/EventPacker v5r4,
    Event/SwimmingEvent v1r7, Event/TrackEvent v6r3, Ex/IOExample v4r16,
    GaudiConf v19r11, HC/HCDAQ v1r4, Hlt/HltDAQ v4r19, Hlt/HltServices v2r9,
    Kernel/HltInterfaces v6r1, Kernel/LHCbKernel v15r11, Kernel/LHCbMath v3r58,
    L0/L0DU v10r33, OT/OTDAQ v7r20, Phys/LoKiCore v11r24, Phys/LoKiMC v10r18,
    Sim/SimComponents v2r25, Tools/CondDBUI v3r35

- In Calo/CaloUtils v10r5, Det/RichDet v17r4
  . Fix a pattern selection rule to please genreflex

- In DAQ/DAQSys v8r8p2, v8r9
  . Set outputs of Calorimeter decoders anyway to allow usage of the correct
    values from python.
  . Fix decoder-compare test to follow this change

- In DAQ/DAQUtils v1r13p1
  . Fix dumpmultievents test to follow changes in output due to introduction
    of Run Stamp in CondDB

- In DAQ/RawEventCompat v1r6p1
  . Avoid crashes in tests when the QMTest validators are called on empty files.

- In Det/DDDB v1r77, v1r78
  . Update default database tags to the latest ones:
    o LHCBCOND, 2015: cond-20150716
    o DQFLAGS,  2015: dq-20150717
    o DDDB,     2015: dddb-20150703

  . Set default initial time for 2013 to end of last physics fill (fill 3564)
  . Default database tag for CALIBOFF: head-2015604, empty content
    (note typo in tag date, follows corresponding typo in the database)

- In Det/DetCond v12r42, v12r43
  . LHCBPS-1425: fix to ensure that the "InitialTime" is stable.
  . LHCBPS-1421: added a first implementation of RunStampCheck service
    o Can be instantiated (via ApplicationManager::ExtSvc) to check if a special
      "run stamp" condition exists for the current run.
    o To ensure that it does get a "current event time", RunStampCheck triggers
      the instantiation of EventClockSvc, so that it is not needed to explicitly
      do it in the configuration.
    o CondDB configurable enables/disables RunStampCheck. It is enabled by
      default for "Offline" (i.e. not Online nor Simulation).
  . Set LoadCALIBDB default value to HLT1 for Simulation, Online and Upgrade
    options
  . Change in detcond.configuration_module to avoid checking layered ONLINE
    partition
  . Finalized support for CALIBOFF by loading the partition as an additional
    layer only above every ONLINE snapshot no earlier than 2015
  . Bug fix for mistakenly loading CALIBOFF for upgrade CondDB

- In Det/DetDescChecks v5r12
  . Disable RunStamp check in loaddddb-2015, to avoid frequent failure as we
    initialise with time = now

- In Det/OTDet v8r17
  . Fix bug that caused only one monolayer per module to be filled in Boole
  . Small fix in OTWireTraj to get rid of compiler warning.

- In Event/DAQEvent v9r20
  . Add HCError raw bank type.

- In Event/DigiEvent v4r4
  . Add additional attributes to HCDigit.

- In Event/EventPacker v5r3, v5r4
  . Fixed reference count of JobOptionsSvc in MapperToolBase.
  . Fix typo in PackedWeightedRelations::clID() that was causing the wrong
    class ID to be returned...

- In Event/SwimmingEvent v1r7
  . Remove unused classes from SwimmingEvent.xml to suppress genreflex warnings

- In Event/TrackEvent v6r3
  . Fixed bug in 'State::linearTransportTo'

- In Ex/IOExample v4r16
  . Fix tests to follow changes in output due to introduction of CondDB Run Stamp

- In GaudiConf v19r11
  In DstConf.py: add the fitted Velo tracks for the PV to the packing / unpacking
                 and to the DST for 2015.

- In HC/HCDAQ v1r4
  . Add monitoring histograms.
  . Remove decoding of obsolete raw bank formats.
  . Follow modified cell ID scheme (channel and crate).
  . Add option to skip error bank decoding.

- In Hlt/HltDAQ v4r15 to v4r19
  . Introduce v6 of sel reports.
  . Make getLatestVersion more robust.
  . Put nPVs in RecSummary.
  . Preserve mother mass value.
  . Fix L0 routing bits.
  . Allow stdInfo selrep subbank larger than 64K words
  . Make noBank() private in various HltSelRepRB* classes, and zero pointer
    after delete[] so that writing to no longer owned memory becomes a SEGV
    instead of a silent corruption
  . Use HltMonitorSvc to monitor additional stuff for HLT2.
  . Update DecoderBase to only supply the selection IDs that correspond to its
    source ID.
  . Update VertexReportsWriter to only check for selection IDs that correspond
    to its source ID.
  . Only fill info fields in Tesla if not default value.
  . Add first state covariance matrix.
  . Choose states properly.
  . Do not require every map present for each bank version.
  . Update unit test.

-In Hlt/HltServices v2r8, v2r9
  . Add possibility to put environment variables back in the properties. The
    list of environment variables to be put back in is specified through a
    property. By default it contains only PARAMFILESROOT.
  . Add an expert property to TCKANNSvc to allow injection of selection IDs.

- In Kernel/HltInterfaces v6r1
  . Add firedRoutingBits function to dictionary.
  . Use Gaudi::Histo1DDef in HltHistogram.
  . Add simple histogram wrapper for HLT2 monitoring.
  . Add code for Hlt2 online monitoring.

- In Kernel/LHCbKernel v15r11
  . Redefine bitfields of HCCellID.

- In Kernel/LHCbMath v3r58
  . Fix test_poly.py
  . Various small updates and fixes
  . Minor change to the fix to similarity timing test.

- In L0/L0DU v10r33
  . L0CondDBProvider : patch for muonPtScale() to account for hardware change in
    scale on 2015/06/02. The new code is backwards compatible
    (but previous sw version is not correct for data taken after 2015/06)

- In OT/OTDAQ v7r20
  . Add dictionaries for OTLiteTime and OTLiteTimeContainer classes; they are
    needed for OT the python code used in calibration jobs

- In Phys/LoKiCore v11r24
  . Moved here (from StrippingCache) the CMake code to generate functors factories
  . Added some documentation for the generation of LoKi Functors caches.
  . Minor improvements to LoKiFunctorsCache.cmake.
  . Added CMake option (LOKI_BUILD_FUNCTOR_CACHE) to turn on/off build of cache
    libraries (ON by default).
  . Modify the functionality to building of C++ cache
    Cache building strategy depends on environment variable
    "LOKI_GENERATE_CPPCODE"
    positive:  number of files
    negative:  number of functors per file
    zero:      single file

- In Phys/LoKiMC v10r18
  . Remove Rich-enum from xml 
  . Add new test for segmentation fault in loading the dictionaries 
  . Try to reshuffle the files... 

- In Sim/SimComponents v2r25
  . Add printing of signal flag value in PrintMCDecayTreeTool when specified in
    options

- In Tools/CondDBUI v3r35
  . Added the CondDB.Admin.CompareDBToFiles function to check that
    CondDB.Admin.MakeDBFromFiles worked.
  . Add menu support for CALIBOFF


2015-05-26 LHCbSys v38r7

This version uses Gaudi v26r2 and LCG_76root6 with ROOT 6.02.08.

- Packages modified: DAQ/MDF v3r41, Det/DDDB v1r76, Det/RichDet v17r3,
    Event/DAQEvent v9r19, Event/EventPacker v5r2, GaudiConf v19r10,
    GaudiObjDesc v11r23, HC/HCDAQ v1r3, Hlt/HltDAQ v4r14, Kernel/FSRAlgs v1r8,
    Kernel/LHCbAlgs v3r6, Kernel/LHCbKernel v15r10, Kernel/LHCbMath v3r57,
    Kernel/XMLSummaryKernel v1r13, L0/L0DU v10r32, ST/STKernel v2r14,
    Tools/CondDBUI v3r34

- In DAQ/MDF v3r41
  . Removed unnecessary dependencies
  . Removed unused include (Tokenizer.h).

- In Det/DDDB v1r76
  . Update default database tags to the latest ones:
    o DDDB,     2015                  : dddb-20150520
    o DDDB,           2012            : dddb-20150522-2
    o DDDB,                 2011      : dddb-20150522-1
    o DDDB,                       2010: dddb-20150522
    o LHCBCOND, 2015                  : cond-20150511
    o LHCBCOND,                   2010: cond-20150527

- In Det/RichDet v17r3
  . Make the HLT refractive indices the default ones.

- In Event/DAQEvent v9r19
  . Fixed LHCBPS-1410: implement event type bits as enum in ODIN

- In Event/EventPacker v5r2
  . Add a check to PackCluster to see if the packed data already exists or not.

- In GaudiConf v19r9, v19r10
  . LHCbExclusions.py: add temporary exclusion for printout of Algorithm
    ErrorCount property, renamed ErrorCounter in Gaudi v26r2
  . Turbo option in DstConf. Needed for propagation of Turbo objects.

- In GaudiObjDesc v11r23
  . Add back the previously removed placement operators, as it turns out these
    are still required for GaudiPython...

- In HC/HCDAQ v1r3
  . Make input/output locations configurable.
  . Bug fix in PS/SPD bank decoding (ADC packet is two bytes not one).

- In Hlt/HltDAQ v4r14
  . Include helper functions for RecSummary.

- In Kernel/FSRAlgs v1r8
  . Updated reference file after GAUDI-1030.
  . Synchronized LHCbOutputStream with OutputStream in Gaudi v26r2.

- In Kernel/LHCbAlgs v3r6
  . Remove obsolete GaudiKernel/DeclareFactoryEntries.h include
  . Modified EventCountAlg to avoid re-definition of property StatEntityList
    from base class (see GAUDI-1023).

- In Kernel/LHCbKernel v15r10
  . Add a new test 'gaudipythonallocator' that tests the use of classes with
    custom allocators via GaudiPython. Intended to catch situations such as the
    recent removal of the placement operators in GaudiObjDesc that caused
    problems with GaudiPython, that where only found after being released ...

- In Kernel/LHCbMath v3r57
  . Fix compilation warnings in the similarity timing test

- In Kernel/XMLSummaryKernel v1r13
  . Wrapped calls to Python with the GIL.
    Fixes a segfault when starting Gaudi without GaudiPython (GAUDI-986).

- In L0/L0DU v10r32
  . Modified DecodeVeloRawBuffer to avoid re-definition of property
    xLabelOptions from base class (see GAUDI-1023).

- In ST/STKernel v2r14
  . Fix genreflex selection warnings. Note though that some enums and functions
    that were not being selected before are still not selected...

- In Tools/CondDBUI v3r34
  . Fix to enable the CondDBUI.CondDB member defaultTag so that an alternative
    tag can be used
  . Fix for parsing release notes with SAX parser. The method within
    ReleaseNotesHandler is migrated into endElement() as you might expect an
    incomplete string within characters()


2015-04-20 LHCbSys v38r6

This version uses Gaudi v26r1 and LCG_74root6 with ROOT 6.02.05.

- Packages modified: DAQ/DAQSys v8r8p1, Det/DDDB v1r75, Det/DetCond v12r41,
    Det/DetDesc v18r37, Det/OTDet v8r16, Det/VeloDet v13r21, Event/DAQEvent v9r18,
    Event/EventPacker v5r1, Event/MCEvent v3r3, Event/RecEvent v2r54,
    Ex/IOExample v4r15, GaudiConf v19r8, GaudiObjDesc v11r22, Hlt/HltDAQ v4r13,
    Kernel/LHCbAlgs v3r5, Kernel/LHCbKernel v15r9, Kernel/LHCbMath v3r56,
    Phys/LoKiCore v11r23, Phys/LoKiHlt v3r20, Phys/LoKiMC v10r17,
    Phys/LoKiNumbers v10r9, Rich/RichKernel v7r59, Tools/CondDBUI v3r33

- In DAQ/DAQSys v8r8p1, v8r8
  . Enabled full L0Muon decoding by default. Fixed decoder-compare test
    accordingly

- In Det/DDDB v1r75
  . Update default database tags to the latest ones:
    o LHCBCOND, 2015                  : cond-20150119-2
    o LHCBCOND,       2013, 2012      : cond-20150119-1
    o LHCBCOND,                   2011: cond-20150119

-In Det/DetCond v12r41
 . Further support for loading CALIBOFF.db file as an additional layer above all
   partitions, for testing purpose only
 . Changed the policy of CondDB::generateXMLCatalog to exclude folders with
   names ending with ".xml" from the generated catalog, fixed QMTests accordingly.
   This is required to allow mixed content in the Online CondDB partition for
   the split Hlt, where the files with ".xml" are not meant to be automatically
   mapped.

- In Det/DetDesc v18r37
  . StaticArray: fix interface of erase to return iterator pointing to the
    first element after the removed one(s), or end (just what std::vector and
    friends do)

- In Det/OTDet v8r16
  . RtRelation: provide constructors which take vector, for the alignment
  . DeOTModule: remove temporary variables, write somewhat leaner code to speed
    up the calculateHits method by another percent or so (shouldn't change the
    results)
  . Follow move from GSL to vdt also in cmt/requirements
  . Speed up findStraws() by factor two by getting rid of the memory allocations;
    also prefer std::min/max/hypot over the GSL variants; no changes in results
  . Remove dependency on GSL, replaced wih vdt

- In Det/VeloDet v13r21
  . Remove dependency on GSL, replaced wih vdt
  . Get rid of gsl_pow_2, just squaring stuff is much much better than a
    function call
  . Use vdt special functions where possible to speed up things

- In Event/DAQEvent v9r18
  . Add HC RawEvent location.

- In Event/EventPacker v5r0, v5r1
  . Update PackParticlesAndVertices to: 
    o Add support for packed Weighted Relations.
    o Add support for custom RichPID objects
    o Make packed RichPID objects key a long long.
    o only traverse the TES once per event to find the data objects to pack.
    o search for and pack weighted ProtoParticle to MCParticle relations.
  . Optimise things a bit for the most likely (recent) packing versions.
  . Add support for the new flags data member in MCParticle.
  . Various small cleanups.
  . Tune a bit better than reserved vector sizes in PackedRecVertex.
  . Add some future proofing packing version checks to packers which had
    versioning added in the last commit.
  . Fix typo in MuonPIDPacker where version 2 was not declared as a known 
    packing version in MuonPIDPacker::unpack
  . Implement 64 bit reference packing for MCParticle, MCVertex and
    TwoProngVertex classes.
  . Add a warning message to reference32 to warn if any code is still creating
    potentially problematic 32 bit packed references. Method is retained for
    backwards compatibility...
  . Add checks for remaining calls to hintAndKey64 for corrupt references
    (should be impossible for 64 bit packing).
  . Add protection to StandardPacker to prevent segmentation faults from a NULL
    pointer dereference in the case of corrupted reference information, due
    to truncation when attempting to pack it to a 32 bit int. Fixes issues
    seen when running over Stripping21 MC samples where some Track references
    in packed ProtoParticles have been corrupted due to data truncation. In 
    these cases the smart refs are now just skipped (so set to NULL).
  . Update the packing of all remaining classes that still use 32 bit reference
    packing to use 64 bit packing. Reading is backwards compatible with old data
    using the packing data version flags. Consequently data written with this
    update can only be read by this version.

- In Event/MCEvent v3r3
  . Add a new bitfield 'flags' data member to the MCParticle class.
    Currently only a single bit is used to define a 'fromSignal' flag that
    indicates if a particle was produced as part of the MC signal decay tree
    or not. Used in MC stripping productions to make sure signal is always 
    saved to uDST streams.

- In Event/RecEvent v2r54
  . Avoid inline virtual methods, move implementations to cpp files.

- In Ex/IOExample v4r15
  . Follow PackParticlesAndVertices packing changes

- In GaudiConf v19r8
  . Add RDST to DstConf. Resurrect RDST, same as DST without RawEvent, only
    for real data Brunel output as alternative to FULL.DST

- In GaudiObjDesc v11r22
  . Update python modules to use logging module instead of plain print.
  . Set the output depending on if VERBOSE environment variable is set or not.
  . Add new option to genClasses.py to generate boost pool allocators with
    threading support disabled. Avoids some mutex lock calls during new/delete 
    that are unneccessary as long as threading is not fully supported.
    New option is the default.
  . Remove the placement operators from the pool allocator definitions.

- In Hlt/HltDAQ v4r13
  . isMuon in full.
  . Extra variables for ProbNNs.
  . Update test to allow for bank version change.
  . Moved to version 4 of sel. reports (in writer and decoder).
  . Full support for RecVertex bank (anticipating PV refitting).
  . Expanded protoparticle bank.
  . HltTrackReportsWriter: Added property (WriteStates) to write or not write out
    states. Default is true to keep the old behaviour.

- In Kernel/LHCbAlgs v3r5
  . QMTest:
    o Condition path changed in the scripts for the Updated DQFLAGS.db
    o Update DQFLAGS.db to remove the xml extension in one of its node paths
  . TrajPoca: polish code and methods a little, speeds up TrajPoca by 7.7%

- In Kernel/LHCbKernel v15r9
  . move count_iterator form Phys/DaVinciTypes 
  . CircleTraj: speed up distTo2ndError by factor 3 (fast cube root)
  . STDataFunctor: avoid call to exp and log from pow, as the exponent is integer

- In Kernel/LHCbMath v3r55, v3r56
  . Minor fixes in Bernstein 
  . use VectorLib to improve Similarity_AVX
  . add running counter 
  . Added timing test for The Similarity functions 
  . improve numerical stability 
  . minor updates and fixes
  . Updated check threshold for TestSimilarity
  . add one more test
  . Fix a bug in the interaction of the product of Bernstein polynomial and an
    exponential function  
  . Add conversions of polynomial bases  
  . nSphere: use vtd::fast_sincos.
  . Add new header FastRoots.h which implement fast cube and fifth roots and
    their inverses which are accurate to almost the full precision of the
    underlying floating point type, and also a very quick and dirty
    approximation to the hypot function (hypot(x, y) = sqrt(x * x + y * y), the
    approximation of hypot is good to about 4% relative error)
  . Add dependency on pyanalysis  (needed for test_poly.py)

- In Phys/LoKiCore v11r23
  . Functors and Trees:
    o add some "move" constructors/assignements 
    o add swapping methods 
      for decay matching some non-negligible speedup could be expected 
  . ToCpp:
    o extend maximal number of arguments from 7 to (compile-time) infinity 
  . Fix stupid bug in Operations.h
  . Add "FakeSource" , useful for testing, in particular for creation of fake
    streams
  . Add NoEmptyUnion, union of two streamers that is empty if one of inputs is
    empty, and equal to the union of inputs otherwise. 
    Add also 3 and 4-argument variants 

- In Phys/LoKiHlt v3r20
  . HDRFilter : 
    o add two special cases 
      1) Hlt2*Hlt1* name  for filtering of Hlt1 decisions 
      2) stripping case 
    o make default location dependent on the name 
    o Check in initialization consistency of name/code/location 

- In Phys/LoKiMC v10r17
  . Fix typo in the print method 

- In Phys/LoKiNumbers v10r9
  . Add fake source 

- In Rich/RichKernel v7r59
  . Add common option to toolRegistry() method.
  . Suppress info messages about MC Association tool type change from the tool
    registry, as this change is normal and always happens when running on data.
  . Add an additional iteration to the calculation in fast_cbrt.

- In Tools/CondDBUI v3r33
  . Added writeDuplicate argument for method CondDB.storeXMLStringList() which is
    set to True be default. When writeDuplicate is set to False, there will be a
    check on whether the new & old payload contents are identical and only in the
    case of no the new payload contents are saved.

2015-03-02 LHCbSys v38r5

This version uses Gaudi v26r1 and LCG_74root6 with ROOT 6.02.05.

- Packages added:    Kernel/VectorClass v1r16 - agner.org vectorisation libary
                     (temporary, waiting for LCG distribution)
- Packages modified: DAQ/DAQSys v8r7, Det/DDDB v1r74, Det/DetDesc v18r36,
    Det/FTDet v2r9, Det/Magnet v7r9, Det/OTDet v8r15, Det/RichDet v17r2,
    Event/EventPacker v4r7, Event/FTEvent v1r7, Event/MCEvent v3r2,
    GaudiConf v19r7, GaudiObjDesc v11r21, HC/HCDAQ v1r2, Hlt/HltServices v2r7,
    Kernel/HltInterfaces v6r0, Kernel/LHCbKernel v15r8, Kernel/LHCbMath v3r54,
    Kernel/XMLSummaryKernel v1r12p1, L0/L0Muon v9r14, OT/OTDAQ v7r19,
    Phys/LoKiCore v11r22, Phys/LoKiGen v10r20, Phys/LoKiHlt v3r19,
    Phys/LoKiMC v10r16, Phys/LoKiNumbers v10r8, Rich/RichKernel v7r58,
    ST/STDAQ v4r6

- In DAQ/DAQSys v8r6, v8r7
  . Updated TrackReports Decoder locations.
  . Decoders.py: set up separate configurations for the decoder of OT "normal"
    RawBanks and OTRaw and OTError "expert" banks

- In Det/DDDB v1r74
  . Update default database tags to the latest ones:
    o DDDB,     2015                        : dddb-20150119-3
    o DDDB,                 2012            : dddb-20150119-2
    o DDDB,                       2011      : dddb-20150119-1
    o DDDB,                             2010: dddb-20150119
    o LHCBCOND, 2015                        : cond-20150119-1
    o LHCBCOND,       2013, 2012, 2011, 2010: cond-20150119

- In Det/DetDesc v18r36
  . SolidTicks: get rid of dynamic memory allocation in RemoveAdjacent
                (this will speed up offline track fit by 3.4%)
  . LVolume, VolumeIntersectionIntervals: reserve space in
    std:vector and std::vector ("IndexCont"), and move
    allocations out of loops
    (these two changes gain about 0.9% of time in offline track fit)
  . SolidMath: rewrite quadratic equation solver for better numerical
    stability; also regroup/refactor some calculations to save a FLOP or
    two (little impact in time, no change in results)
  . go some way towards pushing StaticArray into the C++11 age
  . New vectorised implementation of MagneticFieldGrid based on the
    VectorClass package.
  . Add new a new data member to MagneticFieldGrid to cache the inverse of
    the step sizes. Allows the replacement of all divisions by multiplications
    (and the removal of one) leading to for instance around an 8% speed 
    improvement in the fieldVector method.

- In Det/FTDet v2r9
  . Fix bug affecting the way the fractional position is used in the light
    sharing for tracks crossing the inter SIpms gaps (at least when this single
    gap size is not an integer multiple of the sipm cell size) : slight increase
    in track reconstruction efficiency after the correction

- In Det/Magnet v7r9
  . Adapt to new vectorised version of MagneticFieldGrid.
  . Fill the new MagneticFieldGrid data member, that caches the inverse of
    the step sizes.
  . Add options to load compensator and LSS magnets.

- In Det/OTDet v8r15
  . RtRelation: reimplement using ChebyshevApprox class to get rid of the large
    lookup tables, the order of ChebyshevApprox is chosen to be of similar
    quality as the fast approximation in WalkRelation (equivalent to about a
    quarter of an OTIS time bin), and the approximation errors of r(t) and
    sigma_r(t) are now of a similar order of magnitude (before, the error made
    in sigma_r(t) was an order of magnitude larger than the one on r(t))
    Also, it uses float internally, as the OTIS does not have the resolution to
    require double precision...
  . DeOTModule: add protection code which monitors accuracy of approximations
    in WalkRelation and RtRelation when they are set/changed; warning
    thresholds are set to the equivalent of half an OTIS time bin (6.5-7.8% of
    OT resolution), and error messages are printed if the accuracy is worse
    than twice that.
  . WalkRelation: use new ChebyshevApprox class from LHCbMath; this should be
    40% faster than the previous code, and is accurate to better than half an
    OTIS bin (i.e. better than about 0.2 ns), more than accurate enough not to
    cause trouble in code using this fast version (this corresponds to about 6
    to 8 % of the OT resolution)
  . Added condition for global t0 of OT

- In Det/RichDet v17r2
  . Use long int instead of just int in DeRichHPDPanel::findHPDColAndPos to 
    avoid FPE's when truncating very large doubles to integer values.
  . Various speed improvements to DeRichHPDPanel (such as removing completely
    an unneccessary virtual function call and dynamic_cast, when getting the
    DeRichHPD object for a given HPD number...).

- In Event/EventPacker v4r7
  . Add support for BCM and BLS hits.

- In Event/FTEvent v1r7
  . Removed 'FTRawCluster', which was not used any more since almost a year
    (replaced by FTLiteCluster)

- In Event/MCEvent v3r2
  . Add BCM and BLS hit locations.

- In GaudiConf v19r7
  . Add BCM, BLS and HC (Herschel) to SimConf.py.
  . Removed a few .qmt files because they were referring to files that have been
    removed by Rob on 2014-01-20.

- In GaudiObjDesc v11r20p1, v11r21
  . Do not call QMTest tests from CMake builds, because all the tests are already
    described in the CMakeLists.txt.

- In HC/HCDAQ v1r2
  . Protect against inserting digits with existing cell IDs.
  . Add PS/SPD bank decoding.

- In Hlt/HltServices v2r7
  . Switch default config access service to CDB.
  . ConfigArchiveAccessSvc (i.e. ConfigTarFileAccessSvc & ConfigZipFileAcessSvc): 
    use old-style format, i.e. use 'str()' directly instead of operator<<
  . Fix query for IP address (lower 16 bits are stored in HltDecReport to
    determine which machine was used)
  . In cmt/requirements, add a dependency to avoid compiling the
    hlttck_cdb_listkeys .cpp files twice in separate threads, that can interfere
    with each other

- In Kernel/HltInterfaces v6r0
  . switch print() to json format, but allow ConfigArchiveAccessSvc access to
    old style format using str()

- In Kernel/LHCbKernel v15r8
  . CircleTraj: speed up the muEstimate method by factor of 3
  . Fix some RICH dictionary warnings.
  . Fix typo: change LHCb::LHCbID::channelIDype -> LHCb::LHCbID::channelIDtype
  . Replace usage of boost with C++11 constructs. 
  . Replace some loops by STL algorithms.
  . Use C++11 to simplify a few things.
  . Fix violation of 'one definition rule' in CaloCellCode
  . MemPoolAlloc: provide pre-C++11 version of commit in v15r7

- In Kernel/LHCbMath v3r54
  . Extend a bit VE-math 
  . Improve printout for WStatEntity 
  . Make flatte amplitude simpler 
  . Add LHCbMath/PolyEval.h, as a substitute for various hand-written or
    library supplied routines (like GSL's poly-eval); the main feature of this
    implementation is a focus on writing C++ code that will map nicely onto
    CPUs with FMA support and unrolling the loop, so the loop counter needs
    checking only every eight coefficients
  . MatrixUtils.h: add Gaudi::Math:inverse   
  . Improve splines, add convex spline
  . Move bernstein polynomials into separate file.
  . Add monithonic and convex polynomials  
  . Add class to calculate fixed order Chebyshev approximations to given
    functions; this class is meant for fast approximations of complicated
    fuctions (prime example is the walk correction in the OT)
  . Ensure that _mm256_zeroupper() is invoked at the boundaries of AVX
    and non-AVX code -- see the discussion in section 12.1 of 
    http://www.agner.org/optimize/optimizing_cpp.pdf
  . Add VectorClassTypes.h
  . Add a new test TestXYZTypes
  . Add a new header LHCbMath/EigenTypes.h that contains so wrapper classes
    that make it easier to convert between Gaudi XYZ points and vectors
    and representations based on the Eigen library of vectorised objects.
  . Add a new test application, TestEigenGeometry, to help with testing
    the Eigen package.
  . Add headers for Eigen v3.2.4 library. This is a TEMPORARY measure, awaiting
    correct deployment of Eigen within the LCG Externals area

- In Kernel/XMLSummaryKernel v1r12p1
  . Update tests to use an input file from PRCONFIG (on eos) instead of a private
    castor file

- In L0/L0Muon v9r14
  . Remove unnecessary test on the presence of the RawEvent at a fix location
    which was preventing to run the emulator on dst

- In OT/OTDAQ v7r19
  . OTRawBankDecoder: use the vetoing of out-of-time hit pairs by default

- In Phys/LoKiCore v11r22, Phys/LoKiGen v10r20, Phys/LoKiHlt v3r19,
     Phys/LoKiMC v10r16, Phys/LoKiNumbers v10r8
  . Steps towards autogeneration of C++ code 

- In Phys/LoKiCore v11r22
  . Instrument some destructors 
  . Restore scalers and listener 

- In Rich/RichKernel v7r58
  . Update RichHypoData to use std::array instead of boost::array.
  . Fix a bug in RichHypoData::resetData( const TYPE & value ) that was 
    incorrectly setting the valid flag to true instead of false.
  . Update the default tool mappings in the tool registry to use new 
    implementations of the mirror finder and ray tracing.
  . Add RichKernel/FastRoots.h that contains various methods for the fast
    calculation of square and cube roots.
  . Various small CPU optimisations.
  . Make the default 'SignalDetEffType' and 'CkResType' tools types in
    Configuration.py for the HLT the same as for Offline.

- In ST/STDAQ v4r6 
  . Extend list of known raw event locations in the decoders to include 
    LHCb::RawEventLocation::Tracker.

2015-01-15 LHCbSys v38r4

This version uses Gaudi v26r0 and LCG_72root6 with ROOT 6.02.03.

- Packages modified: Associators/MCAssociators v1r5, Det/DetCond v12r40p1,
    Det/DetDesc v18r35, Det/Magnet v7r8, Det/MuonDet v9r17, Det/OTDet v8r14,
    Det/RichDet v17r1, Hlt/HltDAQ v4r12, Kernel/LHCbKernel v15r7,
    Kernel/LHCbMath v3r53, OT/OTDAQ v7r18, Phys/LoKiHlt v3r18,
    Rich/RichKernel v7r57

- In Associators/MCAssociators v1r5
  . Make code neutral wrt. return type of algMgr->getAlgorithms()

- In Det/DetCond v12r40p1
  . Fix gcc49 unused function warning in DQScanTest.cpp

- In Det/DetDesc v18r35
  . Switch the internal representation of the magnetic field to single precision
    This significantly reduces the memory (and cache) requirements

- In Det/Magnet v7r8
  . Make the MagneticFieldReader code (at source level) independent of the
    internal storage type of the MagneticFieldGrid
  . Speed up the MagneticFieldGrid initialization by _not_ thrashing the
    cache maximally...

- In Det/MuonDet v9r17
  . Reduce the number of local-to-global transformations

- In Det/OTDet v8r14
  . Create separate condition for mono layer alignment in geometry
  . Fix position of wire locators for short modules
  . Modify approximation of 3-segment wire for pattern reco

- In Det/RichDet v17r1
  . Fix a bug related to the new InactiveHPDList condition (not yet
    active) that prevented the reading of the new inactive HPD list from
    the ONLINE partition.

- In Hlt/HltDAQ v4r11, v4r12
  . Add ReportConvert tool (needed for versioning).
  . Fix hltdaq.b_dumpafterreformat test to follow SelReports bank version change
  . Increase SelReport bank version to 3 (for productions with Turbo reports).

- In Kernel/LHCbKernel v15r7
  . MemPoolAlloc: remove pass-through placement new, add template parameters
    which allow one to enable/disable the use of a mutex to 'protect' the
    singleton managing the pool, and set the size of the underlying memory 
    requests. Defaults are such that the behavious is backwards compatible.

- In Kernel/LHCbMath v3r53
  . Fix gcc49 unused function warning in Hesse.cpp
  . Fix gcc49 unused local typedef warning in BSpline.cpp
  . Add vectorized (5x5) -> (5x5) and (5x5) -> (7x7) symmetric matrix
    similarity transforms -- these come in three flavours 'generic',
    'SSE3' and 'AVX'; the relevant version is choosen dynamically
    at runtime, on its first invocation.
  . Add generic & initial AVX version of 'average' used in Kalman Bi-Smoother.
    Generalize dispatcher to be able to deal with both void and non-void functions
  . Cleanup namespace convention & dispatcher, add 'LHCb::Math::Filter'
  . Added Unit test that checks the 5x5 similarity calculation in LHCbMath is
    identical when done on the various instruction sets (SSE3, AVX).
  . Add test for Similarity_5_7 and 5_1 

- In OT/OTDAQ v7r18
  . OTRawBankDecoder:
    o add option to veto hit pairs in OT for which one hit falls outside the OT
      readoutwindow. Hits outside the time window are discarded. If a hit pair
      in neighbouring straws exists for which both hits are inside the window,
      both hits survive. If one hit is inside and one outside the time window,
      and both hits are either in early, or both are late in the readout
      window, both hits are killed (if vetoing is activated).  In all other
      cases, the hit inside the readout window survives. For now, the default
      is to have this new option disabled.
    o cosmetic change: rewrite the memory management inside the helper classes
      so that one memory allocation is enough (instead of one per module),
      modules are now packed in a consecutive stretch of RAM (which is likely
      helping with caching)

- In Phys/LoKiHlt v3r18
  . Stylistic change of check for turbo bit
  . New HLT_TURBOPASS_RE and HLT_NONTURBOPASS_RE functor.

- In Rich/RichKernel v7r57
  . Update the default tool types in RichTools Configurable to make the HLT 
    defaults the same as Offline.

2014-12-15 LHCbSys v38r3p1

This version uses Gaudi v25r6p1 and LCG_71root6 with ROOT 6.02.02.

Identical to v38r3 but build against LCG_71root6 with ROOT 6.02.02

2014-12-15 LHCbSys v38r3

This version uses Gaudi v25r6 and LCG_71 with ROOT 5.34.24.

- Packages modified: Calo/CaloKernel v6r5, Det/DetCond v12r40, Det/FTDet v2r8,
    Det/OTDet v8r13, Det/RichDet v17r0, Event/DigiEvent v4r3,
    Event/EventPacker v4r6, Event/EventSys v26r2, Event/HltEvent v9r5,
    Event/LinkerInstances v4r1, Event/LumiEvent v3r8, Event/MicroDst v1r3,
    Event/PhysEvent v11r28, FT/FTDAQ v1r7, GaudiConf v19r6, HC/HCDAQ v1r1,
    Hlt/HltDAQ v4r10, Hlt/HltServices v2r6, Kernel/FSRAlgs v1r7,
    Kernel/HltInterfaces v5r3, Kernel/LHCbKernel v15r6, Kernel/LHCbMath v3r52,
    Phys/LoKiCore v11r21, Phys/LoKiGen v10r19, Phys/LoKiHlt v3r17,
    Phys/LoKiMC v10r15, ST/STDAQ v4r5, Tools/CondDBUI v3r32

- In Calo/CaloKernel v6r5
  . Fix compilation warning with --pedantic in CaloCollection

- In Det/DetCond v12r40
  . Configuration.py: 
    o Add option LatestGlobalTagByDataTypes to allow for multiple datatypes.
    o Include of DQFLAGS to assign the most recent tag for a given datatype

- In Det/FTDet v2r8
  . Go back to ClassID=8604 for "DeFTLayer" class
    (was 8603, bilayer class changed too)
  . Split "CalculateHits" : the part validating the Mc hit and computes sipm id,
    etc. has been put in "CalculateSipmInfo"
  . The hit validation in "CalculateHits" has changed (now in "CalculateSipmInfo")
    some useless parts are removed, introduction of tolerances for
    Geant4/Arithmetic inaccuracy while testing if a Hit in inside a Volume.
  . "CalculateHits" and "CalculateSipmInfo" now return a StatusCode with a
    severity info code which flags the hit rejection cause (if any).
  . Some changes in "DeFTTestAlg"
  . Correct a bug in "fibreMatMinY" and "fibreMatMaxY": the max and the min were
    inverted
  . Correct a bug in hit fibre length computation, affects both v2 and v4 geometry
  . Introduce 1st version of code compatible with geometry v4 (only v42 for now)
  . Use new modified database with more user parameters
  . Changes in "CreateDetSegment" to return ymin and ymax of fibermat
    (in global frame)
  . Some changes also in v2 to avoid using hard coded numbers
  . Made some cleanup in DeFTDetector for adapting to different geometry versions
  . Made minor modifications to DeFTFibreMat in order to process version 40 of the
    FT geometry without a crash and to read user parameters from xml database. 

- In Det/OTDet v8r13
  . Implemented trajectory in three parts for monolayer shifts
  . Changes in implementation of monolayer alignment

- In Det/RichDet v17r0
  . Changes to DeRichSystem in order to move the DetectorNumbers 
    condition from CondDB to ONLINE. The conditions has been split with the
    inactive HPDs in a new condition. The changes work with any version of 
    DDDB, however, a new DDDB version would need the correct ONLINE
  . Added method systemVersion() (there is already a version() in detector
    elements that is always empty)

- In Event/DigiEvent v4r3
  . Added HCDigit to store the Herschel PMT adcs

- In Event/EventPacker v4r6
  . Remove dictionary for std::pair as it is already produced
    in the PhysEvent dictionary.

- In Event/EventSys v26r2
  . Updated CMake configuration after the fix to GAUDI-972 (in Gaudi).

- In Event/HltEvent v9r5
  . HltDecReports: 
    o define the 'Hlt1Default' and 'Hlt2Default' TES locations
    o provide access to the 'reserve' and 'hinted insert' methods
      of the underlying container
  . Some minor code cleanup

- In Event/LinkerInstances v4r1
  . Fix use of anonymous namespace in instantiations for dictionary.

- In FT/FTDAQ v1r7
  . In FTRawBankEncoder cluster size reduced of one unit, and in FTRawBankDecoder
    increased of 1 in order to keep clusters with size 1,2,3 and 4 using 2 bits
    to encode the cluster size in the data format.

- In GaudiConf v19r6
  . Add LDST to list of known file extensions in IOHelper.

- In HC/HCDAQ v1r1
  . Add error bank decoding.
  . Revisited the code and added the L0 decoding (code from TED 2014)
  . Adapt decoder to ECAL format.

- In Hlt/HltDAQ v4r9,v4r10
  . Adjusted track locations to shared ones for the upfront tracking  
  . Write out VeloTT tracks from HltHPTTracking
  . Small speed-up of HltVertexReportsWriter and HltTrackingCoder
  . Add a big deprecation warning when decoding both Hlt1 and Hlt2 to 
    a single TES location
  . Avoid std::stringstream
  . Major update: Additional decoding for turbo level reports.
  . HltSelReportsDecoder: avoid stringstream, prefer range-based for
  . Added extra checking & diagnostics. 
  . Generic C++ code cleanup.
  . Replace 'virtual' qualification on member functions of derived classes with
    'override'
  . When classes have a trivial d'tor, replace explicit implementation with
    '=default'

- In Hlt/HltServices v2r5,v2r6
  . C++11 cleanup
  . Added creation of hlttck_cdb_listkeys.exe to the CMake configuration.
  . HltConfigSvc can now create multiple dec report locations at the same time.
  . Trim trailing zeros in longname tar header
  . Simplify iteration over tar file content in utility
  . Fix missing label on generated manifest from tar file
  . In utility, find the label in a format agnostic way
  . Enable JSON output of manifest in utility
  . Utility: fix key prefix in .tar to .cdb conversion, add re-formatting during
    conversion, add option to create manifest from .tar, improve dump formatting

- In Kernel/FSRAlgs v1r7
  . Modified mergesmallfiles test to record the used memory also in case of
    success.

- In Kernel/HltInterfaces v5r3
  . TCK: replace do-it-yourself unhex with std::stoul, make operator<< inline
  . ConfigTreeNode, PropertyConfig: make operator<< and operator>> inline
  . ConfigTreeNode: allocate string of right length for string rep, only strip
    newlines when making string rep, use std::copy_if instead of boost to do so,
    add one more check (neccessady, but unfortunately not sufficient) on string
    rep of property
  . PropertyConfig: allocate string of right length for string rep.
  . ConfigTreeNodeAlias: inline operators<< and operator>>, replace do-it-yourself
    unhex with std:stoul
  . Streamline use of boost::ptree

- In Kernel/LHCbKernel v15r6
  . Added HCCellID class for the Herschel channels and related declarations.
  . Print a warning when using the patched merge_files.py, so that we can detect
    where the work-around is enabled.

- In Kernel/LHCbMath v3r52
  . Some improvement in the integration of 2D-polynomials 
  . Add varios Splines (B,I,M,..)
  . BloomFilter:
    o make various overloads a bit more specific, so compilers don't
      run into trouble
    o trivial change to avoid compiler error at -O0 (no visible changes in
      client code)

- In Phys/LoKiCore v11r21
  . FunctorFromFunctor: add move-constructor

- In Phys/LoKiHlt v3r17
  . L0 functors: use std:: algorithms whenever possible
  . Hlt functors:
    o use std:: algorithms whenever possible
    o fix logic in DecisionButRegex
    o speed up CountErrorBitsRegex by reversing the order of tests 
 . Remove duplicate dictionary for enum LHCb::L0DUDecision::Type, already
   in L0Event

- In ST/STDAQ v4r5
  . Fix bug introduced in decoding that prevented the proper decoding of TAE event

- In Tools/CondDBUI v3r32
  . PyCoolCopy().copy would not support a connection string as its target db when
    the target db does not exist, now use an empty cool.IDatabase object

- In Event/EventSys v26r2, Event/HltEvent v9r5, Event/LumiEvent v3r8,
     Event/MicroDst v1r3, Event/PhysEvent v11r28, Phys/LoKiGen v10r19,
     Phys/LoKiMC v10r15
  . Reverted work around for spurious entries in the rootmap files.

2014-10-17 LHCbSys v38r2p1

This version uses Gaudi v25r5 and LCG_70root6 with ROOT 6.02.01.

Identical to v38r2 but build against LCG_70root6 with ROOT 6.02.01

2014-10-17 LHCbSys v38r2

This version uses Gaudi v25r4 and LCG_69 with ROOT 5.34.21.

- Packages modified: DAQ/DAQSys v8r5, Det/CaloDet v10r20, Det/DDDB v1r73,
    Det/DetCond v12r39, Det/DetDescSvc v3r8, Det/RichDet v16r25,
    Event/EventAssoc v5r6, Event/L0Event v19r9, Event/SwimmingEvent v1r6,
    Hlt/HltDAQ v4r8, Hlt/HltServices v2r4, Kernel/HltInterfaces v5r2,
    Kernel/LHCbKernel v15r5, Kernel/LHCbMath v3r51, Kernel/PartProp v1r19,
    Kernel/XMLSummaryKernel v1r12, Phys/LoKiGen v10r18, Phys/LoKiHlt v3r16,
    Phys/LoKiMC v10r14, Phys/LoKiNumbers v10r7, Tools/CondDBUI v3r31,
    GaudiConf v19r5, Event/EventPacker v4r5

- In DAQ/DAQSys v8r5
  . New TrackReports Decoder locations - only affecting the HLT internally

- In Det/DDDB v1r73
  . Update default database tags to the latest ones:
    o LHCBCOND, 2015, 2013, 2012, 2011, 2010 : cond-20141007

- In Det/DetCond v12r38, v12r39
  . DetCond configurable: 
    o Remove explicit partition name and defer this to the keys (i.e. filename)
      in the RunChangeHandlerConditions map.
    o Combine the RunChangeHandlerConditions and XMLFilename properties into a
      single dictionary of filename -> list of conditions so that the 
      RunChangeHandler can be configured to use multiple _.xml 
      files.
  . Avoid a spurious warning about ONLINE tag

- In Det/DetDescSvc v3r8
  . Change runchangehandler so that it also works without '%04d' in the filename.
  . Fixed small bug in handling incident without a run change.

- In Det/RichDet v16r25
  . Update RichSmartID search in DeRichSystem to avoid type mis-matches caused by
    updates to RichSmartID.

- In Event/EventPacker v4r5
  . Add missing dictionary entries for packed related info classes

- In Event/SwimmingEvent v1r6
  . Move the various helper functions to be static members of a Swimming::Helpers
    class. This allows the swimming code to work in ROOT6 applications, which
    couldn't cope with the inline globals.
  . Remove sorting of LHCb IDs when we are matching without composite PIDs. This
    was never needed for ConjugateNeutralPID()'d locations and introduced a rare
    bug.
  . Add some extra hashing/matching functions for particles for use in
    Phys/Swimming -- these include variants/options to pick whether or
    not we include the PID of composite particles in the hashes.

- In GaudiConf v19r5
  . Add FMDST to list of known file extensions in IOHelper
  . Add LDST to DstConf. New simulation DST type, same as DST but with Boole
    linkers added (links from digits to MCParticles)


- In Hlt/HltDAQ v4r8
  . Added recvertex chi2 to summary objects
  . Small hack to be able to compile against LCG experimental builds.
  . Hlt track root locations changed to Hlt1/Track and Hlt/Track   
  . Renamed track location Hlt/Track/ForwardPEsti to Hlt1/Track/ForwardHPT 

- In Hlt/HltServices v2r4
  . Move code around so tar access is possible in utilities
  . Add option to utlity to literally convert a config.tar file to a config.cdb 
    file

- In Kernel/HltInterfaces v5r2
  . PropertyConfig, ConfigTreeNode: avoid strstream in computation of digest 

- In Kernel/LHCbKernel v15r5
  . Add support to RichSmartID to convert to and from a signed int (internal
    representation is an unsigned int). Useful for interactions with CondDB or
    DetDesc which only supports signed ints.

- In Kernel/LHCbMath v3r51
  . Functions.cpp: fix stupid typo 
  . BloomFilter: 
    o Be nice and undefine the preprocessor macros which do not have
      the BLOOMFILTER prefix...
    o Replace  template metaprogrammed fixed point log2 by constexpr functions.
      Not done for icc as constexpr is not well supported by that compiler

- In Kernel/PartProp v1r19
  . ParticleProperty.cpp: tiny improvement for printout 

- In Kernel/XMLSummaryKernel v1r12
  . Workaround for bug https://sft.its.cern.ch/jira/browse/ROOT-6516

- In Phys/LoKiHlt v3r16
  . LoKi::Hybrid::EvtTupleTool: get HltDecReports from the location in the
    HLT_Location property

- In Tools/CondDBUI v3r31
  . Added JIRA support when writing to release_notes.xml
  . Fixed a bug in script CondDBAdmin_GlobalTag.py

- In Det/CaloDet v10r20, Event/EventAssoc v5r6, Event/L0Event v19r9, 
     Kernel/LHCbKernel v15r5, Kernel/LHCbMath v3r51, Phys/LoKiGen v10r18,
     Phys/LoKiHlt v3r16, Phys/LoKiMC v10r14, Phys/LoKiNumbers v10r7
  . Fixed genreflex warnings (ROOT 6).

2014-09-15 LHCbSys v38r1

This version uses Gaudi v25r3 and LCG_69root6 with ROOT 6.00.00.

- Packages modified: Calo/CaloInterfaces v8r9, DAQ/DAQKernel v1r1,
    DAQ/DAQSys v8r4, DAQ/RawEventCompat v1r6, DAQ/Tell1Kernel v1r13p1,
    Det/DDDB v1r71, Det/DetCond v12r37, Det/DetDesc v18r34,
    Det/DetDescChecks v5r11, Det/MuonDet v9r16, Event/DAQEvent v9r17,
    Event/EventPacker v4r3, Event/PhysEvent v11r27, Event/RecEvent v2r53,
    Event/SwimmingEvent v1r5p2, Event/TrackEvent v6r2, Ex/IOExample v4r14,
    GaudiConf v19r4, Hlt/HltDAQ v4r6, Kernel/LHCbAlgs v3r4, Kernel/LHCbKernel v15r4,
    Kernel/LHCbMath v3r50, Kernel/Relations v6r3, Phys/LoKiCore v11r20p1,
    Phys/LoKiHlt v3r15, Rich/RichKernel v7r56, Tools/CondDBUI v3r30,
    Velo/VeloDAQ v6r12

- In Calo/CaloInterfaces v8r9
  . ICaloHypoEstimator.h : add ClusterCode & ClusterFrac as extra info

- In DAQ/DAQKernel v1r1
  . Some minor coding improvements to the base class.

- In DAQ/DAQSys v8r4
  . Define new instances of decoders (disabled by default) for "expert" banks
    "TTPedestal","TTFull","TTProcFull","TTError", "ITPedestal","ITFull",
    "ITProcFull","ITError", "UTPedestal","UTFull","UTError", "OTError",
    "EcalPackedError", "HcalPackedError", so that these banks can reside in a 
    different RawEvent from the normal bank of these sub-detectors
  . Bug fix in DecodeRawEvent, check on algs writing to same location was using
    a non-existent function of the Decoder class
  . Commented out Calo trigger banks from DecodersDB configuration of 
    L0DUFromRawTool, as this was preventing Moore from decoding L0DU on S20
    input. See https://savannah.cern.ch/task/?19106
  . Fix indentation bug in Configuration.py, input RawEventLocations were not
    being updated according to Split RawEvent Input version
  . Use one HltTrackReportsDecoder for all sourceID/TES locations and update
    daqsys.decoder-db test accordingly

- In DAQ/RawEventCompat v1r6
  . If a new bank is requested to be added to a RawEvent in an output location
    that already existed as input location, print a warning and skip
    configuration for that bank. Previously, whole configuration was aborted

- In DAQ/Tell1Kernel v1r13p1
  . Removed ; from the end of a namespace (fixes cmake warnings)

- In Det/DDDB v1r71, v1r72
  . Add 2015 data type
  . Update default database tags to the latest ones:
    o DDDB,     2015                  : dddb-20140729
    o DDDB,           2013, 2012, 2011: dddb-20130929-1
    o LHCBCOND,       2013, 2012, 2011: cond-20140604
    o DQFLAGS,  2015, 2013, 2012, 2011: dq-20140822

- In Det/DetCond v12r37
  . Configuration.py: added a layer of CALIBOFF above LHCBCOND when LoadCALIBDB
                      option is OFFLINE 
  . Added qmtest module "detcond.check_db_reading" to check the db reading
    functionality in Tools/CondDBUI

- In Det/DetDesc v18r34
  . Removed obsolete (unused) file ISolidFactory.h.

- In Det/DetDescChecks v5r11
  . New tests added for DataType 2015: loaddddb-2015 & loaddddb-sim-2015

- In Det/MuonDet v9r16
  . Various CPU performance improvements

- In Event/DAQEvent v9r17
  . Add Velo, Tracker and Unstripped RawEvent locations.

- In Event/EventPacker v4r3, v4r4
  . Add an option ClearRegistry to various packers to control if the address
    of the input data is cleared or not after packing.
  . Add support for packing custom MuonPID, Track and ProtoParticles produced by 
    Stripping Lines.
  . Change the key in the PackedTrack and PackedProtoParticle classes from a
    32 to 64 bit int. Needed to allow the packing of the container information.
  . Added counter to DumpTracks
  . Add support for packed RelatedInfo relations.

- In Event/PhysEvent v11r27
  . Include the TES location (when appropriate) in the fillStream printout
    for the Particle and Vertex classes.
  . Some minor improvements to RelatedInfoMap, including an operator 
    ostream << implementation.

- In Event/RecEvent v2r52, v2r53
  . Include the TES location (when appropriate) in the fillStream printout
    for the RecVertex class.
  . ProtoParticle.xml : add ClusterCode & ClusterFrac as extra info

- In Event/SwimmingEvent v1r5p2
  . Workaround for ROOT-6704 (incorrect dictionary)

- In Event/TrackEvent v6r2
  . Improve speed of Track::probChi2

- In Ex/IOExample v4r14
  . Update tests to follow changes in EventPacker

- In GaudiConf v19r4
  . Add option ClearRegistry to CaloPackingConf.py
  . Update the valgrind suppression files.
  . Add "Tracking" to KnownUpackingTypes in DstConf. If present in EnableUnpack
    list, enable Track and Vertex unpackers and disable corresponding packers.
    Used by Brunel to reprocess from DST without rerunning the tracking

- In Hlt/HltDAQ v4r6, v4r7
  . Changed bit shift for Major SourceID from 13 to 11 to make place for 
    SourceIDs > 3.  All raw files containing TrackReports have to be rewritten!  
  . HltTrackReportsDecoder: 
    o make sure counters are always filled
    o reset default output location
    o Suppress unused variable warning by wrapping execute method with a #pragma
  . HltSelReportsWriter: avoid problems with unsigned arithmetic in case
    banksize is zero.
  . HltTrackReportsWriter/Decoder: 
    o change of strategy: make it possible to use one writer/decoder instance 
      which deals with all TES location / sourceIDs if so configured
    o make sure that an emtpy rawbank is properly written
    o Added one more tracks location

- In Kernel/LHCbAlgs v3r4
  . Add new algorithm AddressKillerAlg, clears the address history in the TES.

- In Kernel/LHCbKernel v15r4
  . Added patched merge_files.py to allow work-arounds for ROOT6 runtime warnings
  . Removed duplicated dictionary entry.
  . Fix untested StatusCode in LbAppInit.cpp
  . Change content of PixelPositionInfo struct.

- In Kernel/LHCbMath v3r50
  . Types.py 
    o fix for missing __iadd__, __isub__ operators 
    o extend operators for linear-algebra vectors, 3D-points and 3D-vectors
    o add new QMTEST 
  . add BloomFilter class and corresponding unit test
  . Modify existing tests to run within the QMTest framework, and have it check
    exit codes (to be checked whether this is sufficient test of failures...)
  . Add more efficient treatment of normalization integrals 
  . Few minor fixes in Bukin function
  . Add SinhAsinh function

- In Kernel/Relations v6r3
  . Add a size() method to Relation1D and Relation2D.
    Needed to statisfy templated algorithm requirements in the data packing.

- In Phys/LoKiCore v11r20p1
  . Fix LoKi::Power to pass an unsigned long exponent to Gaudi::Math::pow

- In Phys/LoKiHlt v3r15
  . Add HLT_TCK functor which gets the TCK from the HltDecReports

- In Rich/RichKernel v7r56
  . Remove support for deprecated DetailedTrSegMakerFromRecoTracksStateProvider

- In Tools/CondDBUI v3r30
  . Fixed a typo in Models.py which stops the program from getting IoVs
  . Fixes of COOL API compatibility issues with ROOT 6
  . Exception handlings for COOL added in the Helper by hand.
  . Ported to CMake the changes in the build (helper library etc.).
  . Admin/ReleaseNotes.py: lines altered to quell warning messages on coding
    convention during running 

- In Velo/VeloDAQ v6r12
  . Added LHCb::RawEventLocation::Velo to the default location list

2014-07-14 LHCbSys v38r0

This version uses Gaudi v25r3 and LCG_69 with ROOT 6.00.00.

- Packages added:    HC/HCDAQ v1r0 - Decoding of Herschel raw banks
- Packages modified: Calo/CaloInterfaces v8r8, Calo/CaloUtils v10r4, 
    Det/DDDB v1r70, Det/DetDescSvc v3r7, Det/RichDet v16r24, Event/DAQEvent v9r16,
    Event/EventAssoc v5r5, Event/EventPacker v4r2, Event/EventSys v26r1,
    Event/HltEvent v9r4, Event/LumiEvent v3r7, Event/MicroDst v1r2,
    Event/PhysEvent v11r26, Event/RecEvent v2r51, GaudiConf v28r2,
    Hlt/HltDAQ v4r5, Kernel/LHCbAlgs v3r3, Kernel/LHCbKernel v15r3,
    Kernel/LHCbMath v3r49, Kernel/MCInterfaces v1r18, Phys/LoKiGen v10r17,
    Phys/LoKiMC v10r13, ST/STKernel v2r13p1, Tools/CondDBUI v3r29,
    Tr/LHCbTrackInterfaces v2r2

- In Calo/CaloInterfaces v8r8
  . IGammaPi0SeparatioTool : change method signature
  . IneutralIDTool         : new interface for MLP-based neutralID
  . ICaloShowerOverlapTool : new interface for Shower Overlap correction
  . ICaloHypoEstimator     : add neutralID input/output
  . ICaloSubClusterTag.h   : add new virtual method to set/get cluster mask

- In Calo/CaloUtils v10r4
  . CaloMomentum.cpp    : protect against negative calo energy
  . CovarianceEstimator : 
    o Add global term to Cov_ii - add covariance parametrization per calo area
    o Set default energy to 0 in case of evaluation failure
      (no more huge negative value !)
    o Prepare for different cluster masking for energy and position
	. CaloUtils/ClusterFunctors.h : update tagTheSubCluster() method 

- In Det/DDDB v1r70
  . Update default database tags to the latest ones:
    o DDDB,     2010 : dddb-20140610
    o LHCBCOND, 2010 : cond-20140604

- In Det/DetDescSvc v3r7
  . RunChangeHandlerSvc: 
    o Clean the XmlParserSvc cache if it gets a RunChangeIncident without a
      change of run number.
    o Trigger an update on every RunChange incident and not only if there is a
      real change in the run number.

- In Det/RichDet v16r24
  . Added support to DeRichHPD for MDMS version 1. Implements a per-HPD scaling
    of the MDMS parameters based on the the per-run HPD image size.
  . Use the VDT math library in a few more places.

- In Event/DAQEvent v9r16
  . Added the method isFlagging() to ODIN to check it the trigger flagging bit is
    set.
  . Add HC RawBank type

- In Event/EventAssoc v5r5
  . Restored the changes required for ROOT 6 (reverted by mistake).

- In Event/EventPacker v4r2
  . Add a check in the ProtoParticle packer to test for over or under flow
    errors when packing ExtraInfo. 
  . Adapt to changes in the job options of the ChargedProtoANNPID algorithm.

- In Event/EventSys v26r1, Event/HltEvent v9r4, Event/LumiEvent v3r7,
     Event/MicroDst v1r2, Event/PhysEvent v11r26, Event/RecEvent v2r51,
     Phys/LoKiGen v10r17, Phys/LoKiMC v10r13
  . Strip spurious entry from the rootmap (ROOT 6 problem).

- In Event/PhysEvent v11r26
  . Add more structures from RelatedInfoMap to dictionary.

- In Event/RecEvent v2r51
  . CaloDataFunctor : fix cluster evaluation
  . ProtoParticle.xml : map new neutralID info

- In GaudiConf v28r2
  . Add location for FT Clusters <-> MCHit links to be written out in DigConf.

- In Hlt/HltDAQ v4r5
  . Add dependency on LumiEvent
  . Silence warning about pre-existing HltRoutingBits RawBank
  . Implement same policy on warning messages in HltTrackReportsDecoder
  . Use more STL in HltTrackReportsDecoder
  . Update warning message in case TCK=0 
  . Empty (but present) track rawbank is not an error
  . Run clang-format
  . Add option to update 3rd word (Hlt2) of existing RoutingBits rawbank
  . Make it possible to skip setting Hlt2 routing bits
    (needed when running Hlt1 only)
  . Change policy on warning messages from HltTrackReportsWriter: if the
    configured TES location doesn't exist, keep score but don't print a
    warning i.e.  'nothing in' => 'nothing out and shut up'.

- In Kernel/LHCbAlgs v3r3
  . Added a test to ensure that the RunChangeHandler really triggers a reload of
    the XML files if it gets triggered without a change of the run number.
  . Modified OdinTimeDecoder to fire a RunChangeIncident not only when the run
    number changes, but also when the "trigger flagging" bit in the EventType
    word goes from flagging to filtering.
  . Modified the RunChangeTest to check all the possible transitions of run
    number and flagging bit in ODIN.

- In Kernel/LHCbKernel v15r3
  . Added patched merge_files.py to allow work-arounds for ROOT 6 runtime
    warnings.
  . Removed duplicated dictionary entry.
  . Fix untested StatusCode in LbAppInit.cpp
  . Change content of PixelPositionInfo struct.

- In Kernel/LHCbMath v3r49
  . Remove some local functions (non needed anymore)  
  . Fix some clang33 compilation warnings (unused variables)

- In Kernel/MCInterfaces v1r18
  . Move here QQqBaryons.h from LbGenXicc since it is just a class with enum and
    a map of strings and int to provide information about cc or bc barions. It
    is needed by GenCuts. Modified IF/ENDIF for new location. 

- In ST/STKernel v2r13p1
  . Minor fix to a header guard macro.

- In Tools/CondDBUI v3r29
  . Renamed dict/dictionary.h to avoid problems with ROOT 6.
  . Fixed problem with a change in the API of COOL.

- In Tr/LHCbTrackInterfaces v2r2
  . Adapt IVPClusterInterface to modified PixelPositionInfo format


2014-06-10 LHCbSys v37r3

This version uses Gaudi v25r2 and LCG_68.

- Packages modified: DAQ/DAQSys v8r3, Det/FTDet v2r7, Det/RichDet v16r23,
    Event/DAQEvent v9r15, Event/EventAssoc v5r4, Event/PhysEvent v11r25,
    Event/SwimmingEvent v1r5p1, FT/FTDAQ v1r6p1, GaudiObjDesc v11r20,
    Hlt/HltDAQ v4r4, Hlt/HltServices v2r3, Kernel/HltInterfaces v5r1,
    Kernel/LHCbMath v3r48, L0/L0Calo v11r14, Phys/LoKiCore v11r20,
    Phys/LoKiNumbers v10r6, Tools/CondDBEntityResolver v5r8, 
    Tools/FileStager v1r14

- In DAQ/DAQSys v8r3
  . Renamed HltTrackReportsDecoder to VeloDecoder
  . Added ForwardDecoder
  . Updated decoderdb test for above changes

- In Det/FTDet v2r7
  . Reintroduce binary search in DeFTDetector.
  . Fix unprotected 'debug()' in all DeFT* Classes
  . Precompute cosine of angle in DeFTFibreMat
  . Correct an unprotected zero division in createLightSharingChannels()
  . Fix inaccuracy in fractional position computation for cellID 0 and 130 in 
    CellIDCoordinates()

- In Det/RichDet v16r23
  . Fix a couple of untested StatusCodes

- In Event/DAQEvent v9r15
  . Remove definition of (obsolete) VPDigit RawBank

- In Event/EventAssoc v5r4
  . Add dictionaries for Particle->RelatedInfo relations
    (new persistency for cone variables etc.)

- In Event/PhysEvent v11r25
  . Add VectorMap typedefs for LHCb::RelatedInfo structure 
    (new persistency for cone variables etc.)
  . Fix the CMake configuration.

- In Event/SwimmingEvent v1r5p1
  . Minor fix to the CMake configuration.

- In FT/FTDAQ v1r6p1
  . Remove unnecessary include "Event/VeloLiteCluster.h"

- In GaudiObjDesc v11r20
  . Avoid that the KeyedObject base class of GOD generated classes appears in
    the rootmap (required for ROOT 6).

- In Hlt/HltDAQ v4r4
  . Better use of IANNSvc interface
  . Use a proper counter to keep track of number of decoded tracks in
    TrackReportsDecoder
  . Print out only one line if the relevant RawBank / RawEvent cannot be found
  . HltDecReportsDecoder: for backwards compatibility, if we cannot find a
    RawEvent, or RawEvent does not contain a HltDecReportsRawbank, put an empty
    HltDecReports onto the TES, print error, and return
  . Factor out code in common between the various RawBank decoders into
    HltRawBankDecoderBase. 
  . HltSelReportsWriter: more optimizations + C++11 changes..
  . HltLumiWriter: C++11 changes
  . HltDecReportsDecoder now uses (if a TCK is present in the DecReport RawBank)
    TCKANNSvc instead of ANNDispatchSvc to find the uint16_t -> string mapping
    required for decoding...

- In Hlt/HltServices v2r3
  . Add TCKANNSvc, an implementation of IIndexedANNSvc

- In Kernel/HltInterfaces v5r1
  . Add IIndexedANNSvc interface

- In Kernel/LHCbMath v3r48
  . Funtions.cpp:
    o Add more functions
    o Few fixes
    o Use constexpr, to fix compilation problem with clang
  . Add weighted statistics 
  . Add few helper math-functions 

- In L0/L0Calo v11r14
  . L0CaloAlg: create banks if they don't exist
  . LLTCaloAlg.cpp: add computation of LLT GEC (HCAL + ECAL mult)

- In Phys/LoKiCore v11r20, Phys/LoKiNumbers v10r6
  . Moved dictionaries for LoKi::TES classes from LoKiNumbers to LoKiCore
    (required for ROOT 6).

- In Tools/CondDBEntityResolver v5r8, Hlt/HltDAQ v4r4
  . Fixed a concurrency issue in the build (CMT cannot compile the same source
    twice for different targets/libraries).

- In Tools/FileStager v1r14
  . Fix bug in xrd stat command when port is absent.

2014-05-12 LHCbSys v37r2

This version uses Gaudi v25r1 and LCG_68.

- Modified configurables test to only check configurables in this project. 
  See task #50698

- Packages removed:  Tools/EventIndexer - moved to Noether project

- Packages modified: DAQ/DAQSys v8r2, Det/CaloDet v10r19p1, Det/DDDB v1r69,
    Det/DetCond v12r36, Det/FTDet v2r6, Det/OTDet v8r12, Det/RichDet v16r22,
    Det/VPDet v3r2, Event/DigiEvent v4r2, Event/EventPacker v4r1,
    Event/FTEvent v1r6, Event/GenEvent v6r11, Event/MCEvent v3r1, 
    Event/RecEvent v2r50, Event/SwimmingEvent v1r5, Event/TrackEvent v6r1,
    Ex/IOExample v4r13, FT/FTDAQ v1r6, GaudiConf v19r2p1, GaudiObjDesc v11r19,
    Hlt/HltDAQ v4r3, Hlt/HltServices v2r2, Kernel/FSRAlgs v1r6,
    Kernel/HltInterfaces v5r0p1, Kernel/LHCbAlgs v3r2, Kernel/LHCbKernel v15r2,
    Kernel/LHCbMath v3r7, Phys/LoKiCore v11r19, Phys/LoKiGen v10r16,
    Phys/LoKiMC v10r12, Tools/CondDBUI v3r28, Tools/FileStager v1r13,
    Tr/LHCbTrackInterfaces v2r1, VP/VPDAQ v2r7

- In DAQ/DAQSys v8r2
  . Remove decoders for VPClusters and VPLiteClusters and adapt tests accordingly

- In Det/CaloDet v10r19p1
  . Fix unprotected debug

- Det/DDDB v1r69
  . Update default database tags to the latest ones:
    o LHCBCOND, 2012, 2011 : cond-20140425
    o LHCBCOND, 2010       : cond-20140328
    o DQFLAGS,        2011 : dq-20140428

- In Det/DetCond v12r35, v12r36
  . Do not truncate RunChangeHandlerSvc partitionname
  . Make the conditions which the RunChangeHandlerSvc updates a property
  . Make the (last part of the) filename used by RunChangeHandlerSvc a property
  . CondDB preparation for 2015 in Configuration.py: 
    o new CondDB partitions 'CALIB' and 'CALIBOFF' as additional layers above
      'ONLINE' partition.
    o New options for 'LoadCALIBDB' to enable/disable loading the new layers.
    The default option is to add the new layers from $SQLITEDBPATH/CALIB-[YEAR].db
    and $SQLITEDBPATH/CALIBOFF.db files automatically if exist.

- In Det/FTDet v2r6
  . Optimization in beamPipeYCoord method.
  . Add new method calculateMeanChannel and calculateLitsOfFiredChannels
  . Factorisation of the code of the new methods with existing calculateHit method
  . Fix bug with with layerCenterZ method
  . Changes for new FTchanID (no more quarter --> module +mat) Fibremat level
    implemented

- In Det/OTDet v8r12
  . Reimplement the tanh approximation in WalkRelation; the new version is both
    faster and comes within a factor 10 of what is possible in terms of
    absolute/relative error with double precision

- In Det/RichDet v16r22
  . Added a test on StatusCode::FAILURE and removed a print statement

- In Det/VPDet v3r2
  . Replace hardcoded numbers by constants.
  . Remove unused functions (type, isDownstream, trajectory) from DeVPSensor.
  . Change return type of isInActiveArea and pointToChannel functions from
    StatusCode to bool  
  . Follow change in VPChannelID format
  . Merge m_sensors and m_vpSensors class members of DeVP.
  . Add coarse z-cut in DeVP::sensitiveVolumeID. 
  . Inline DeVP::sensor(const Gaudi::XYZPoint& point).
  . Remove less_sensor functor.
  . Remove separate lists of/iterators to left- and right-side sensors.
  . Add comments.
  . Run clang-format for consistent style.
  . Remove obsolete function channelToNeighbours.

- In Event/DigiEvent v4r2
  . Remove VPLiteCluster.
  . Remove VPLiteCluster from VPCluster, add inter-pixel fraction to VPCluster
  . Remove ToT value and timestamp from VPDigit, change location name

- In Event/EventPacker v4r1
  . Add support for HC hits ("Herschel").

- In Event/FTEvent v1r6
  . Introduced FTLiteCluster, a copy of FTRawCluster, to change the naming to
    something more logical
  . Removed a comment in lcgDict and put FTLiteCluster in lcg_selection
  . Modified the CMake configuration to use the provided header and selection
    in G.O.D. generated dictionary.

- In Event/GenEvent v6r11,  Event/RecEvent v2r50, Event/SwimmingEvent v1r5,
     Phys/LoKiCore v11r19, Phys/LoKiGen v10r16, Phys/LoKiMC v10r12
  . Removed duplicate dictionaries

- In Event/MCEvent v3r1 
  . Add HC ("Herschel Counters") hit location.
  . Remove MCVPDeposit and modify MCVPDigit accordingly

- In Event/TrackEvent v6r1
  . Add VP measurement type
  . Replace VPLite by VP measurement type

- In Ex/IOExample v4r13
  . Pick up EOS test files from TestFileDB (changed some input files to use ones
    already in TestFileDB)
  . Remove obsolete Reco09 tests

- In FT/FTDAQ v1r6
  . Fix bug in RawBankDecoder, in method 'RetrieveModuleMat', which was giving
    wrong numbers for the modules.
  . Change of message level for bad bank version
  . Modification of the bit sharing in 16-bit words according to the TDR
    electronic design
  . Changed FTRawCluster to FTLiteCluster in FTRawBankDecoder

- In GaudiConf v19r2, v19r2p1
  . Fix trivial bug in error message when file type which is unknown is specified
  . DigiConf.py: replace VPCluster linker tables by VPDigit linker tables.
  . Recurse to tools in Manipulators, works to recurse to already-added tools
  . Changes to Configurables tests:
    o Consolidate into a single module, task #50698
    o Added threshold to the # of missing configurables, see task #50698
    o Allow for running in a temporary area, or at least without creating local 
      files, so this test can be run on a read-only file system.
    o Fix small bug when configurables fail, make failure more explicit.

- In GaudiObjDesc v11r19
  . Fixed an issue with manually provided instantiations headers that contain
    comments or empty lines.

- In Hlt/HltDAQ v4r2, v4r3
  . Suppress warnings about splitting big banks into pieces. Make them debug.
  . HltSelReportsWriter: 
    o Optimize the LHCbID packing, which now  uses move semantics to avoid
      explicit heap storage
    o Further optimize LHCbID overlap search.
    Note: the order of the LHCbID sequences in the raw bank has changed, any 
          overlap now occurs 'prior' to the non-overlap. The corresponding
          references to these sequences take this into account. So although the
          bank content is not identical, it is still correct.
  . Various C++11 optimizations
  . HltTrackReports updates:
    o Added check against reading over the end of the bank
    o Added ability to split big banks into several pieces 
      using major and minor source IDs
  . Switched SourceID to an int
  . TrackReportsWriter uses straight SourceID
  . TrackReportsDecoder only decodes the Bank with the correct SourceID 

- In Hlt/HltServices v2r1, v2r2
  . Migrate HltGenConfig from HltCommon to here
  . Factor common code in Config{Tar,Zip}FileAccessSvc into a new mix-in class,
    ConfigArchiveAccessSvc from which both now inherit.
  . C++11 changes
  . Add utility to inspect content of .cdb file 
  . Add command line options to cdb utility
  . Add option to dump content of cdb file to collection of files
  . Move tar and zip specific I/O in seperate cpp,h files
  . Add new persistence implementation: ConfigCDBAccessSvc, using tinycdb. 
    Filesize is less than 1/3 of the default config.tar format, and 20% smaller 
    than config.zip. 
  . Unify ConfigTarFileAccessSvc and ConfigZipFileAccessSvc
  . Improve file & error handling in ConfigCDBAccessSvc
  . Fix initial creation of .cdb file
  . General cleanup

- In Kernel/FSRAlgs v1r6
  . Added missing dependency on Event/FSREvent.

- In Kernel/HltInterfaces v5r0p1
  . Improve check for 'eof' so that getline will not set the 'fail' bit at eof.

- In Kernel/LHCbAlgs v3r2
  . Ignore test results which differ in the timing.

- In Kernel/LHCbKernel v15r2
  . Add file VPConstants.h.
  . VPChannelID
    o Add decoding to sensor column.
    o Change bitfield from row/col/chip/module to row/col/chip/sensor.
    o Remove unused get*Mask, get*Bits functions
  . Remove unused functors from VPDataFunctor.
  . Modified FTChannelID.xml to include mat() and module() and redefined
    quarter() functions to reflect the present FT geometry. 
  . Disabled again Boost allocators in debug mode when building with ROOT 6.

- In Kernel/LHCbMath v3r7
  . Improve positive polynomials 
  . Improve integration and fix few bugs 
  . Functions.h:
     1) add integration for 2D non-factorizable models
     2) fix a stupid bug in nSphere 
  . LHCbMath.h:
     1) add Zero, NonZero and scale functions  
  . Analytial integration of bvernsteins polynomials 

- In Phys/LoKiGen v10r16
  . Add qmtest for JIRA-LBCORE-461. It makes segmentation fault for ROOT6 and
    runs smoothly for ROOT5 

- In Tools/CondDBUI v3r28
  . Extend the support for tagging a new CondDB partition 'CALIBOFF'

- In Tools/FileStager v1r13
  . Add support for dashes in the xrootd server hostname and for custom ports
    when calling stat.

- In Tr/LHCbTrackInterfaces v2r1
  . IVPClusterPosition:
    o Remove functions using VPLiteCluster
    o Add position function using VPCluster

- In VP/VPDAQ v2r7
  . Replace hard-coded array size by constants.
  . Follow changes in VPChannelID format
  . Remove do-nothing finalize method.
  . Run clang-format for consistent style.
  . Remove en/decoders for old, cluster-based raw banks.
  . Remove unnecessary dependencies.
  . Remove VPLiteCluster include statements from PrepareVPRawBank.
  . Remove VPRawBankToLiteCluster algorithm.
  . Follow changes in VPCluster format
  . Follow changes in VPDigit format and location names

2014-03-26 LHCbSys v37r1

This version uses Gaudi v25r1 and LCG_68.

- Packages modified: Calo/CaloDAQ v4r38, DAQ/DAQSys v8r1, Det/CaloDet v10r19,
    Det/DDDB v1r68, Det/FTDet v2r5, Det/Magnet v7r7, Det/RichDet v16r21,
    Det/VPDet v3r1, Event/DigiEvent v4r1, Ex/DetCondExample v11r14, 
    GaudiConf v19r1, Hlt/HltDAQ v4r1, Kernel/LHCbAlgs v3r1, 
    Kernel/LHCbKernel v15r1, Kernel/LHCbMath v3r46, Kernel/PartProp v1r18,
    L0/L0Calo v11r13, Phys/LoKiCore v11r18, Phys/LoKiGen v10r15, 
    Phys/LoKiHlt v3r14, Phys/LoKiMC v10r11, Rich/RichKernel v7r55, Si/SiDAQ v2r3,
    VP/VPDAQ v2r6

- In Calo/CaloDAQ v4r38
  . python/configuration.py: Propagate OutputLevel value to Calo sequences only
    when the property is explicitly set
  . Remove verbose printout

- In DAQ/DAQSys v8r1, v8r0p1
  . Renamed HltTrackReportsDecoder output location
  . Handle the case where default configurables have already been set to the
    DoD Svc

- In Det/CaloDet v10r19
  . DeCalorimeter.cpp : reduce INFO verbosity

- In Det/DDDB v1r68
  . Add one property to DDDB which allows for the Moore use case, that the time
    must be "now".

- In Det/FTDet v2r5
  . Replace linear search for fibreMat with binary search in DeFTDetector

- In Det/Magnet v7r7
  . Suppress the info messages 'Map scaled by factor ...' after 2 instances.

- In Det/RichDet v16r21
  . Put an FPE::Guard into DeRichGasRadiator::calcSellmeirRefIndex to protect
    against a very very weird FPE exception when running clang...

- In Det/VPDet v3r1
  . Store all common sensor properties in static members.
  . Provide a static cache of x pixel positions and pitches.

- In Event/DigiEvent v4r1
  . Remove ToT value from and added global x, y, z coordinates to VPCluster
  . Remove unused constructor from VPCluster
  . Change VPCluster location from "VPClusterLocation" to "Default" 

- In Ex/DetCondExample v11r14
  . Add a script to set up test environment for the split HLT scenario
  . Add an example script for the purpose of demonstration

- In GaudiConf v19r1
  . LHCbExclusions.py: Added exclusion to protect against changes in PFN
    connection string of input data

- In Hlt/HltDAQ v4r0,v4r1
  . Add dump, decode, wipe, encode, dump tests, see task #48809
  . Persisting the flags instead of Track::type. Needed for forward tracking.
  . TrackReportsDecoder protected against filling already existing output location
  . Added persistence of States to TrackReports, using the StandardPacker
    functions to pack the track states to 32bit per parameter
  . Renamed TrackReportsDecoder OutputLocation to be findable by bindMember
  . Added track type = Velo to all tracks (needs reiteration)
  . HltTrackReportsWriter/Decoder added debug output: dumps tracks in verbose mode

- In Kernel/LHCbAlgs v3r1
  . Add tests for the split HLT scenario based on runchangehandler.qmt.
  . Add new timing auditor which will output itself to a file.

- In Kernel/LHCbKernel v15r1
  . Use Info(...) methods for memory pool release messages in LbAppInit, in
    order to benefit from the automatic suppression. Suppressed after 1 instance.

- In Kernel/LHCbMath v3r46
  . Add new test to illustrate #bug 104111

- In L0/L0Calo v11r13
  . Add tool to compute L0Adc from CaloADC directly instead of decoding
    them from the RAW bank (useful for LLT emulation)
  . Add classes to emulate the LLT Calo, LLTCaloAlg and LLTTriggerCard

- In Phys/LoKiCore v11r18
  . Add Algorithm context names to LoKi Reporter messages.
  . Correspondingly reduce the max Error and Warning instances from 10 to 2,
    to prevent log files exploding in production.

- In Phys/LoKiGen v10r15, Phys/LoKiHlt v3r14
  . Fixes to header guard macros.

- In Phys/LoKiHlt v3r14
  . Add some missing default constructors. Fixes clang compilation failures.

- In Rich/RichKernel v7r55
  . Add some #define statements for shortened debug and verbose messaging with
    if ( msgLevel(...) ) protection.

- In Si/SiDAQ v2r3
  . Protected all word constructors from overflows in inputs by proper masking.
    This fixes a rare (per mille level) off-by-one bug in the VELO digitisation.

- In VP/VPDAQ v2r6
  . Follow changes in VPCluster format
  . Added encoder for Super Pixel raw bank from digits.

- In Kernel/PartProp v1r18, Phys/LoKiCore v11r18, Phys/LoKiGen v10r15,
      Phys/LoKiMC v10r11
  . Moved operators inside namespaces (fixed a problem with ROOT 6).
    See https://sft.its.cern.ch/jira/browse/ROOT-6044 for details.

2014-02-18 LHCbSys v37r0

This version uses Gaudi v25r0 and LCG_66. First version compatible with ROOT6

- Packages removed: Det/VLDet, VL/VLDAQ (obsolete)

- Packages Added: 
 . DAQ/DAQKernel v1r0, to hold base classes of decoders, see task #49078

- Packages modified: Calo/CaloDAQ v4r37, Calo/CaloUtils v10r3, 
    DAQ/DAQSys v8r0, DAQ/DAQUtils v1r12, DAQ/RawEventCompat v1r5,
    Det/CaloDet v10r18, Det/DetCond v12r33, Det/DetDesc v18r33, Det/OTDet v8r11,
    Det/RichDet v16r20, Det/VeloDet v13r20, Det/VPDet v3r0, Event/DAQEvent v9r14,
    Event/DigiEvent v4r0, Event/EventAssoc v5r3, Event/EventPacker v4r0,
    Event/GenEvent v6r10, Event/LinkerInstances v4r0, Event/LumiEvent v3r6,
    Event/MCEvent v3r0, Event/PhysEvent v11r24, Event/RecEvent v2r49,
    Event/SwimmingEvent v1r4, Event/TrackEvent v6r0, Ex/IOExample v4r12,
    FT/FTDAQ v1r5, GaudiConf v19r0, GaudiObjDesc v11r18, Hlt/HltDAQ v3r1,
    Kernel/FSRAlgs v1r5, Kernel/LHCbAlgs v3r0, Kernel/LHCbKernel v15r0,
    Kernel/LHCbMath v3r45, Kernel/PartProp v1r17, Kernel/Relations v6r2,
    L0/L0Base v2r4, L0/L0Calo v11r12, L0/L0DU v10r31, L0/L0Muon v9r13,
    Muon/MuonDAQ v4r20, OT/OTDAQ v7r17, Phys/LoKiCore v11r17,
    Phys/LoKiGen v10r14, Phys/LoKiHlt v3r13, Phys/LoKiMC v10r10,
    Phys/LoKiNumbers v10r5, Rich/RichDAQ v3r42, ST/STDAQ v4r4,
    Tools/CondDBEntityResolver v5r7, Tools/CondDBUI v3r27,
    Tools/EventIndexer v1r3, Tr/LHCbTrackInterfaces v2r0, Velo/VeloDAQ v6r11,
    VP/VPDAQ v2r5

- In DAQ/DAQSys v8r0, Event/DigiEvent v4r0, Event/EventPacker v4r0,
     Event/LinkerInstances v4r0, Event/MCEvent v3r0, Event/TrackEvent v6r0,
     GaudiConf v19r0, Kernel/LHCbAlgs v3r0, Kernel/LHCbKernel v15r0,
     Tr/LHCbTrackInterfaces v2r0
  . Remove VL support

- In DAQ/DAQSys v8r0
  . Added HltTrackReportsDecoder -> Hlt/Track/Velo (shared location)
  . Added simple RawEventdump script

- In DAQ/DAQUtils v1r12
  . Bank killer should not kill banks it was not asked explicitly to kill!

- In Det/CaloDet v10r18
  . DeCalorimeter.cpp : fix floating point exception in the initialize()

- In Det/OTDet v8r11
  . Protect WalkRelation::walk against floating point overflows with large
    exponents passed to vdt::fast_exp.
  . Fixed CMake configuration.

- In Det/RichDet v16r20
  . DeRichPMTPanel: fixed minor issue with RICH2 Local PD plane transform
    definiton for PMTs for plotting the hit coordinates in in the PD plane.
  . Adaptation for using large+standard PMTs in RICH2. Modified DeRich,
    DeRichPMT, DeRichPMTPanel 

- In Det/VPDet v3r0
  . Removed DeVPSquareType class
  . Moved all functionality from DeVPNewSensor to DeVPSensor
  . Removed DeVPNewSensor
  . Added XmlDeVPSensorCnv.cpp 

- In Event/DAQEvent v9r14
  . Added HltTrackReports RawBank type

- In Event/EventPacker v4r0
  . Fix an FPE exception due to division by zero and a bug in tracks extra info comparison.
  . Fix an FPE exception due to sqrt(-number).
  . Fix an FPE exception when a fraction top/bot was packed with bot=0...
  . Minor CPU optimisation in PackParticlesAndVertices.cpp

- In Event/PhysEvent v11r24
  . Added SS_PionBDT tagger type in Tagger.xml and Tagger.h

- In Ex/IOExample v4r12
  . Follow removal of POOL services for reading POOL files
    (see https://savannah.cern.ch/task/?49581)
  . Remove i686-slc5-gcc43 references, no longer supported
  . Move all test files previously in Castor to CERN-SWTEST (EOS) and access
    them via TestFilesDB. Requires PRConfig > v1r7
  . Add PRConfig dependency for QMTests

- In GaudiConf v19r0
  . Remove Persistency option from DSTConf/DigiConf
  . Remove POOL test suite, no reason to have it any longer
  . Remove POOL from IOHelper

- In Hlt/HltDAQ v3r1
  . Added Writer and Decoder for Tracks, see task #48807
  . Added unit testing support

- In Kernel/FSRAlgs v1r5
  . Change the mergesmallfilestest to use PRConfig

- In Kernel/LHCbAlgs v3r0
  . Fix the enabling of the FPEAuditor in LHCbApp.

- In Kernel/LHCbKernel v15r0
  . Update LbAppInit to only report memory changes when they are greater than
    some small delta value (16KB by default).
  . Avoid calling System::virtualMemory() more often than required in LbAppInit.

- In Kernel/LHCbMath v3r45
  . Add jackknife estimator 
  . Improve positive polinomials with n-sphere parameterization 
  . ValueWithError: minor fix to resolve python ambguities 

- In Phys/LoKiCore v11r17
  . Add "right" counter-partners for math-operations with "parameters" 
  . Add the notion of "parameters" and operations with them:
      use scalar properties as parameters :
         PT > PARAM('Ptmin')  
      use map-like properties as parameters :
         PT > PARAM('Parameters[Ptmin]') 
      look for scalar property and check regex-pattenn for the algorithm name  
         PT > PARAM('Ptmin/.*Line')
      look for map-like property and check regex-pattens for the algorithm name 
         PT > PARAM('Params[Ptmin]/.*Line') 

- In Phys/LoKiGen v10r14, Phys/LoKiHlt v3r13, Phys/LoKiMC v10r10,
     Phys/LoKiNumbers v10r5 
  . add dictionaries for new FuncOps__

- In Phys/LoKiNumbers v10r5
  . Add defintion of PARAM helper object 
  . Add tests for and/or operations (see https://savannah.cern.ch/task/?46676)

- In Tools/CondDBEntityResolver v5r7
  . Use a proper binary Python module to give access to the compression and
    decompression functions.
 
- In Tools/CondDBUI v3r27
  . Use the new CondDBCompression Python binary module.
  . scripts/CondDBBrowser: Force the environment variable 'LC_ALL' to be 'C'

--->>> Changes related to new Decoder base classes, task #49078 <<<---

- In Calo/CaloDAQ v4r37
  . Adapt calo decoder tool to Decoder base classes, task #49078

- In DAQ/DAQSys v8r0
  . Many updates to DecoderDB, task #49078
  . Add to test that info/warnings should not be printed from the default
    configuration
  . Handle the case where decoders are given whose bank is not known in the
    target format! see task #48807

- In DAQ/DAQUtils v1r12
  . Assimilate Decoder baseclass for task #49078 into RawEventDump
  . Add RawEventLocations to RawEventDump, also translate bank types into strings
    to dump for better clarity, see task #48399

- In DAQ/RawEventCompat v1r5
  . Add a simple method to list all known banks in a given format

- In Event/LumiEvent v3r6
  . HltLumiSummaryDecoder adapted to follow decoder baseclass task #49078 

- In FT/FTDAQ v1r5
  . Adapt FT decoder tool to Decoder base classes, task #49078

- In Hlt/HltDAQ v3r1
  . Assimilate Decoder baseclass for task #49078 into all HLT decoders

- In Kernel/LHCbAlgs v3r0
  . Suppress info print out in decoder initialize unless the output really
    is unexpected.
  . Adapt odin decoder tool to Decoder base classes, task #49078

- In L0/L0Base v2r4, L0/L0Calo v11r12, L0/L0DU v10r31, L0/L0Muon v9r13
  . Adapt all L0 decoder tools to Decoder base classes, task #49078

- In Muon/MuonDAQ v4r20
  . Adapt MuonRawBuffer decoder tool to Decoder base classes, task #49078

- In OT/OTDAQ v7r17
  . Adapt OT decoder tool to Decoder base classes, task #49078

- In Rich/RichDAQ v3r42
  . Initialize RawEventLocations to a more realistic list.

- In ST/STDAQ v4r4
  . Suppress not-needed info print out in initialize for default configurations
  . Initialize the search paths following task #49078, but don't use the new base
    classes yet

- In Velo/VeloDAQ v6r11
  . Suppress velo decoder printout for nominal options
    (DAQ/RawEvent Other/RawEvent)
  . Adapt velo decoder tools to Decoder base classes, task #49078
  . DefaultVeloRawBufferDecoders.py to use RawEventLocations (used by VETRA nightlies)

- In VP/VPDAQ v2r5
  . Adapt VP decoder tool to Decoder base classes, task #49078

--->>> Changes to support ROOT 6 (compatible also with ROOT 5) <<<---

- In Calo/CaloUtils v10r3 
  . Minor fix in Calo2Track.h (needed only when not using Reflex, e.g. ROOT 6).

- In Det/DetCond v12r33
  . Fixed the use of boost::shared_ptr according to the macro COOL_HAS_CPP11
    (the one used in COOL headers).
  . Do not explicitly use boost::shared_ptr.
    See https://sft.its.cern.ch/jira/browse/ROOT-5806

- In Det/DetDesc v18r33
  . Minor change in the inheritance tree of Element.
    Removed the keyword virtual which was not needed and exposed a bug in ROOT6.
    https://sft.its.cern.ch/jira/browse/ROOT-5840

- In Det/VeloDet v13r20
  . Minor change in the tests for VeloAlignCond to work with ROOT 6.

- In Event/EventAssoc v5r3, Event/SwimmingEvent v1r4, Kernel/LHCbMath v3r45,
     Kernel/Relations v6r2
  . Renamed the dummy class __Instantiations to have a unique name (for ROOT 6).

- In Event/EventPacker v4r0
  . Made the headers for the I/O classes public 
    (needed to test the migration to ROOT 6).

- In Event/GenEvent v6r10
  . Minor change to lcg_selection.xml to take into account the fact that
    GaudiObjDesc sorts the lines when it adds more selections.

- In Event/RecEvent v2r49
  . Fixed selection to work with both ROOT 5 and 6.

- In GaudiObjDesc v11r18
  . Modified the generated dictionary header so that the dummy class for the
    instantiations has a different name for each dictionary (needed in ROOT 6).

- In Kernel/LHCbKernel v15r0
  . Enabled temporarily the use Boost allocators also in debug mode when building
    with ROOT 6, needed to debug https://sft.its.cern.ch/jira/browse/ROOT-6015

- In Kernel/LHCbMath v3r45
  . Added work-around for autoloading dictionary of templates in ROOT 6.
  . Restore the use of GaudiPython in Types.py and Math.py to facilitate the
    transition to ROOT 6.

- In Kernel/LHCbMath v3r45, Kernel/PartProp v1r17, Kernel/Relations v6r2,
     Phys/LoKiCore v11r17, Phys/LoKiGen v10r14
  . Replaced import of GaudiPython with import of cppyy
    (to allow usage of the modules in configuration files).

- In Kernel/PartProp v1r17, Kernel/Relations v6r2, Phys/LoKiCore v11r17
  . Removed unnecessary dependency on Reflex.

- In Kernel/PartProp v1r17, Kernel/Relations v6r2, Phys/LoKiCore v11r17, 
     Phys/LoKiGen v10r14, Tools/CondDBEntityResolver v5r7, Tools/CondDBUI v3r27
  . Replaced PyCintex with ROOT (preparing migration to ROOT 6).

- In Phys/LoKiCore v11r17
  . Added workaround for bug ROOT-5721 (to be removed ASAP).
    https://sft.its.cern.ch/jira/browse/ROOT-5721
  . Fixed compilation problem with Boost Spirit when using Pheonix V3
    (mandatory in Clang).
  . Added include for boost::smart_ptr.

- In Phys/LoKiMC v10r10
  . Added some missing destructors (needed for the migration to ROOT 6).

- In Phys/LoKiNumbers v10r5
  . Added work-around for autoloading dictionary of templates in ROOT 6.

- In Rich/RichDAQ v3r42
  . Fixed compilation with Clang 3.3.

- In Tools/CondDBEntityResolver v5r7
  . Modified the dictionary to work with ROOT 6.
  . Replaced ROOT with cppyy in check_db_compression.py

- In Tools/CondDBEntityResolver v5r7, Tools/CondDBUI v3r27 
  . Replaced PyCintex with cppyy.
    See https://sft.its.cern.ch/jira/browse/ROOT-154

- In Tools/EventIndexer v1r3
  . Modified the invocation of rootcint to work with ROOT 6 too.
  . Minor change to the tests to work around limitations in the interpreter of
    the beta version of ROOT 6.


2013-12-10 LHCbSys v36r4

This version uses Gaudi v24r2 and LCG_66

- Packages modified: DAQ/DAQSys v7r2, DAQ/RawEventCompat v1r4, Det/DDDB v1r67,
    Det/VPDet v2r5, Event/FTEvent v1r5, Event/PhysEvent v11r23,
    Event/TrackEvent v5r23, FT/FTDAQ v1r4, GaudiConf v18r0, Hlt/HltDAQ v3r0,
    Hlt/HltServices v2r0, Hlt/HltInterfaces v5r0, Kernel/LHCbMath v3r44,
    L0/L0DU v10r30, Phys/LoKiCore v11r16, Tools/CondDBUI v3r26

- In DAQ/DAQSys v7r2
  . Fix default dictionaries that were all using the same objects
  . Use one decoder for the Velo clusters, but split into two in the case
    DataOnDemand is used.
  . Double check that cloning actually works in a new little unit test.
  . Fix issue with overrideIfRequired, now truly call setup!
  . Modifications appropriate to Rec/Brunel
  . Add/Separate Hlt1 and Hlt2 DecReports decoders
  . Add function to set time decoding, it's needed by some other configurables
  . Add concept of a "used" decoder, to supplement the concept of an "Active"
    decoder.
  . Throw a warning instead of an exception if a given DoD location has been
    configured elsewhere, but with the same alg.
  . Add PileUp decoder
  . Add options required to prevent overwriting EventClockSvc needed by DaVinci
  . Set EventTimeDecoder if there is an active ODIN decoder, adapt tests to
    change in DecodeRawEvent.py
  . Add in HLT decoders, add to expected test differences
  . Adapt test to new behaviour of Calo configurable
  . Fixed configuration of decoding tests: the event time was not picked up
    from the data (ODIN), but set to '0' (default if not explicitly changed).

- In DAQ/RawEventCompat v1r4
  . Extend the juggler to also remove extra directories if asked to 
    (see https://savannah.cern.ch/task/?19106)
  . Add a test validator which can interpret the contents of DSTs
    and work out if the required locations are there or not
  . Check for bad/unknown banks
  . Fix missing addition of Depth
  . Adapt test to new addition of /Event/ when needed (always?)
  . Solve bug due to lack of _checkv in some configurables/methods
  . Now all configurables accept versions as strings or numbers

- In Det/DDDB v1r67
  . Make "cond-20131128" the default LHCBCOND tag for 2012 and 2013 data.

- In Det/VPDet v2r5
  . Added possibility for in/output in local coordinates to channelToPoint and
    pointToChannel functions

- In Event/FTEvent v1r5
  . Modified FTDeposit structure, from map to a structure
    with many containers with MCHit, energy, and arrival time to SiPM for both
    the direct and reflected light pulse.
  . FTDigit is modified accordingly to store the FTDeposit pointers used.

- In Event/PhysEvent v11r23
  . Added SS_Proton and OS_Charm tagger type in Tagger.xml and Tagger.h

- In Event/TrackEvent v5r23
  . Add histories for upgrade, remove TrackVeloUT history (not used).

- In FT/FTDAQ v1r4
  . Added outputLocation property to FTRawBankEncoder

- In GaudiConf v18r0
  . Skip warnings about 3*sigma changes in memory use in QMTests exclusions file
    LHCbExclusions.py (previously in BrunelExclusions.py)
  . Integrate DstConf with the DecodersDB -- major change. 
  . Replace contents of DecodeRawEvent.py with new DecodersDB

- In Hlt/HltDAQ v3r0
  . Changes in Dec, Sel, Vertex Writers and Decoders to equip with SourceID
    (0=Hlt, 1=Hlt1, 2=Hlt2)
  . Bank version numbers advanced to 2
  . Decoders will decode SourceID=1 or 2 from RawBanks with SourceID=0 if 1,2 not
    present (allows splitting of the old Hlt report into two separate Hlt1,Hlt2
    reports in TES)

- In Hlt/HltDAQ v3r0, Hlt/HltServices v2r0, Hlt/HltInterfaces v5r0
  . Changes to comply with new Gaudi::StringKey types in IANSvc and related
    (see https://savannah.cern.ch/task/?48818)

- In Kernel/LHCbMath v3r44
  . Add utf-8 coding string(PEP 0263) to python files
  . Adjust a bit Bugg&Co family of functions 
  . Adjust alpha in Crystal Ball 
  . Add few math-functions for phase space modulated by polynomial

- In L0/L0DU v10r30
  . L0DUFromRawTool : fix uninitialized m_size attribute and fix minor memory leak

- In Phys/LoKiCore v11r16
  . Primitives.h: make it generate the void version as well, thus eliminating the
    need for VoidPrimitives.h (see https://savannah.cern.ch/task/?46676)

- In Tools/CondDBUI v3r26
  . __init__.py: Fixed a glitch of only translating strings from the 'data' key
    in the DB payload

2013-10-24 LHCbSys v36r3

This version uses Gaudi v23r10 and LCG_66

- Packages modified: Calo/CaloDAQ v4r36, Calo/CaloInterfaces v8r7,
    Calo/CaloUtils v10r2, DAQ/DAQSys v7r1p1, DAQ/RawEventCompat v1r3,
    Det/DDDB v1r65, Det/FTDet v2r4, Det/MuonDet v9r15, Det/VPDet v2r4,
    GaudiConf v17r13, Kernel/FSRAlgs v1r4, Kernel/LHCbMath v3r43, L0/L0Base v2r3,
    L0/L0DU v10r29, Muon/MuonDAQ v4r19

- In Calo/CaloDAQ v4r36
  . python/CaloDAQ/CaloDigits.py & Configuration.py : allow to set-up the valid
    sub-detectors
  . src/CaloDigitFilter{Alg,Tool} :  protect against the upgrade configuration
    with no Spd/Prs

- In Calo/CaloInterfaces v8r7
  . ICaloGetterTool : new virtual method to access the sub-detectors mask
  . Add ICaloRelationsGetter interfaces

- In Calo/CaloUtils v10r2
  . Calo2Dview :  protect against the upgrade configuration with no Spd/Prs

- In DAQ/DAQSys v7r1p1
  . Fix typo in analysis

- In DAQ/RawEventCompat v1r3
  . Solve indentation bug and add a test which checks for TCK replacement

- In Det/DDDB v1r65
  . Fix typo in default DQFLAGS tag for 2011 data
     "dq-2013086-1" -> "dq-20130806-1"

- In Det/FTDet v2r4
  . In DeFTTestAlg.cpp remove a line leftover from a previous commit

- In Det/MuonDet v9r15
  . Added new method to correctly address TELL1s in case of no M1 in MuonDAQHelper

- In Det/VPDet v2r4
  . Removed ladderOfChip function
  . Added pointToChannel function without inter-pixel fraction
  . Bug fixes in pointToChannel and channelToPoint functions of DeVPNewSensor

- In GaudiConf v17r13
  . options/DecodeRawEvent.py : relies on CaloDigitsConf for decoding calorimeter
                                onDemand
  . Add a QMTest replace string to allow changes in HltTCK package version numbers
  . Add to the valgrind suppressions file, Gaudi.supp, some entries to suppress
    warnings when accessing data via XRootD.

- In Kernel/FSRAlgs v1r4
  . Add code in LumiMergeFSR to handle legacy productions.
    An empty FSR is generated when missing so that the total number of FSRs
    of each type is consistent

- In Kernel/LHCbMath v3r43
  . Add few math-functions 

- In L0/L0Base v2r3
  . Initialise m_statusOnTES in L0FromRawBase constructor.

- In L0/L0DU v10r29
  . L0DUFromRawAlg :  
    o move tool->_setProperty(...) to initialize
    o initialize via the base class instead of GaudiAlgorithm

- In Muon/MuonDAQ v4r19
  . Fixed incorrect addressing of TELL1s in case of no M1 in MuonDigitToRawBuffer


2013-10-01 LHCbSys v36r2

This version uses Gaudi v23r10 and LCG_66

- Packages added: FT/FTDAQ        - Moved from Lbcom for RawEventDecoding
                  Hlt/HltDAQ      - Moved from Lbcom for RawEventDecoding
                  Hlt/HltServices - New, split from HltDAQ, see task #42384
                  VL/VLDAQ        - Moved from Lbcom for RawEventDecoding
                  VP/VPDAQ        - Moved from Lbcom for RawEventDecoding
- Packages modified: Associators/MCAssociators v1r4p1, DAQ/DAQSys v7r1,
    DAQ/MDF v3r40, DAQ/RawEventCompat v1r2, Det/CaloDet v10r17, Det/DDDB v1r64,
    Det/FTDet v2r3p1, Det/MuonDet v9r14, Det/RichDet v6r19, Det/VPDet v2r3,
    Event/DAQEvent v9r13, Event/GenEvent v6r9, Event/LumiEvent v3r5,
    Event/PhysEvent v11r22, GaudiConf v7r12, Hlt/HltDAQ v2r18,
    Hlt/HltServices v1r0, Kernel/FSRAlgs v1r3, Kernel/HltInterfaces v4r9,
    Kernel/LHCbKernel v14r3, Kernel/LHCbMath v3r42, Kernel/Relations v6r1p1,
    Phys/LoKiCore v11r15, Phys/LoKiGen v10r13, Phys/LoKiHlt v3r12p1,
    Phys/LoKiMC v10r9, Phys/LoKiNumbers v10r4p1, Rich/RichKernel v7r54p1,
    ST/STDAQ v4r3, ST/STKernel v2r13, Tools/CondDBUI v3r25,
    Tools/EventIndexer v1r2, Tools/FileStager v1r12, Tools/XmlTools v6r8p1,
    VP/VPDAQ v2r4

- In DAQ/DAQSys v7r1
  . First full implementation of drop-in replacement for DecodeRawEvent.py
    (see https://savannah.cern.ch/task/?19106)
  . Test suite added which demonstrates the key behaviours.
  . Added test for Calo segfault specifically (now protected in CaloDet v10r17 
    but still failing due to bug in handling of CondDB updates)

- In DAQ/MDF v3r40
  . Fix Coverity warnings

- In DAQ/RawEventCompat v1r2
  . Adapt methods for DAQSys, fix one small bug exposed in DAQSys
  . Added empty python/RawEventCompat/__init__.py.

- In Det/CaloDet v10r17
  . DeCalorimeter.h : protect vectors access against invalid index

- In Det/DDDB v1r64
  . Update default database tags to the latest ones:
    o LHCBCOND, 2013, 2012      : cond-20130710
    o LHCBCOND,             2011: cond-20130522
    o DDDB,     2013, 2012      : head-20130503-1
    o DDDB,                 2011: head-20130503
    o DQFLAGS   2013, 2012, 2011: dq-20130806-1

- In Det/FTDet v2r1, v2r2, v2r3, v2r3p1
  . Correct z position of FibreMat in DeFTFibreMat.cpp
  . Modified a FATAL into DEBUG in DeFTDetector.cpp
  . Modified DeFTTestAlg.h and .cpp to produce a ntuple for performing checks
  . Modified function findFibreMat in DeFTDetector.cpp to avoid returning null
    fibermat at the borders of the layer.
  . Bug fix. Inverted of U-V stereo angles, which causing Sipm for those layers
    to be shifted wrt those in X layers
  . Changes odd behaviour on getting local coordinates on the layer construction 
    from a FibreMat
  . Changes in main classes to cope with errors at the level reconstruction, 
    associated to the new geometry. 

- In Det/MuonDet v9r14
  . MuonDAQHelper: moved getODENumberInLink(...) from .h to .cpp.
  . Protected access to array elements 

- In Det/RichDet v6r19
  . Adaptation for using large PMTS in RICH2. Modified DeRich, DeRichPMT, 
    DeRichPMTPanel.
  . Fix some compilation warnings

- In Det/VPDet v2r3
  . added check whether old or new XML description is used
  . use xyzOfPixel method in channelToPoint function of DeVPSquareType
  . removed globalXYZ interface in DeVPSensor, changed format of channelToPoint
  . rename sensor(LHCb::VPChannelID) function in DeVP to sensorOfChannel 
    to avoid ambiguities
  . added first version of DeVPNewSensor (not yet ready for use) 
  . removed DeVPXType and DeVPYType
  . removed casts to DeVPSquareType
  . removed unused functions (e. g. iterators in DeVP, halfbox transformations) 
  . added functions (globalXYZ) from DeVPSquareType which are used in Boole
    and Brunel to DeVPSensor
  . moved geometry specific member variables from DeVPSensor to DeVPSquareType 

- In Event/DAQEvent v9r13
  . Add VPDigit RawBank to RawBank types 

- In Event/GenEvent v6r9
  . GenHeader.xml : protect against missing BeamParameter pointer

- In Event/LumiEvent v3r5
  . Update of TimeSpanFSR to implement the += operator on two time spans.

- In Event/PhysEvent v11r22
  . Added 5 new ExtraInfo variables related to the vertex isolation, starting
    on number 7000.

- In GaudiConf v7r12
  . Add a QMTest replace string to accept afs paths pointing to $LHCBDEV/nightlies
  . Move UT position from DecodeRawEvent into STOfflineConf (STTools)
  . Add obsolete warning into DecodeRawEvent.py
  . Add new manipulator methods for use in DAQSys, fix one small bug in 
    previous method

- In Hlt/HltDAQ v2r18
  . HltRoutingBitsWriter: use two different, configurable, TES locations for
    HltDecReports used to fill bits 32-63 (Hlt1) and 64-95 (Hlt2). 
    The default maintains the existing behaviour, i.e. both use the same
    (default) location
  . Move all HLT services to the HltServices package
    (see https://savannah.cern.ch/task/?42384)
  . Added ZIP file writing functionality

- In Hlt/HltServices v1r0
  . New package containing all services previously in HltDAQ
  . HltConfigSvc: make HltDecReportsLocation a property

- In Kernel/FSRAlgs v1r3
  . Propagate the StatusCode returned by LumiMergeFSR::merge() called in
    LumiMergeFSR::finalize() back to the application manager.
  . Add code in LumiMergeFSR to correct an inconsistency in the number of lumi 
    and time span FSRs that was introduced by a bug in Rec/LumiAlgs/TimeAccounting

- In  Kernel/HltInterfaces v4r9
  . Make parsing of PropertyConfig and ConfigTreeNode more flexible:
    in addition to the 'old' custom format, the code can now read json
    and xml representations. Writing will remain in the old format for now.
    Note that the text representation can now be decoupled from the hashing.

- In Kernel/LHCbKernel v14r3
  . Remove extra ';' to fix CMake warnings
  . Add VP to LHCbID stream operator
  . Cleanup of VPChannelID (remove ladderZPos, rename pixel_lp to col, 
    pixel_hp to row, sensor to module)

- In Kernel/LHCbMath v3r42
  . Add more useful functions 

- In Phys/LoKiCore v11r14, v11r15
  . Algs.h: reorder _found_2 (see https://savannah.cern.ch/bugs/?102220)
  . Trees.h: fix a stupid bug in negation of decay trees 
  . Fix a bug in AlgFunctors: pointer to IJobOptionsSvc was invalid

- In Phys/LoKiGen v10r13
  . Decays::GenExclusive (and derived): make sure the cache is emptied
    when no match is found

- In Phys/LoKiMC v10r9
  . Decays::MCExclusive (and derived): make sure the cache is emptied
    when no match is found

- In Rich/RichKernel v7r54p1
  . Fixed CMake configuration.

- In ST/STDAQ v4r3, ST/STKernel v2r13
  . Support DB mapping of UT board vs TELL1 ID.
  . This map is by default hard coded in STBoardMapping. Now the definition
    in UT/ReadoutConf/ReadoutMap.xml overrides the hard coded mapping.

- In Tools/CondDBUI v3r25
  . decompress_db_metadata.py: new script to decompress the content of a
    CondDB file.

- In Tools/EventIndexer v1r2
  . Extended list of variables available to EventIndexer

- In Tools/FileStager v1r12
  . Simplified loop over environment variables looking for ".*JOBID$". If at least
    one is found, a single warning is printed and KeepFiles is switched off.

- In Tools/XmlTools v6r8p1
  . Fix UNINIT_CTOR defect

- In VP/VPDAQ v2r4
  . Added VPDigit raw bank encoding and decoding 
  . Follow detector element and channel ID changes (r162190, 162191)
  . Added DAQ/DAQUtils dependency to resolve build-order.

- In Associators/MCAssociators v1r4p1, Kernel/HltInterfaces v4r9, 
     Kernel/Relations v6r1p1, Phys/LoKiGen v10r12p1, Phys/LoKiHlt v3r12p1,
     Phys/LoKiMC v10r8p2, Phys/LoKiNumbers v10r4p1, Tools/XmlTools v6r8p1
  . Remove unnecessary linkopts macro from requirements


2013-07-17 LHCbSys v36r1

This version uses Gaudi v23r9 and LCG_65a

- Packages added: Tr/LHCbTrackInterfaces v1r0:
                  . Interfaces previously in TrackInterfaces but needed in Lbcom
                  DAQ/RawEventCompat v1r1:
                  . To hold configurables for splitting/joining raw events
- Packages removed:  Tf/TfKernel, Tf/TsaKernel, Tr/TrackInterfaces (moved to Rec)
- Packages modified: Calo/CaloDAQ v4r35, Calo/CaloInterfaces v8r6,
    Calo/CaloUtils v10r1, DAQ/MDF v3r39, Det/DDDB v1r63, Det/DetCond v12r32,
    Det/FTDet v2r0, Det/MuonDet v9r13, Det/RichDet v16r18, Det/VLDet v1r7,
    Event/EventPacker v3r2, Event/GenEvent v6r8, Event/MCEvent v2r27,
    Event/PhysEvent v11r21, Event/RecEvent v2r48, GaudiConf v17r11,
    Kernel/KernelSys v12r3, Kernel/LHCbAlgs v2r59, Kernel/LHCbKernel v14r2,
    Kernel/LHCbMath v3r41, Rich/RichKernel v7r54, Sim/SimComponents v2r24p1,
    Tools/CondDBUI v3r24, Tools/FileStager v1r11

- In Calo/CaloDAQ v4r35, Calo/CaloInterfaces v8r6, Det/DetCond v12r32,
     Kernel/LHCbKernel v14r2
  . Add virtual destructor to ICaloReadoutTool, ICaloSubClusterTag,
    IPart2Calointerface, ICondDBReader, ILHCbMagnetSvc classes.
    Fixes gcc48 warning virtual-move-assign,
    see explanation in https://sft.its.cern.ch/jira/CFHEP-87

- In Calo/CaloUtils v10r1
  . Remove CaloHistoTrackAlh.{h,cpp}, no longer used
  . Remove no longer necessary TrackEvent dependency
  . Remove empty Calo2DView::finalize() method

- In DAQ/MDF v3r39
  . Fix compile warnings for gcc48

- In Det/DDDB v1r63
  . minor refactoring of 'autotags' feature to make it compliant with revised
    Ariadne XMLRPC API.

- In Det/FTDet v2r0
  . Adaptation of the code to new geometry. DRASTIC CHANGES! Detector with more
    granularity and therefore more detailed description implemented. Full set of
    new classes to describe new detector elements in the database. Backward
    compatibility intended to be able to run on previous detector configuration.
    Please note version() method of DeFTDetector will be used as main switch for
    changing throuwithin detector versions.

- In Det/MuonDet v9r13
  . Put back the fixes from v9r11 accidentally overwritten in v9r12
  . Fix a FORWARD_NULL and two UNINIT_CTOR defects

- In Det/RichDet v16r18
  . Replace use of private Rich::Maths::atan2 function with alternative from
    the VDT library, which are more accurate.
  . Use VDT for a couple cos and sin calculations in
    DeRichHPD::magnifyToGlobalMagnetON.

- In Det/VLDet v1r7
  . fixed globalToLocal transformation in DeVLPhiSensor::pointToChannel

- In Event/EventPacker v3r2
  . Adapt PackedFlavourTag to removal of 'category' data members from the
    transient LHCb::FlavourTag class.
  . Store stripping TCK in packed DecReports

- In Event/GenEvent v6r8
  . Add non default location for HepMCEvents: "Gen/BInfo" to store the
    signal B information for tagging studies.

- In Event/MCEvent v2r27
  . MCVertex.xml: add "StringFragmentation" vertex type

- In Event/PhysEvent v11r21
  . Changed the info FlavourTaggingIndex-->FlavourTaggingIPPUs,
    FlavourTaggingTaggerID
  . Changes in data member of FlavourTagging class
    (remove category and categoryOS which are redundant)
  . Added two new Tagger types (OS_nnetKaon and SS_nnetKaon) for two new taggers
  . Dedicate FlavourTaggingIndex=8000 to store FTagging information for
    private use

- In Event/RecEvent v2r48
  . attempt to fix generation of dictionary for Gaudi::SymMatrix9x9.

- In GaudiConf v17r11
  . Added new module, manipulations.py, for adding functions for manipulating
    configurables. Use it to simplify IOHelper. Will enable production
    outputlevel global settings.

- In Kernel/KernelSys v12r3
  . Remove TfKernel dependency

- In Kernel/LHCbAlgs v2r59
  . Removed superfluous code from LHCbAlgs Configuration
  . Remove unused property "CondDBUpgrade" from Configuration.
  . Correct docStrings

- In Kernel/LHCbKernel v14r2
  . Add a new hash_value method to RichSmartIDHashFuncs.h for Boost 1.53

- In Kernel/LHCbMath v3r41
  . Eliminate unnesessary imports from GaudiPython
  . Remove obsolete wrapper Gaudi::Math::invertPosDefSymMatrix and use
    direct call to SMatrix InvertChol() method. Fixes gcc48 warning

- In Rich/RichKernel v7r54
  . Add VDT math library to dependencies.

- In Sim/SimComponents v2r24p1
  . Fix clang32 warning

- In Tools/CondDBUI v3r24
  . AriadneAdmin_InitialImport.py is made compliant with new Ariadne API, plus
    other minor changes.
  . Ariadne RecoType and SimType initial images (at doc/Ariadne/) are updated.

- In Tools/FileStager v1r11
  . Fixed several clang warnings (-Wparentheses).

2013-06-05 LHCbSys v36r0

This version uses Gaudi v23r8 and LCG_65

- Packages removed: Muon/MuonInterfaces, Rich/RichRecBase, Tf/PatKernel,
                    Tr/TrackKernel (all moved to Rec)
- Packages added:   L0/L0Calo, L0/L0DU, L0/L0Muon, Rich/RichDAQ, ST/STDAQ,
                    Velo/VeloDAQ (all moved from Lbcom)
- Packages modified: Calo/CaloDAQ v4r34, Calo/CaloUtils v10r0, DAQ/DAQSys v7r0,
   DAQ/MDF v3r38, Det/CaloDet v10r16p1, Det/DetCond v12r31, Det/DetDesc v18r32p1,
   Det/Magnet v7r6p1, Det/MuonDet v9r12, Det/OTDet v8r10, Det/VeloDet v13r19p1,
   Event/DAQEvent v9r12p1, Event/EventPacker v3r1, Event/FTEvent v1r4,
   Event/GenEvent v6r7, Event/LinkerEvent v3r10p1, Event/LinkerInstances v3r7p1,
   Event/MCEvent v2r26, Event/PhysEvent v11r20, Event/RecEvent v2r47,
   Event/TrackEvent v5r22, Ex/DetCondExample v11r13, Ex/IOExample v4r11,
   GaudiConf v17r10, GaudiMTTools v1r2p1, Kernel/LHCbAlgs v2r58,
   Kernel/LHCbKernel v14r1, Kernel/LHCbMath v3r40, Kernel/MCInterfaces v1r17,
   Kernel/XMLSummaryBase v1r5, Kernel/XMLSummaryKernel v1r11, L0/L0Calo v11r11,
   L0/L0DU v10r28, Muon/MuonDAQ v4r18, OT/OTDAQ v7r16p1, Phys/LoKiCore v11r13,
   Phys/LoKiMC v10r8p1, Rich/RichDAQ v3r41, Tf/TfKernel v2r24p1,
   Tools/CondDBEntityResolver v5r6, Tools/CondDBUI v3r23,
   Tools/EventIndexer v1r1, Velo/VeloDAQ v6r10

- In Calo/CaloDAQ v4r34
  . CaloDigitsFilterTool : bug fix in getMask() method
  . Fix inappropriate use of endmsg with an ostringstream

- In Calo/CaloUtils v10r0
  . Move CaloTrackAlg/Match/Tool.{cpp,h} to CaloPIDs
  . Remove "use TrackInterfaces" from requirements

- In DAQ/DAQSys v7r0
  . Add dependency on L0Calo, L0DU. L0Muon. RichDAQ, STDAQ, VeloDAQ

- In DAQ/MDF v3r38
  . Fix compile warnings

- In Det/DetCond v12r31
  . Moved the class CondDBCompression to Tools/CondDBEntityResolver
  . Removed one defunct line to please Coverity.
  . Added in GaudiException() to handle LZMA errors

- In Det/MuonDet v9r12, Muon/MuonDAQ v4r18
  . Several fixes to allow configurations without M1

- In Det/MuonDet v9r12
  . Patched some hardcoded variable initialization.

- In Det/OTDet v8r10
  . Implementation of mono-layer alignment

- In Event/DAQEvent v9r12p1
  . Updated comment on ODIN::triggerConfigurationKey to alert users that this is
    the requested value but not necessarily the value actually used by Moore,
    which is in LHCb::HltDecReports::configuredTCK

- In Event/EventPacker v3r1
  . Fix bug in WritePackedDst where && insead of & was accidentally used.
  . Add some additional counters to the ParticlesAndVertices unpacker
  . Add new PackedFlavourTag classes to support packing during the stripping
  . Update PackParticlesAndVertices, UnpackParticlesAndVertices,
    ParticlesAndVerticesMapper to include FlavourTagging objects
  . Addition of SL code.

- In Event/FTEvent v1r4
  . Add xml/lcgdict/lcg_selection.xml and dict/lcgDict.h for python compatibility
  . In FTRawCluster, fix bug in SiDataFunctor::CompareByChannel argument
                     redefinition of the Cluster location name

- In Event/GenEvent v6r7
  . Avoid multiple return statements in inline methods, as this effectively
    guarantees the compiler will not inline the code.

- In Event/LinkerInstances v3r7, v3r7p1
  . Added support for Upgrade cluster classes

- In Event/MCEvent v2r26
  . Added SL hit locations.

- In Event/PhysEvent v11r20
  . Change the data members of the Flavour tagging classes, to reduce their
    persistency sizes, by changing ints to short ints and doubles to floats.
    Never been made persistent, so no compatibility issues.

- In Event/RecEvent v2r47
  . Fix bug in clusterLocateDigit where assignment instead of equality
    operator was being used.

- In Event/TrackEvent v5r22
  . Added function State::linearTransportTo.

- In Ex/IOExample v4r11
  . Fix references following changes to DoD for DST unpacking

- In GaudiConf v17r8, v17r9, v17r10
  . Add explicit dependency on L0/L0DU to satisfy runtime requirement for
    DAQ decoding.
  . DecodeRawEvent.py, added support for dataondemand for FT/VL/VP clusters
  . Add Ecal and Hcal linkers back to standard DSTs, as they are needed for MC
    matching in DaVinci

- In Kernel/LHCbAlgs v2r58
  . Added SL to known detectors.

- In Kernel/LHCbKernel v14r1
  . Move the RichSmartIDTest code into the src/Test directory (to allow the tests
    directory to instead be used for a new QM test.
  . Add new QM test to run RichSmartIDTest.exe
  . Fix LHCbID <-> RichSmartID conversion, which broke when support for MaPMTs
    was added to the RichSmartID class.

 - In Kernel/LHCbMath v3r40
   . Types.py: minor fix in symmatrix alias
   . Add gamma-dist and loggamma-dist functions
   . Speed up the integration

- In Kernel/MCInterfaces v1r17
  . Introduce return values in ghost classification tools
    (replace exception by status code in case of missing data on TES)

- In Kernel/XMLSummaryBase v1r5, Kernel/XMLSummaryKernel v1r11
  . In tests, follow move to python2.7 (LCG 56), changes format of 
    entity

- In L0/L0Calo v11r11
  . L0CaloAlg: add two options (false by default) to:
    * mask the HCAL hot cells in the Hadron trigger emulation (MaskHotCells)
    * force the use of options instead of database (IgnoreDatabase)

- In L0/L0DU v10r28
  . Add missing dependency on CaloDAQ

- In Phys/LoKiCore v11r13
  . Fix a bug in addMomenta in Kinematics.h where the Predicate cut was not
    being properly applied.

- In Rich/RichDAQ v3r41
  . Import Rich::DAQ::RawBufferToRichDigitsAlg from Rich/RichAlgorithms

- In Tools/CondDBEntityResolver v5r6
  . Fixed a bug in the requirements file.
  . Imported the class CondDBCompression from Det/DetCond, including dictionary
    and tests.

- In Tools/CondDBUI v3r23
  . __init__.py: Before any (de)compression operation, check the existence of the
   'data' key in the DB payload

- In Tools/EventIndexer v1r1
  . Modified the test to match the new logic.
  . Added an extra field for the stream name and fill it from the file name,
    while the Stripping name must always be provided via options.

- In Det/CaloDet v10r16p1, Det/Magnet v7r6p1, Det/MuonDet v9r12,
     Det/VeloDet v13r19p1, Ex/DetCondExample v11r13, GaudiMTTools v1r2p1,
     Kernel/LHCbAlgs v2r58, L0/L0Calo v11r11, L0/L0DU v10r28, OT/OTDAQ v7r16p1,
     Velo/VeloDAQ v6r10
  . Fix clang32 warnings

- In Calo/CaloUtils v10r0, Det/DetDesc v18r32p1, Phys/LoKiMC v10r8p1
  . Fix trivial gcc48 warnings

- In Calo/CaloDAQ v4r34, Det/CaloDet v10r16p1, Ex/DetCondExample v11r13
  . Remove unused finalize() method

- In Calo/CaloUtils v10r0, Det/VeloDet v13r19p1, Ex/DetCondExample v11r13,
     Velo/VeloDAQ v6r10
  . Fix UNINIT_CTOR defect

- In Calo/CaloUtils v10r0, Event/LinkerEvent v3r10p1, Ex/DetCondExample v11r13,
     Tf/TfKernel v2r24p1
  . Replace endreq by endmsg


2013-04-30 LHCbSys v35r6

This version uses Gaudi v23r7 and LCG_64d

- Packages removed:  Event/PackedEvent, as now merged into Event/EventPacker
- Packages modified: Associators/MCAssociators v1r4, Calo/CaloDAQ v4r33,
    Calo/CaloKernel v6r4, DAQ/DAQUtils v1r11, DAQ/MDF v3r37, Det/CaloDet v10r16,
    Det/DDDB v1r62, Det/DetCond v12r30, Det/DetDesc v18r32,
    Det/DetDescChecks v5r10, Det/DetDescCnv v4r18, Det/MuonDet v9r11,
    Det/RichDet v16r17, Det/STDet v4r30, Det/VLDet v1r6, Det/VPDet v2r2,
    Event/EventPacker v3r0, Event/EventSys v26r0, Event/GenEvent v6r6,
    Event/RecEvent v2r46, Ex/IOExample v4r10, Kernel/LHCbAlgs v2r57,
    Kernel/LHCbKernel v14r0, Kernel/LHCbMath v3r39, Kernel/PartProp v1r16,
    Kernel/XMLSummaryKernel v1r10, L0/L0MuonKernel v9r10,
    Muon/MuonInterfaces v1r4, Phys/LoKiCore v11r12, Phys/LoKiGen v10r12,
    Phys/LoKiHlt v3r12, Phys/LoKiMC v10r8, Phys/LoKiNumbers v10r4,
    Rich/RichKernel v7r53, ST/STKernel v2r12, Tools/CondDBEntityResolver v5r5,
    Tools/CondDBUI v3r22, Tools/XmlTools v6r8, Tr/TrackInterfaces v4r24,
    Tr/TrackKernel v1r13

- In Calo/CaloDAQ v4r33
  . In CaloFillRawBuffer: Protected against invalid algorithm name

- In DAQ/DAQUtils v1r11
  . Added RawEventCombiners (merged from the swimming branch)
  . Moved to getIfExists

- In Det/DDDB v1r62
  . Updated default database tags to the latest ones:
    o LHCBCOND, 2013, 2012, 2011: cond-20130404
    o DDDB,     2013, 2012      : head-20130312-1
    o DDDB,                 2011: head-20130312
    o DQFLAGS   2013, 2012      : dq-20130418
  . When forming an Ariadne query, a preference is given to DDDBConf().Simulation
    instead of CondDB().Simulation property.
  . 'AutoTags' property added. If set to True, an automatic Ariadne-driven
    CondDB configuration is used according to the datatype set.

- In Det/DetCond v12r30
  . Removed the temporary hack used for C++11 (it was needed only because Boost
    was not yet built with C++11 enabled).
  . Bug fix: expansion of SQLITEUPGRADEDBPATH env. variable is prevented.
  . Added functionalities of compression and decompression on CondDB with new
    class CondDBCompression
    o Set up prototype to allow multiple compression methods, with an additional
      byte identifying the method prepended to the compressed string
    o Added the compression method of LZMA from ROOT with the assigned method
      number at 0, the method number for BZip2 is 1. LZMA is default

- In Det/DetDescChecks v5r10
  . Added loaddddb2012-ariadne.qmt and loaddddb-sim-2012-ariadne.qmt tests
    to load CondDB using the Ariadne driven tags configuration.

- In Det/RichDet v16r17
  . Some minor CPU optimisations
  . Partial changes in DeRichSystem for the single RICH simulation. Allow one
    Rich detector with number 0 or 1. Not complete yet, this version will not
    work with the single RICH

- In Det/VLDet v1r6
  . Removed unused functions

- In Event/EventPacker v3r0
  . Added a new mapper tool, ChargedProtoParticleMapper, for charged
    ProtoParticles that implements recalibration of the PID information
    on the fly.
  . Fixed compilation with CMake.
  . Merged Event/PackedEvent into this package.
  . Moved Kernel/StandardPacker.h into this package from Kernel/LHCbKernel.
    Also no longer installed in the InstallArea, as only required privately in
    this package.
  . Do not install the packed event header files into the InstallArea, as they
    are not required outside this package.

- In Event/EventSys v26r0
  . Removed Event/PackedEvent dependency (obsolete package)

- In Event/RecEvent v2r46
  . Added method TrackTwoprongVertex::massWithError

- In Ex/IOExample v4r10
  . Fixed i686 references for move to EOS

- In Kernel/LHCbAlgs v2r56, v2r57
  . Added IT and OT to known detector list.
  . Added a new simple little algorithm, ApplicationVersionFilter, that
    selects/rejects events based on a regex filter on the application version.
  . Removed unnecessary Assert after call to svc<>
  . Fixed untested StatusCode

- In Kernel/LHCbKernel v14r0
  . Moved Kernel/StandardPacker.h into Event/EventPacker
  . Extended the RichSmartID test application to check conversion to and from
    an LHCbID.
  . Fixed LHCbID class to use & instead of && in richID().
  . HitPattern: adapt for FT; merge UT with TT; add VP and VL

- In Kernel/LHCbMath v3r39
  . EqualTo: added comparison ove vectors, points & matrices
  . Functions.h: small fix
  . Added few helper functions into ValueWithError

- In Phys/LoKiCore v11r12
  . Added LoKi::Tensors into dictionary
  . Extended functionality for TES-getters

- In Phys/LoKiGen v10r12
  . Added GFLIGHT, GPVFLIGHT, GBETA , GGGAMMA and GBETAGAMMA symbols

- In Phys/LoKiHlt v3r12
  . Add functionality to effectively convert various L0, ODIN, Hlt-functors into
    "void-functions", that in particular allows their insertion into
    Hlt1-streamers

- In Phys/LoKiNumbers v10r4
  . Fix to follow changes in LoKiCore

- In Rich/RichKernel v7r53
  . No longer set the -DRICHDEBUG flag in debug builds, as no longer used.

- In Tools/CondDBEntityResolver v5r5
  . Added support for compressed CondDB with the class CondDBCompression

- In Tools/CondDBUI v3r22
  . AriadneAdmin_InitialImport.py added:
    A script to perform an initial import of the LHCb compatibility relations
    between LHCb Software Projects, computing platforms, CondDB tags,
    reconstruction and simulation types and GRID sites.
  . recotypes_paths.txt, simtypes_paths.txt and sites.txt added:
    For the purpose of easy import of LHCb reconstruction and simulation types,
    and of the list of sites three special-format files are added to doc/Ariadne
  . __init__.py: In the storeObject process, only do the compression if the
    compressed object is smaller in size.
  . __init__.py, Browser/Models.py: Added support to read/write compressed
    databases. The compression/decompress processes work in the background
    without user intervention.
  . compress_db_metadata.py, compress_db_metadata_mp.py: new scripts to compress
    the content of a CondDB file, both will yield exactly the same results. The
    later one is supposed to be much faster since it run concurrent tasks with
    multiprocessing

- In Tr/TrackInterfaces v4r24
  . Added ITrackVertexer::ipchi2
  . Prepared IVeloExpectation for change in HitPattern

- In Tr/TrackKernel v1r13
  . TrackCloneData: bug fixes + adapted for upgrade

- In Associators/MCAssociators v1r4, Calo/CaloDAQ v4r33, Kernel/LHCbMath v3r39,
     Kernel/PartProp v1r16, Phys/LoKiCore v11r12,  Phys/LoKiGen v10r12,
     Phys/LoKiMC v10r8, Phys/LoKiMC v10r8
  . Fixes to support compilation with clang

- In Calo/CaloKernel v6r4, DAQ/MDF v3r37, Event/EventPacker v3r0,
     Phys/LoKiCore v11r12, Phys/LoKiGen v10r12
  . Fixes to support compilation with gcc47

- In Det/DetDescCnv v4r18, Det/MuonDet v9r11, Det/STDet v4r30
  . Replaced some unnecessary dynamic_cast by static_cast, fixes FORWARD_NULL
    defects

- In Calo/CaloDAQ v4r33, Det/CaloDet v10r16, Det/DetCond v12r0,
     Det/DetDesc v18r32, Det/DetDescCnv v4r18, Det/MuonDet v9r11,
     Det/STDet v4r30, Det/VPDet v2r2, Event/GenEvent v6r6, Kernel/LHCbAlgs v2r56,
     L0/L0MuonKernel v9r10, Muon/MuonInterfaces v1r4, Phys/LoKiGen v10r12,
     ST/STKernel v2r12, Tools/XmlTools v6r8, Tr/TrackKernel v1r13
  . Fixed Coverity defects

- In Det/DetDescChecks v5r10, Det/RichDet v16r17, Det/VPDet v2r2,
     Phys/LoKiCore v11r12, Phys/LoKiGen v10r12, Phys/LoKiMC v10r8,
     Phys/LoKiMC v10r8
  . Replaced endreq by endmsg

- In Det/MuonDet v9r11
  . Fixed unprotected DEBUGs

- In Kernel/XMLSummaryKernel v1r10, Phys/LoKiCore v11r12
  . Fixed Eclipse static analyzer warning.

- In Phys/LoKiCore v11r12, Phys/LoKiGen v10r12, Phys/LoKiMC v10r8,
     Phys/LoKiMC v10r8
  . Removed unnecessary disclaimers from file documentation blocks


2013-03-21 LHCbSys v35r5

This version uses Gaudi v23r7 and LCG_64d

- Packages added:    Tools/EventIndexer v1r0 - Generation of indexes of events
- Packages modified: Det/DDDB v1r61, Det/DetCond v12r29p1, Det/MuonDet v9r10,
    Det/RichDet v16r16, Det/VLDet v1r5, Event/FTEvent v1r3, Event/RecEvent v2r45,
    Ex/IOExample v4r9, GaudiConf v17r8, Kernel/LHCbAlgs v2r55,
    Kernel/LHCbMath v3r38, Phys/LoKiGen v10r11, Tools/CondDBUI v3r21

- In Det/DDDB v1r61
  . Update default database tags to the latest ones:
    o LHCBCOND, 2013: cond-20130125
    o LHCBCOND, 2012: cond-20130125
    o DDDB,     2011: dddb-20130111
    o LHCBCOND, 2011: cond-20130125

- In Det/DetCond v12r29p1
  . Remove usage of python module from removed package HistoStrings

- In Det/MuonDet v9r10
  . In DeMuonDetector.h: (see https://savannah.cern.ch/bugs/?100553)
    o remove define directives in favour of private static const members
    o remove unused defines
  . In src/Lib/MuonBasicGeometry.cpp, MuonDet/MuonBasicGeometry.h
    Added a check on the muonSystem children to skip the muon filter and keep
    only the muon stations.
  . Added CMake configuration file.

- In Det/RichDet v16r16
  . In DePMTPanel, avoid pmt pixel row/column to exceed the allowed range (0-7).
  . Avoid potential memory leak for array related to pmt lens.

- In Det/VLDet v1r5
  . Put back VL path

- In Event/FTEvent v1r3
  . In MCFTDigit class, map of MCParticle replaced by map of MCHit

- In Event/RecEvent v2r45
  . Added information about FT clusters to RecSummary.

- In Ex/IOExample v4r9
  . Fix access URLs for MC10, Stripping17, Reco08 and Reco09 test files that have
    been moved to EOS

- In GaudiConf v17r6, v17r7, v17r8
  . Add Ecal and Hcal linkers back to standard DSTs, as they are needed for MC
    matching in DaVinci.
  . Fix type of SaveHepMC to be a bool in SimConf. Bug, introduced in v17r0,
    affects only Gauss.
  . RecSummary added to DST also for upgrade detectors.
  . Add a new function DigiConf().AddMCTrackInfo, to add MC/TrackInfo to the
    output, called by both DigiConf and DstConf. Previously this was part of
    AddMCParticleLinks, so MC/TrackInfo was not added to default MC DST, only
    XDST (bug introduced in v17r0, fixed also in v17r4b branch)

- In Kernel/LHCbAlgs v2r55
  . Changed the way LHCbApp derives dataTypes for the DB to also pick up older
    tags of the various detectors and their combinations.

- In Kernel/LHCbMath v3r38
  . Add some interpolation & spline functionality

- In Phys/LoKiGen v10r11
  . Symbol GY was masked by incorrect redefinition.

- In Tools/CondDBUI v3r21
  . compress_db_metadata.py, compress_db_metadata_mp.py: new scripts to compress
    the content of a CondDB file, both will yield exactly the same results.
    The later one is supposed to be much faster since it runs concurrent tasks
    with multiprocessing
  . ReleaseNotes.py: few handy methods added to fetch DataTypes from RN XML.


2013-02-12 LHCbSys v35r4

This version uses Gaudi v23r6 and LCG_64c

- Packages removed:  Kernel/HistoStrings, functionality now in GaudiUtils
- Packages modified: Associators/MCAssociators v1r3, Calo/CaloDAQ v4r32
    Det/DDDB v1r60, Det/DetCond v12r29, Det/DetDesc v18r31, Det/DetDescCnv v4r17,
    Det/FTDet v1r3, Det/RichDet v16r15, Det/VLDet v1r4, Event/EventPacker v2r21,
    Event/FTEvent v1r2, Event/LinkerEvent v3r10, Event/LumiEvent v3r4,
    Event/MCEvent v2r25, Event/RecreatePIDTools v1r7, Event/TrackEvent v5r21,
    GaudiConf v17r5, Kernel/FSRAlgs v1r2, Kernel/LHCbAlgs v2r54,
    Kernel/LHCbKernel v13r15, Kernel/LHCbMath v3r37, Kernel/PartProp v1r15,
    L0/L0Interfaces v2r3, Muon/MuonDAQ v4r17, Phys/LoKiCore v11r11,
    Rich/RichKernel v7r52, Rich/RichRecBase v4r16, Sim/SimComponents v2r24,
    ST/STKernel v2r11, ST/STTELL1Event v1r12, Tf/TfKernel v2r24,
    Tools/CondDBUI v3r20, Tr/TrackInterfaces v4r23, Tr/TrackKernel v1r12

- In LHCbSys:
  . Improved toolchain.cmake: no need to specify LCG version

- In Associators/MCAssociators v1r3
  . Pass a NULL message service to the linker constructor, to remove messages.

- In Det/DDDB v1r60
  . Add 2013 DataType (pA run)

- In Det/DetCond v12r29
  . Stop the TimeOutChecker thread when explicitly disconnected. The thread is
    restarted automatically when we reconnect.

- In Det/DetDesc v18r31
  . DetDesc/ParamAsHisto.h: Add missing protection against double inclusion
  . dict/DetDescDict.xml: fix a typo in function name

- In Det/FTDet v1r3
  . add method findLayer( FTChannelID ) needed for track fit

- In Det/RichDet v16r15
  . Modifications for PMTS with Lenses in DePmt and DePmtPanel

- In Det/VLDet v1r4
  . Modification of R sensor layout for compact layout
  . Change default location back to VeloLite until database is released

- In Event/FTEvent v1r2
  . Make the channelID method const for track fit

- In Event/LumiEvent v3r4
  . Remove unnecessary member variables

- In Event/MCEvent v2r25
  . Added an extra flag in MCRichHit.xml for the PMT lens for upgrade studies.

- In Event/TrackEvent v5r21
  . Added measurement types for VL (R, Phi, LiteR, LitePhi), FT, UT
  . Added track type for UT

- In GaudiConf v17r2, v17r3, v17r4, v17r5
  . Add Detectors slot in DstConf
  . Only save Rich and Muon Digitisation summary objects in XDSTs.
  . Add protection around Rich-specific code in DigiConf.py
  . Fix OptItemList for /Event/Gen/HepMCEvents and ItemList for
    /Event/Gen/BeamParameters, in both cases there was a missing #1.
    Bug introduced in v17r0

- In Kernel/LHCbAlgs v2r54
  . In Configuration.py (LHCbApp)
    o Extended method iwhich sets DB dataTypes to also set CondBD().Upgrade to
      True if appropriate
    o Added method which returns list of Upgrade detectors.
    o Added methods to derive local dataTypes from detector list

- In Kernel/LHCbKernel v13r15
  . Add UT hits

- In Kernel/LHCbMath v3r37
  . Add StudentT function
  . Fix some issue with Functions.cpp

- In Kernel/PartProp v1r15
  . define std::abs for ParticleID and ParticleProperty classes

- In L0/L0Interfaces v2r3
  . Add a new tool interface to allow removal of some hits used in the L0Muon
    emulation for special studies

- In Muon/MuonDAQ v4r17
  . Fix unneccessary tool release in MuonRec and MuonTAERec::finalize()

- In Phys/LoKiCore v11r11
  . Fix Coverity defect 19275
  . Tweak a bit CONTAINS functor: return -1 for non-existing locations

- In Rich/RichKernel v7r52
  . Minor clean up. Add missing preprocessor directives and remove some CVS
    comments.

- In Rich/RichRecBase v4r16
  . Add preliminary support for PatVeloUT track types, mapping them to
    Rich::Rec::Track::VeloTT
  . Add KeyedContainers and some missing entries for LHCb::RichRecRingOnPixel to
    python dictionary

- In Sim/SimComponents v2r24
  . Add dependency on Gen/DecFiles, needed by EvtTypeSvc

- In ST/STKernel v2r11
  . Move the constructor and destructor of STHisto2DProperties to public
    and the destructor to virtual.

- In ST/STTELL1Event v1r12
  . Add UT banks

- In Tf/TfKernel v2r24
  . Add UT hit

- In Tools/CondDBUI v3r20
  . internals.py: DumpToFiles method now ignores the C++ exception ("Attempt
    to access data of NULL attribute "NODE_PARENTID"") which prevented dumping
    local tags from SQLite to XML files in some cases

- In Tr/TrackInterfaces v4r23
  . Change void to StatusCode for removeTracksAndRecalculatePV (IPVOfflineTool)
    to give the information that PV recalculation failed and original PV is
    returned
  . Replace PatUTHit with PatTTHit
  . Add UT cluster and VeloUT interface

- In Tr/TrackKernel v1r12
  . Added TrackCloneData
  . Add include dependency on DetDesc

- In Calo/CaloDAQ v4r32, Event/LumiEvent v3r4, Event/RecreatePIDTools v1r7,
     Kernel/FSRAlgs v1r2, Kernel/LHCbAlgs v2r54, Muon/MuonDAQ v4r17,
     Phys/LoKiCore v11r11
  . use getIfExists when appropriate

- In Det/DetDesc v18r31, Det/DetDescCnv v4r17, Event/EventPacker v2r21
  . Fixes following replacement of Kernel/HistoStrings with GaudiUtils.

- In Event/LinkerEvent v3r10, Event/LumiEvent v3r4, Kernel/LHCbAlgs v2r54
  . Fix UNINIT_CTOR coverity defect

- In Kernel/LHCbAlgs v2r54, Muon/MuonDAQ v4r17
  . Remove 'do nothing' finalize methods



2012-11-28 LHCbSys v35r3

This version uses Gaudi v23r5 and LCG_64b

- This version introduces support for CMake. All packages have been modified
  to add CMake configuration files

- Packages removed: Online/RootCnv (pick up latest version v1r19 from Gaudi)

- Packages with modifications other than CMake support: Calo/CaloDAQ v4r31,
    DAQ/MDF v3r36, DAQ/Tell1Kernel v1r13, Det/BcmDet v1r4,
    Det/CaloDetXmlCnv v3r3, Det/DDDB v1r59, Det/DetDescChecks v5r9,
    Det/DetDescCnv v4r16, Det/DetDescSvc v3r6, Det/Magnet v7r6,
    Det/MuonDet v9r9, Det/OTDet v8r9, Det/RichDet v16r14, Det/STDet v4r29,
    Det/VLDet v1r3, Event/DigiEvent v3r1, Event/EventAssoc v5r2,
    Event/EventPacker v2r20, Event/FSREvent v1r1, Event/GenEvent v6r5,
    Event/LinkerEvent v3r9, Event/LumiEvent v3r3, Event/MCEvent v2r24,
    Event/RecreatePIDTools v1r6, Ex/DetCondExample v11r12, Ex/IOExample v1r8,
    GaudiConf v16r4, Kernel/FSRAlgs v1r1, Kernel/LHCbAlgs v2r53,
    Kernel/LHCbKernel v13r14, Kernel/LHCbMath v3r36, L0/L0MuonKernel v9r9,
    L0/ProcessorKernel v7r1, Muon/MuonDAQ v4r16, Phys/LoKiCore v11r10,
    Phys/LoKiGen v10r10, Rich/RichKernel v7r51, Sim/SimComponents v2r23,
    ST/STKernel v2r10, Tools/CondDBEntityResolver v5r4, Tools/FileStager v1r10,
    Tools/XmlTools v6r7, Tr/TrackInterfaces v4r22, Tr/TrackKernel v1r11

- In CaloDAQ v4r31
  . In CaloBankHandler.opts, Configuration.py: remove setting MeasureTime=True,
    should not be the default, and should in any case use TimingAuditor.

- In Det/DDDB v1r59
 - Update database tags for latest global tags:
   . LHCBCOND, 2012: cond-20121116
   . LHCBCOND, 2011: cond-20120724 (was cond-20120829, which is only for 2012)
   . DQFLAGS,  2012: dq-20121016

- In MuonDet v9r9
  . Added m_isM1defined flag to DeMuonDetector class, automatically set
    according to DDDB, read through DeMuonDetector::isM1defined().
  . Added DeMuonDetector::testForFilter(const IDetectorElement *f) function
    to test if f is a Muon filter.
  . src/Lib/MuonChamberLayout.{cpp,h}
    reads DeMuonDetector::isM1defined() and initialize m_ChVec properly

- In RichDet v16r14
  . Check the list of inactive Photo-Detectors for possible errors in
    DeRichSystem
  . Added method rich() to DeRich to return the DetectorType
  . Addition of new class DeHorizRich
  . Modifications in DeRichSphMirror DeRichPMTPanel DeRichPMT &
    DeRichBase to be able to run with a single Rich detector
  . Updated DeRichRadiator to set correctly the rich() and radiatorID() for
    the upgrade to a single Rich detector

- In VLDet v1r3
  . Removed unused functions, added functions for pattern recognition

- In DigiEvent v3r1
  . Modify SiLiteCluster.xml so that channelID length is 25 when requested,
    otherwise it is 24, compatible with existing data.

- In EventAssoc v5r2
  . Add the dictionary for MCParticle -> ProtoParticle

- In EventPacker v2r20
  . Explicit definition of comparison function for sorting in cluster unpacking.
  . Various changes to better support packing and unpacking of MC related
    stripping information.
  . Load the clusters in PackCluster only when really needed. Avoids problems
    with attempts to load UT clusters in non-upgrade detector versions ...
  . Extend ConversionDODMapper with new job options to allow the property name
    for the input and output data locations to be configurable
  . Sort the unpacked cluster containers in UnpackCluster. Workaround for an
    issue in Stripping20 where the clusters are not sorted prior to packing.

- In FSREvent v1r1
  . Rename some variables for clarity in IOFSR

- In LinkerEvent v3r9
  . In LinkerWithKey, make it dummy if the specified container name is empty.
    Needed by the DaVinci associators as a dummy one is created.

- In MCEvent v2r24
  . Improve the fillstream methods for MCParticle and MCVertex to also include
    information on their associated SmartRefs. Added two new cpp files for
    these classes to implement the new methods, as they are unlikely to be
    properly inlined anyway (too long). Moved MCParticle::hasOscillated() to
    the cpp file, as to was also unlikely to be inlined.

- In RecreatePIDTools v1r6
  . Replace exist/get calls with getIfExists

- In IOExample v1r8
  . Fix references to follow changes in DstConf

- In GaudiConf v17r0, v17r1
  . Edit FT settings in DigiConf.py
  . Add a filter to the Charged ProtoParticle unpacking sequence that checks if
    they exist before running the PID recalibration algorithms.
  . Add support for automatic unpacking of stripping MC information
  . SimConf.py:
    o Add slot "SaveHepMC", default True, to switch off saving of HepMCEvents.
      Should be set to False by Gauss. Downstream applications will save by
      default if they were saved by Gauss
    o Never save HepMCEvents for Spillover slots
    o Remove DC06 support
  . DstConf.py: do not save Digit to MCParticle linkers on default MC DST,
    saved only if "Extended" SimType
  . Add tuning for BufferSize to FSR service (512 Bytes) for optimization,
    see Core Soft meeting, indico.cern.ch/conferenceDisplay?confId=207776
  . Extend the automatic unpacking options for stripping in DstConf to
    automatically create on demand the stream dependent 'Lite' clusters from
    the original full versions

- In Kernel/FSRAlgs v1r1
  . Segfault identified on opening multiple files, not yet understood...
  . Automatic cleaning is implemented.
  . Simple options file test is added
  . Clone OutputStreamAgent, OutputStream, RecordStream and write a new class
    on top
  . Add LHCbFSRStream, derived from LHCbRecordStream
  . Add FSRIOSvc, which polls data to fill the FSR and fills it for you.
  . Update merge-small-files reference following changed input files

- In Kernel/LHCbAlgs v2r53
  . Use getIfExists in DataObjectVersionFilter + increase default max
    version number
  . Add a trivial new algorithm DataRemove that just removes a TES location.
    Useful in the stripping packing options.

- In LHCbKernel v13r14
  . Added one more Rich DetectorType for the upgrade with a single Rich/TRID

- In LHCbMath v3r36
  . Add functions for calculation of sum/difference/multiplication/division
    with correlation

- In LoKiCore v11r10
  . Remove unnecessary disclaimers from file documentation blocks
  . Remove obsolete CVS control strings from file documentation blocks
  . Fixed warning for duplicated definition of _POSIX_C_SOURCE.

- In LoKiGen v10r9, v10r10,
  . Bug fix in 4-vector-functors

- In RichKernel v7r51
  . Adapted HPDIdentifier class to accept also numbering schemes for MaPMTs
    Scheme is RPMMMNN for Rich, Panel, Module (column) and Number
  . Added function deRichDetectors() to RichCommonBase to get the DeRich objects
  . Added tool interace Rich::IDetectorTool

- In TrackInterfaces v4r22
  . Add method to clear the cache in ITrackStateProvider

- In DetDescCnv v4r16, DetCondExample v11r12, LHCbAlgs v2r53, RichKernel v7r51
  . Fixed 'virtual function is hidden' warning.

- In STDet v4r29, DigiEvent v3r1, STKernel v2r10
  . Fix multiple return in inline functions.

- In BcmDet v1r4, CaloDetXmlCnv v3r3
  . Remove obsolete file _dll.cpp

- In CaloDAQ v4r31, MuonDet v9r9, RichDet v16r14, LumiEvent v3r3, FSRAlgs v1r1
  . Fix Coverity defects

- In CaloDAQ v4r31, MDF v3r36, Tell1Kernel v1r13, DetDescChecks v5r9,
     DetDescSvc v3r6, Magnet v7r6, MuonDet v9r9, OTDet v8r9, GenEvent v6r5,
     LHCbKernel v13r14, LHCbMath v3r36, L0MuonKernel v9r9, ProcessorKernel v7r1,
     MuonDAQ v4r16, SimComponents v2r23, STKernel v2r10,
     CondDBEntityResolver v5r4, FileStager v1r10, XmlTools v6r7,TrackKernel v1r11
  . Fix warnings from gcc -pedantic and Eclipse

- In RichDet v16r14, LumiEvent v3r3, LoKiCore v11r10
  . Fix unprotected verbose(), debug()

2012-10-01 LHCbSys v35r2

This version uses Gaudi v23r4 and LCG_64a

- Packages added: Det/FTDet v1r0      - Detector description for Fibre Tracker
                  Det/VPDet v2r0      - Description of Velo Pixel for Upgrade
                                        Replaces Det/VeloPixDet
                  Event/FTEvent v1r0  - Event classes for Fibre Tracker
                  Event/FSREvent v1r0 - FSR-specific classes not lumi-related
                  Online/RootCnv      - Over-ride Gaudi version

- Packages removed: Det/VeloPixDet

- Packages modified: Calo/CaloDAQ v4r30, Calo/CaloUtils v9r5, DAQ/MDF v3r35,
   DAQ/MDF_ROOT v1r8, Det/DDDB v1r58, Det/DetCond v12r27, Det/DetDescChecks v5r8,
   Det/OTDet v8r8, Det/RichDet v16r13, Det/STDet v4r28, Det/VLDet v1r2,
   Event/DAQEvent v9r11, Event/DigiEvent v3r0, Event/EventPacker v2r19,
   Event/GenEvent v6r4, Event/L0Event v19r7, Event/MCEvent v2r23,
   Event/PackedEvent v4r12, Event/PhysEvent v11r18, Event/RecEvent v2r43,
   Event/TrackEvent v5r19, Ex/IOExample v4r7, GaudiConf v16r3,
   GaudiObjDesc v11r16, Kernel/HltInterfaces v4r7, Kernel/LHCbAlgs v2r52,
   Kernel/LHCbKernel v13r13, Kernel/LHCbMath v3r35, Kernel/XMLSummaryBase v1r3,
   Kernel/XMLSummaryKernel v1r8, L0/L0MuonKernel v9r8, Muon/MuonDAQ v4r15,
   Online/RootCnv v1r18, OT/OTDAQ v7r15, Phys/LoKiCore v11r9p1,
   Rich/RichKernel v7r50, Rich/RichRecBase v4r14, Sim/SimComponents v2r22,
   ST/STKernel v2r9, Tf/PatKernel v2r5, Tools/CondDBUI v3r18,
   Tools/FileStager v1r9, Tr/TrackInterfaces v4r21

- In CaloDAQ v4r30
  . CaloBankHandler.opts : remove bank conversion - just decode Xcal digits and
    produce ProcStatus from ReadoutStatus
  .  fix typo in CaloDigitFilterAlg properties

- In DDDB v1r58
  . Update database tags for latest global tags:
    o DDDB, 2012: dddb-20120831
    o LHCBCOND, 2012: cond-20120917
    o LHCBCOND, 2011: cond-20120829
    o DQFLAGS, 2012,2011: dq-20120910
  . Removed dependencies on CORAL LFCReplicaSvc (dropped in LCGCMT 64).

- In DetCond v12r27
  . Workaround for bug #96673 (spurious warnings in GenConfUser)

- In VLDet v1r2
  . Phi strip line parameters in global frame
  . Removed halfbox frame functions

- In DAQEvent v9r11
  . Added missing bank types to LHCb::RawBank::typeName(...)

- In DigiEvent v3r0
  . Number of bits to address Si cluster is increased from 24 to 25
    (NB above change makes any existing persstent LiteClusters unreadable)

- In EventPacker v2r19
  . Added some 'band-aid' protection to UnpackCluster to catch exceptions thrown
    when an attempt is made to insert an object into a KeyedContainer with an
    existing key
  . Added FT to Packers, Checkers and Unpackers

- In L0Event v19r7
  . Fixed minor (syntax) errors in some XML files.

- In PhysEvent v11r18
  . Updated enums in Particle.h related to cone variables to match what is
    written by DaVinciTools/ConeVariables

- In TrackEvent v5r18
  . Reset the ghost prob and likelihood values back to 999, in Track::reset()
  . Add likelihood and ghost probability to LHCb::Track::fillStream printout.
  . Properly set the ghost prob and likelihood values in LHCb::Track::copy
  . Add a proper copy constructor for LHCb::Track

- In IOExample v4r7
  . Add tests to copy and read Reco12Stripping17 and Reco14Stripping20 dst+mdst
  . Fix references to follow change in options printout format in Gaudi v23r4
  . Follow fix to Track copy method, r144539

- In GaudiConf v16r3, v16r2
  . Added options for FT and VL in Sim and DigiConf.
  . Reordered imports in Sim and DigiConf to be as-needed (protection against
    upgrade code failure).

- In GaudiObjDesc v11r16, v11r15
  . Added CMake configuration and module (to be used by other packages).
  . Allow for generation of "private" headers when using CMake.
  . Added the possibility of declaring typedefs in the scope of the namespace
    surrounding the class (i.e. just outside the class).
  . Added a special target to just generate all the headers files (AllObj2doth).
  . Added tests for the XML parser.
  . Removed some dead code: parsing of GODsClassDB.xml (not supported by DTD).
  . Added test for entities and comment handling in xparser.
  . Re-implemented GaudiObjDesc.xparser on lxml (instead of the embedded pyxml).
  . Added support for 'ORDERED' allocators:
    o Switched on by setting the allocator to 'ORDERED' on the command line
    o Uses ordered_malloc() instead of malloc() and ordered_free(p) instead of
      free(p) in boost pool allocations and de-allocations.
    o Includes a "release_pool" method and registers the class to a static
      object that allow the release of all the pools.
    o Added a linker library to host the function required by
      MemoryPoolAllocatorReleaser.
  . Minor improvements to the command line option test.
  . Rewritten the option parsing using the 'optparse' module instead of the
    obsolete 'getopt'.
  . Added a test submodule (using nosetests) with some tests in preparation of
    the consolidation of the Python code.
  . Renamed the directory 'test' to 'tests' to conform to the convention.

- In LHCbAlgs v2r52, v2r51
  . Use getIfExists in ODINDecodeTool
  . src/RateFromCondDB, src/OfflineRateLimiter, src/RateFromTCK:
    o Allow to deal with rates and prescales to fix bug #94262
  . Modify EmptyEventNodeCleaner to have a configurable EventDataSvc
  . Add FSRCleaner derived from EmptyEventNodeCleaner to use after FSR merging
    (see bug #96471)

- In LHCbKernel v13r13
  . Minor fix to RichRadiatorType.cpp to match the RichRadiatorType.h
  . Expand IRateFromTCK.h to deal with prescales. See bug #94262
  . Moved MemoryPoolAllocatorReleaser source and test to GaudiObjDesc, changing
    the namespace to Gaudi.
  . Modified LbAppInit for the change in the namespace of
    MemoryPoolAllocatorReleaser.

- In LHCbMath v3r35
  . Fix the bug in Bugg23L function
  . Add Gounaris-Sakurai function
  . Access amplitudes
  . Add three-body phase space

- In L0MuonKernel v9r8
  . Minor change the #ifdef for the compatibility with XercesC 3 (use Xerces
    macro instead of the one set by LCGCMT).

- In RootCnv v1r18, v1r17
  . Change optimization options to be part of the RootCnvSvc and not part of
    the RootDataConnection + adapt all called functions to use these.
  . Add developments from Ivan Valencik for memory optimization.
    o Options to modify the default behaviour:
      RootCnvSvc.BasketSize = 2*MBYTE
      RootCnvSvc.BufferSize = 2*kBYTE
      RootCnvSvc.SplitLevel = 0
    o Ivan also developed a small component to measure process quantities
      such as the memory usage and cpu consumption.

- In LoKiCore v11r9p1
  . Fix a bug with decay tree parsing.

- In SimComponents v2r22
  . PrintMCDecayTreeTool: Add PID field (optional)
  . MCDecayFinder : Ignore particles not in ParticleTable (bug #96768)

- In CondDBUI v3r18
  . Removed dependencies on CORAL LFCReplicaSvc (dropped in LCGCMT 64).

- In FileStager v1r9
  . Added protection to finding of a file's size from dedicated command output.
  . Print extra error information when staging has failed.
  . Fixed handling of file:// PFNs (such as used at CNAF). Unless the StageLocal
    property is set, they are not staged.
  . Added extra protection to the use of KeepFiles. If there is an environment
    variable set which ends in JOBID, files will never be kept.

- In STDet v4r28, DAQEvent v9r11, DigiEvent v3r0, EventPacker v2r19,
     MCEvent v2r23, PackedEvent v4r12, RecEvent v2r43, GaudiConf v16r3,
     LHCbKernel v13r13, STKernel v2r9
  . Added UT detector classes and UT related changes

- In DigiEvent v3r0, EventPacker v2r19, MCEvent v2r23, PackedEvent v4r12,
     TrackEvent v5r19, GaudiConf v16r3, LHCbKernel v13r13, TrackInterfaces v4r21
  . Renamed VeloPix to VP

- In CaloUtils v9r5, MDF v3r35, MDF_ROOT v1r8, DetDescChecks v5r8, GenEvent v6r4,
     PatKernel v2r5, FileStager v1r9
  . Minor changes to requirements for a smoother migration to CMake.

- In DDDB v1r58, DetCond v12r27, IOExample v4r7, LHCbAlgs v2r52,
     LHCbKernel v13r13, XMLSummaryBase v1r3, XMLSummaryKernel v1r8,
     RichKernel v7r50 ,FileStager v1r9
  . Added __init__.py in python/ directory

- In DetCond v12r27, OTDet v8r8, RichDet v16r13, STDet v4r28, MCEvent v2r23,
     HltInterfaces v4r7, LHCbAlgs v2r52, LHCbKernel v13r13, MuonDAQ v4r15,
     OTDAQ v7r15, RichRecBase v4r14, SimComponents v2r22, STKernel v2r9
  . Fixed compilation with -std=c++11 (-std=c++0x).

- In XMLSummaryBase v1r3, XMLSummaryKernel v1r8
  . Removed transient QMTest directory.

2012-07-31 LHCbSys v35r1p1

This version uses Gaudi v23r3 and LCG_64
Production version for 2012 data taking

- Packages modified: Det/DDDB v1r57, GaudiObjDesc v11r14, OT/OTDAQ v7r14,
    Tools/CondDBUI v3r17

- In DDDB v1r57
  . Update database tags for latest global tags:
    o LHCBCOND, 2011, 2012: cond-20120730
    o DDDB, 2011: dddb-20120727
    o DQFLAGS, 2011, 2012: dq-20120727

- In GaudiObjDesc v11r14
  . Revert to v11r14 (was v11r15 in LHCB v35r1) to disable use of ordered_malloc
    and ordered_free, since the latter gives a huge CPU penalty.

- In OTDAQ v7r14
  . Replace separate exist<>() + get<>() calls with getIfExists
  . Fix more UNINIT_CTOR defects

- In CondDBUI v3r17
  . CondDBAdmin_Commit.py and CondDBAdmin_GlobalTag.py:
    Switching the release_notes.xml location detection from using SQLDDDBROOT to
    SQLITEDBPATH environment variable. This is needed to accommodate the Upgrade
    CondDB use case.

2012-07-25 LHCbSys v35r1

This version uses Gaudi v23r3 and LCG_64
Production version for 2012 data taking

- Packages modified: Calo/CaloDAQ v4r29, DAQ/DAQUtils v1r9, Det/DetSys v17r1,
    Det/DDDB v1r56, Det/DetCond v12r26, Det/RichDet v16r12, Det/VLDet v1r1,
    Event/DAQEvent v9r10, Event/EventPacker v2r18, Event/TrackEvent v5r17,
    Ex/DetCondExample v11r11, GaudiConf v16r1, GaudiMTTools v1r1,
    GaudiObjDesc v11r15, Kernel/LHCbKernel v13r12, Kernel/LHCbMath v3r34,
    Kernel/XMLSummaryKernel v1r7, L0/L0Base v2r1, Tools/CondDBUI v3r16

 -In CaloDAQ v4r29, DAQUtils v1r9, EventPacker v2r18
  . Use new TES getIfExists function instead of separate exist and get calls

 -In CaloDAQ v4r29
  . Fix UNINIT_CTOR defects

- In DAQUtils v1r9
  . Fix unprotected debugs

- In DetSys v17r1, DetCondExample v11r11
  . Minor fix in the requirements branches.

- In DDDB v1r56
  . Update database tags for latest global tags:
    o LHCBCOND, 2011, 2012: cond-20120724

- In DetCond v12r26
  . Fix bug https://savannah.cern.ch/bugs/?94454 (code duplication with Moore)
    o Allow _configureDBSnapshot to work without UseOracle = True statement
    o Remove MagneticFieldSvc().UseSetCurrent = True
      that should be set in the application's configuration.

- In RichDet v16r12
  . Add methods to DeRichSystem to return the number of PDs for each RICH
  . Fix a small bug in DeRichPMTPanel, where a null pointer was not properly
    protected against being dereferenced.

- In VLDet v1r1
  . Removed iterator member functions in DeVL,
  . Added functions needed for pattern recognition

- In DAQEvent v9r10
  . Put VL after the previous last entry, FTCLuster.

- In EventPacker v2r18
  . Fix trivial logic flaw in EventPacker.icpp (coverity defect 33355)

- In TrackEvent v5r17
  . Added extra info field for fraction of used OT drifttimes.
  . Added a few functions to TrackFitResult.

- In GaudiConf v16r1
  . Add QMTest exclusions to avoid test failures when LbAppInit prints changes
    in memory use

- In GaudiMTTools v1r1, LHCbKernel v13r12
  . Fixed compilation with Boost 1.50.

- In GaudiObjDesc v11r15
  . Modified the generation of the code using boost pool allocators to add a
    "release_pool" method and to register the class to the static object that
    allow the release of all the pools.
  . Added dependency on Kernel/LHCbKernel to ensure that every user of G.O.D. can
    find the required headers.
  . Use ordered_malloc() instead of malloc() and ordered_free(p) instead of
    free(p) in boost pool allocations and de-allocations.

- In LHCbKernel v13r12
  . In LbAppInit, implement the same checks on memory usage as in DaVinciInit:
    o Print memory increment every "Increment" events if it has changed.
      Default every 100 events
    o Shrink Boost memory pools if memory usage exceeds "MemoryPurgeLimit".
      Default 3.4GB
    o Shrink Boost memory pools at finalize
  . Added mechanism to collect the list of classes using a memory pool allocator
    and their "release_pool" static methods.
    This mechanism is used in the headers generated by GaudiObjDesc.
  . Added test for MemoryPoolAllocatorReleaser.

- In LHCbMath v3r34
  . Added Bernstein & positive polynomials

- In XMLSummaryKernel v1r7
  . Add fillUsage in finalize to make sure the __final__ memory footprint
    is written.

- In L0Base v2r1
  . L0FromRawBase :
    new method rawEventLocations  returns the vector of possible locations

- In CondDBUI v3r16
  . CondDB_UpdateOnlineSnapshots.py: an improvement to better isolate concurrent
    ONLINE update processes from each other running on the same destination.

2012-06-26 LHCbSys v35r0

This version uses Gaudi v23r3 and LCG_64
Production version for 2012 data taking

- Packages added:    Det/VLDet v1r0 - Detector elements for VeloLite detector

- Packages modified: Calo/CaloDAQ v4r28, Calo/CaloInterfaces v8r4,
    Calo/CaloUtils v9r4, DAQ/DAQUtils v1r8, DAQ/MDF v3r33, DAQ/MDF_ROOT v1r7,
    Det/CaloDet v10r14, Det/DDDB v1r55, Det/DetCond v12r25,
    Det/DetDescCnv v4r15, Det/RichDet v16r11, Event/DAQEvent v9r8,
    Event/DigiEvent v2r21, Event/EventPacker v2r17, Event/L0Event v19r6,
    Event/MCEvent v2r22, Event/PackedEvent v4r11, Event/PhysEvent v11r17,
    GaudiConf v16r0, GaudiObjDesc v11r14, Kernel/LHCbAlgs v2r50,
    Kernel/LHCbKernel v13r11, Kernel/LHCbMath v3r33, Muon/MuonDAQ v4r14,
    OT/OTDAQ v7r13, Phys/LoKiCore v11r9, Phys/LoKiGen v10r8,
    Phys/LoKiHlt v3r10, Phys/LoKiMC v10r6, Rich/RichRecBase v4r13,
    Tools/CondDBUI v3r15, Tools/FileStager v1r8, Tr/TrackKernel v1r10

- In CaloDAQ v4r28
  . CaloDigitFilterTool : prepare for spd-dependent pile-up subtraction
  . Add RawEventLocations property to decoder to allow to specify a search
    list of locations. Default is to look for
    RawEventLocation::Calo followed by RawEventLocation::Default.
  . RawLocation property is declared obsolete. If set, it is prepended
    to RawEventLocations and a warning is printed.

- In CaloInterfaces v8r4
  . IGammaPi0SeparationTool  : update interface for tool update

- In CaloUtils v9r4
  . Calo2MC.h : add Hypo->MC table typedef
  . CaloMomentum :
    o add the missing method to return the CaloHypo vector
    o add constructor from vector
      (useful for bremList() from BremAdder)
    o New method : multiplicity() returns CaloPositions multiplicity
  . CaloParticle/CaloMomentum : store CaloHypo vector

- In DAQUtils v1r8
  . Add BanksToRemove property to RawEventSelectiveCopy, to allow to copy all
    banks except these. Only one of BanksToCopy and BanksToRemove must be set
  . Add RawEventLocations property to bankKiller, previously hard coded
    (default is RawEventlocation::Default to preserve old behviour)
  . Fix unprotected debugs in RawBankReadoutStatusFilter.cpp
  . Fix trivial icc remark

- In MDF v3r33, MDF_ROOT v1r7
  . Adjustment of 'includes' to work on systems with native gcc 4.6.

- In CaloDet v10r14
  . DeCalorimeter : get covariance parameters from Gain condition
  . DeCalorimeter/CellParam : allow spd-dependent PileUp parameters

- In DDDB v1r55
  . Update database tags for latest global tags:
    o LHCBCOND, 2011, 2012: head-20120607

- In DetCond v12r25
  . Configuration.py:
    o new property is added. "CondDB().Upgrade = True" will switch the CondDB
      machinery to talk to the Upgrade database.
    o three new properties are added:
      CondDB().LatestGlobalTagByDataType = "DataType0"
      CondDB().LatestLocalTagsbyDataType = ["DataType1","DataType2",...]
      CondDB().AllLocalTagsbyDataType = ["DataType1","DataType2",...]
      Setting this will launch the SAX machinery to fetch and set the latest
      global tags, latest locals tags, and all local tags, respectively, marked
      with requested DataType(s). This is an extension to the previous
      configuration machinery (CondDB().UseLatestTags = ["DataType"]) which is
      still supported.

- In DetDescCnv v4r15
  . Modification of XmlConverter for RICH upgrade DB

- In RichDet v16r11
  . Fix DeRichGasRadiator to allow the scale factors to be used Online.

- In DAQEvent v9r8
  . Add VL and FTCluster to RawBank types
  . Add RawEventLocation::Calo, RawEventLocation::Rich,
        RawEventLocation::Muon, RawEventLocation::Other to RawEvent locations

- In DigiEvent v2r21
  . Add VLCluster.xml and VLLiteCluster.xml

- In EventPacker v2r17
  . Add VL to Packers, Unpackers, Checkers
  . Clean up a little the MCParticle packers
  . Add a little additional debug printout to UnpackRecVertex for when the PV
    weights are updated from th weights vector, for old data.

- In L0Event v19r6
  . L0DUReport : change method preDecisionValueFromSummary : return the full
                 'int' value instead of the short bool (value !=0)

- In MCEvent v2r22
  . Define a location for the FT MCHits.
  . Add MCVLDigit.xml, define location for VL MCHits.

- In PackedEvent v4r11
  . Added MCVLHitPacker class

- In PhysEvent v11r17
  . Add enum 'HasBremAdded' to Particle.xml to flag particle with
    brem-corrected momentum
  . Add enums for cone variables to Particle.xml

- In GaudiConf v16r0
  . DstConf :
    o Add CaloHypo->MC linkers to the writer list
    o Modify SDST, DST, XDST content to always contain
      [Calo,Muon,Rich,Trigger,Other]/RawEvent instead of DAQ/RawEvent
      (needs Brunel v43r0 to write, LHCb v35r0 stack to decode). SDST and DST
      are now identical after Brunel, SDST is obsolete
    o Remove obsolete support for input from stripping ETC

- In GaudiObjDesc v11r14
  . Corrected indentation of Python files (with reindent.py).
  . Reorganized the package to conform to the standard structure for python
    modules and scripts.
  . Modified the main script to accept the path to the DTD file as option.
  . Modified the fragments to pass the DTD to the script instead of copying it
    in the packages.
  . Removed unused fragment (godify).

- In LHCbAlgs v2r50
  . Remove do nothing method EvtCounter::finalize, which in fact was buggy
    because it was not calling the base class
  . Adapt EvtCounter.h to change in IEventCounter interface
  . Moved IEventCounter to LHCbKernel.
  . Modified EvtCounter to implement the setEventCounter method and added two
    properties (UseIncident and InitialCount) useful for special cases and test
  . Added test for new features of EvtCounter (with test algorithm
    TestEventCounter).
  . OfflineRateLimiter: Remove unused property ConditionRate
  . Bug https://savannah.cern.ch/bugs/?94262
    o New tool RateFromCondDB that gets the NoBias rate from conditions DB
    o OfflineRateLimiter : use it

- In LHCbKernel v13r11
  . Put const in getEventCounter method of IEventCounter
  . Introduce use of IEventCounter in LbAppInit base class. The change is made
    to that the count (and so random seeds in Gauss) can be controlled in
    GaudiMP
  . Moved IEventCounter from LHCbAlgs and added a setEventCounter method to
    override the counter value.
  . Added VLChannelID and VLDataFunctor

- In LHCbMath v3r31, v3r32, v3r33
  . Add the code for hfits
  . Add Flatte's function properly corrected for phase space factors
  . Add Bugg' function for low mass S-wave dipion system ("sigma")
  . Add Needham function for J/psi

- In MuonDAQ v4r14
  . Add RawEventLocations property to MuonRawBuffer tool, to allow to specify
    a search list of locations. Default is to look for RawEventLocation::Muon
    followed by RawEventLocation::Default.
  . Undo last change in MuonRec, superseded by this change

- In OTDAQ v7r13
  . Fix unprotected debug
  . Fix UNINIT_CTOR defects
  . Add RawEventLocations property to OTRawBankDecoder, to allow to specify a
    search list of locations. Default is to look for RawEventLocation::Other
    followed by RawEventLocation::Default.
  . RawEventLocation property is declared obsolete. If set, it is prepended
    to RawEventLocations and a warning is printed.

- In LoKiCore v11r8, v11r9
  . Minor tweak for event type in AuxFunBase
  . Minor tweak to avoid verbosity in ONLINE
  . Improve decorators

- In LoKiGen v10r7, v10r8
  . Redesign kinematical functors
  . Improve child selection
  . More improvements for decorators
  . Add more rrshift/calls decorators

- In LoKiHlt v3r10
  . Minor improvement in treatment of event numbers

- In LoKiMC v10r5, v10r6
  . Improve treatment of children
  . Improve streamers, make dictionaries lighter
  . Add more rrshift/call decorators

- In RichRecBase v4r13
  . Update a few histogram limits

- In CondDBUI v3r15
  . TagsFilter.py: A method added to Release Notes Handler to get all local
    tags for specific data type and partition.

- In FileStager v1r8
  . Support '+' in filenames
  . Delay check for remote file existence until the staging gets to a file.
  . Return an instance of the FileStagerSvc configurable from the configuration
    function.

- In TrackKernel v1r10
  . TrackStateVertex:
    o Added adaptive fit to TrackStateVertex
    o now copies input states rather than keeping pointers
    o particles with negative masshypo will be ignored for p4
  . Added utility class TrajVertex


2012-05-03 LHCbSys v34r3

This version uses Gaudi v23r2 and LCG_62b
Production version for 2012 data taking

- Packages modified: Calo/CaloDAQ v4r27, DAQ/DAQUtils v1r7, Det/DDDB v1r54,
    Det/DetCond v12r24, Det/RichDet v16r10, Det/VeloDet v13r18p1,
    Event/DAQEvent v9r7, Event/EventPacker v2r16, Event/L0Event v19r5,
    Event/PackedEvent v4r10, Event/PhysEvent v11r16, Event/RecEvent v2r42,
    Event/RecreatePIDTools v1r5, GaudiConf v15r10, Kernel/LHCbMath v3r30,
    Kernel/MCInterfaces v1r15, L0/L0Interfaces v2r1, L0/L0MuonKernel v9r7,
    OT/OTDAQ v7r12, Phys/LoKiHlt v3r9, Rich/RichRecBase v4r12, ST/STKernel v2r8

- In CaloDAQ v4r27
  . CaloBankHandler.opts : create ProcStatus - stop conversion in case of
    ReadoutStatus error

- In DAQUtils v1r7
  . OdinTypesFilter : add filter on CalibrationTypes
  . RawBankReadoutStatusFilter :  set status to MissingStatus when no
    ReadoutStatus container is found (was "Missing" bank)
  . New algorithm: RawBankReadoutStatusConverter - convert ROStatus to ProcStatus

- In DDDB v1r53, v1r54
  . Update database tags for latest global tags:
    o LHCBCOND, 2011, 2012: head-20120420
    o DDDB,           2012: head-20120413

- In DetCond v12r24
  . Configuration: add properties allowing to configure from online_RunNumber.xml
    snapshots. For Online Brunel. This is stolen from Moore.

- In RichDet v16r10
  . Add methods to DeRichMultiSolidRadiator to allow explicit access to the
    Aerogel full and sub tiles. Useful for the Aerogel calibration.
  . Fix a bug where when running in the HLT, the Rich::TabulatedProperty1D
    object for the HLT refractive index interpolator was not deleted.

- In VeloDet v13r18p1
  .Fixed crash in DeVeloRType when getting closest M2 line to points at inner
   edge of acceptance. Fixes https://savannah.cern.ch/bugs/?93382

- In DAQEvent v9r7
  . Fix typo in  RawBankReadoutStatus::Status enum
  . Change RawBankReadoutStatusLocation::Default to /Event/Transient/DAQ/Status,
    to avoid loading /Event/DAQ when recreating this object on e.g. MDST

- In EventPacker v2r16
  . Protect UnpackCluster against the possibility that the packed clusters
    are missing
  . Add protection in PackDecReport in case the packer tries to repack existing
    reports. Needed for the use case of creating a packed private (u)DST from an
    already packed (u)DST
  . Fix untested StatusCodes
  . Packers return Error if they fail to unregister data if requested in options
  . Improvements to the packers, adding an option to allow checking of the
    packing to be done directly by the packing algorithms.
  . Add support for packing CaloClusters.
  . Clean up CaloHypo packing and unpacking
  . Small change to how duplicate LHCbIDs are removed in PackCluster

- In L0Event v19r5
  . Add getter method for pads to allow direct access of pads used by the L0Muon

- In PackedEvent v4r10
  . New version of the Particle packing, to (try) and fix consistency problems
    o Includes improvements to remove some false positives when comparing the
      momentum covariance matrix and 'mass' check for LorentzVectors to energy.
  . Improve the CaloCluster checking to avoid some false positives.
  . Print the TES location of Particles and Vertices with packing problems, add
    the object key to any warnings that are issued.
  . Various improvements to the packers, to improve the way the checks are
    implemented. Allows checking to be run directly by the packing algorithms.
  . Clean up PackedCaloHypo class
  . Add a new PackedCaloCluster class

- In PhysEvent v11r16
  . Provide a custom fillStream method for the Particle and Vertex class,
    improving on the default G.O.D. generated ones.
  . Change default initialisation value for the reference point in the
    Particle class from (0,0,-1km) to (0,0,-100m), to be within the range the
    Particle length scale packing can handle.
  . Add some divide by zero protection to Particle::slopes

- In RecEvent v2r42
  . Fix a bug in the RecVertex class when a vertex had tracks but no weights.
  . Improvements to the fillStream methods for CaloPosition, CaloHypo, VertexBase
  . Change the default initialisation for VertexBase::position from
    (0,0,-1*km) to (0,0,-100*m) to avoid packing truncation issues.

- In RecreatePIDTools v1r5
  . Improve a bit the debugging messages from ChargedProtoParticleAddMuonInfo
    and ChargedProtoParticleAddRichInfo
  . Add a work around to ChargedProtoParticleAddMuonInfo to attempt to recreate
    missing Track SmartRefs in stripping <18 data, due to a bug in the way the
    track references were saved in uDSTs.

- In GaudiConf v15r10
  . In DstConf:
    o Use the new EnableCheck functionality of the Packers for the packing tests,
      instead of separate Pack, Unpack, Compare algorithms
    o Add the Calo objects to the packing tests.
    o Add support for on-demand unpacking of CaloClusters on stripping (m)DSTs.

- In LHCbMath v3r30
  . Fix Bifurcated gaussian,
  . Extend random-module with asymmetric gaussian
  . Add generic solution for N-dimensional Chi2-problem with R-constraint
  . Add LASS shape for S-wave Kpi
  . Add phase space function for 2-from-3 decays with orbital momentum

- In MCInterfaces v1r15
  . Build dictionatries for IGenCutTool and IFullGenEventCutTool interfaces

- In L0/L0Interfaces v2r1
  . IL0MuonPtTool : (new) tool to recompute L0Muon candidate PT from LUT

- In L0MuonKernel v9r7
  . Manage Look Up Table for pt computation :
    o new class to handle Pt Look Up Table (L0MPtLUT)
    o L0MUnit (generic Unit): new data member holding a pointer to the LUT,
      plus corresponding set and get methods
    o CoreUnit : retrieve the pointer from MuonTriggerUnit (in constructor)
    o Tower : in constructor, store the pointer to the LUT; in process_tower, use
      the pointer in pt computation (if not empty).
  . Modification of the kine method which computes pt in ProcUtilities to allow
    to specify the positions of the pads. This is used to compute the LUT taking
    into account the muon geometry

- In OT/OTDAQ v7r12
  . OTReadOutWindow algorithms updated to load readOutGate values from database.

- In LoKiHlt v3r9
  . Add functors ODIN_EVT1, ODIN_EVT2

- In RichRecBase v4r12
  . Remove context() specific default settings for TrackSelectorBase "TrackAlgs"
    property. Default is now just all known types.

- In STKernel v2r8
  . Add end new method to return noise after pedestal subtraction
    to ISTNoiseCalculation interface.

2012-03-27 LHCbSys v34r2

This version uses Gaudi v23r2 and LCG_62b
Production version for initial 2012 data taking

- Packages modified:  DAQ/DAQUtils v1r6, Det/DDDB v1r52, Event/EventBase v3r0,
    Event/EventPacker v2r15, Event/PackedEvent v4r9p1, Event/RecEvent v2r41,
    Event/TrackEvent v5r16, Ex/IOExample v4r6, GaudiConf v15r9,
    Kernel/HltInterfaces v4r6, Kerbel/LHCbAlgs v2r49, Kernel/LHCbKernel v13r10,
    Kernel/PartProp v1r13, Kernel/XMLSummaryKernel v1r6, Rich/RichRecBase v4r11,
    ST/STKernel v2r7, Tools/CondDBUI v3r14, Tr/TrackKernel v1r9p1

- In DDDB v1r52
  . Update default DQFLAGS database tags:
    o DQFLAGS, 2011: dq-20120322 (new flags and fixes for the previous ones)
    o DQFLAGS, 2012: dq-20120322 (no 2012 flags so far, just updating to the
      latest 2011 one)
  . Update database tags for latest 2012 global tags:
    o DDDB,     2012: head-20120316
    o LHCBCOND, 2012: head-20120316

- In EventBase v3r0
  . Remove ProcessHeader::m_randomSeeds since they are not used anywhere and
    causes portability problems with persistency of vector

- In EventPacker v2r13, v2r14, v2r15
  . Various improvements to the PackedCluster support, following work to
    deploy the inclusion of these packed objects in the stripping.
  . Take the default packing version from the packed data, instead of assuming 0.
  . Improve the debug and verbose messages from the ProtoParticle packer
    and unpacker
  . Adapt WritePackedDst,ReadPackedDst to removal of ProcessHeader::m_randomSeeds
    Writer now writes a zero to mimic the length of the seeds vector, reader does
    a number of dummy reads equal to the size of the seeds vector
  . New algorithms PackCluster and UnpackCluster. Packer processes a container of
    tracks and stores in a PackedCluster container the Velo + ST  clusters.
    Unpacker regenerates the Velo and  ST cluster containers from the
    PackedCluster object given as InputName. See release notes for usage details

- In PackedEvent v4r8, v4r9, v4r9p1
  . Some small improvements to the PackedCluster class
  . Fix the packing of RichPID and MuonPID objects, where the key was not
    properly restored.
  . Fix the unpacking of Vertices: the reference is a long long.

- In RecEvent v2r41
  . Include Track pointer in ProtoParticle printout

- In TrackEvent v5r16
  . Add dictionaries for std::vector,
    std::vector,
    Gaudi::Range_ >

- In IOExample v4r6
  . Adapt test references to removal of random number seeds from ProcessHeader

- In GaudiConf v15r8, v15r9
  . Update the stripping DST unpacking options in DstConf to add a new mapping
    tool to handle automatic unpacking of the track clusters.
  . Remove the line in DstConf setting the packing version for RichPIDs. The
    correct value is set by default in the class itself.

- In HltInterfaces v4r6
  . Update ReadRoutingBits to pass a const RawEvent, and to pass relevantBits
    by reference not value.

- In LHCbAlgs v2r49
  . Fix logic bug in IncidentFilter.cpp, Coverity defect #30939
  . In LHCbApp, do not check DQ flags in case of Simulation

- In LHCbKernel v13r10
  . Add some additional checks to StandardPacker
  . New header Kernel/DetectorSegment to handle the representation of a detector
    segment, a line described as x = a + b * y and z = c + d * y.
    All parameters in float to minimize memory access.

- In PartProp v1r13
  . Add some hash functions for ParticleID

- In XMLSummaryKernel v1r6
  . Make the type of incident used for begin and end event configurable with a
    default to the standard types (for Swimming use case).
  . Remove UNLIKELY macros (avoids branching for 2011 swimming releases)

- In RichRecBase v4r11
  . Added support for HLTImportedTrack in RichTrackID

- In STKernel v2r7
  . Add end new method to ISTNoiseCalculation interface

- In CondDBUI v3r14
  . CondDBAdmin_DQ_Commit.py:
    Add patch id to the release notes DQ entry.
  . CondDBAdmin_GlobalTag.py:
    Extend the number of available partitions with DQFLAGS.

- In DAQUtils v1r6, EventPacker v2r14, LHCbAlgs v2r49
  . Fix UNINIT_CTOR defects

- In DAQUtils v1r6, LHCbKernel v13r10
  . Fix unprotected debug() messages

- In DAQUtils v1r6, LHCbAlgs v2r49
  . Fix trivial icc remarks

- In TrackKernel v1r9p1
  . bug fix in TrackTraj: Backward tracks have states in opposite order

2012-02-29 LHCbSys v34r1

This version uses Gaudi v23r1 and LCG_62a
Development version for 2012 data taking

- Packages modified: Calo/CaloKernel v6r2p1, Det/DDDB v1r51,
    Event/EventPacker v2r12, Event/PackedEvent v4r7, Event/PhysEvent v11r15,
    Event/RecEvent v2r40, Event/SwimmingEvent v1r2, Event/TrackEvent v5r15,
    Ex/IOExample v4r5, GaudiConf v15r7, GaudiObjDesc v11r13,
    Kernel/LHCbAlgs v2r48, Kernel/LHCbKernel v13r9, Kernel/XMLSummaryKernel v1r5,
    Muon/MuonDAQ v4r13, Phys/LoKiCore v11r7, Phys/LoKiGen v10r6,
    Phys/LoKiHlt v3r8, Rich/RichKernel v7r49, Tf/TfKernel v2r22,
    Tools/FileStager v1r7, Tr/TrackInterfaces v4r20, Tr/TrackKernel v1r9

- In DDDB v1r51
  . Change SQLDDDB dependency to v7r*, to pick up by default the new
    distribution mechanism

- In EventPacker v2r12
  . Add a new mapping tool to support the many to one Particle and Vertex packer
  . Protect PackParticlesAndVertices against completely missing streams

- In EventPacker v2r12, PackedEvent v4r7
  . Update the way some references to Particles and Vertices are stored, to
    use 64 bit integers, to avoid packing problems.
  . Update the RecVertex packed class and packing and unpacking algorithms
    to support the new RecVertex class with track weights.
  . Reorganise things a bit w.r.t. the Particle and Vertex packing, to avoid
    some code duplication

- In PhysEvent v11r15
  . Add enums related to isolation information to Particle extraInfo.

- In RecEvent v2r40
  . Update RecVertex with new methods to get and set the track weights, for
    each track separately.
  . Update RecVertex class to natively store the weights associated with each
    track. The weights are optional, to preserve backwards compatibility. If
    a weight is not given 1.0 is implicitly used.
  . Add some additional types to the LCG dictionary.

- In SwimmingEvent v1r1
  . Add dictionaries for to allow interaction with map
    from python

- In TrackEvent v5r15
  . Made Node::chi2 virtual
  . Added measurement type Origin
  . Fixed bug in Measurement copy constructor
  . Add some additional types to the dictionary, needed by RecEvent.
  . Added StateParameters::zMidTT.

- In IOExample v4r5
  . Fix reference comparisons also for icc (tiny numerical differences wrt gcc)
  . ioexample.copymc10dsttoroot now takes input file from svcClass=lhcbdisk,
    was default.
  . Follow change to DstConf().EnableUnpack option
  . Follow DataOnDemand decoding changes in DstConf. In IOTest, force ToolSvc
    initialisation before DataOnDemandSvc

- In GaudiConf v15r7
  . Update DstConf to no longer include the PV weights vector in DSTs.
    Weights are now included directly in the RecVertex class.
  . Extend the EnableUnpack option in DstConf, to take a list of unpacking types.
    Allowed values are [ "Reconstruction", "Stripping" ]. Allows for each to be
    turned on and off independantly.
  . Add unpacking options for striping (m)DST information
  . Removed LHCbApp configurable, to avoid circular dependency with XmlSummary.
    Moved to Kernel/LHCbAlgs. Move to LHCbAlgs also the tests fsr-only-file-root
    and fsr-small-files-root, that use LHCbApp(). Cleaned up dependencies
    accordingly

- In LHCbAlgs v2r48
  . Change default DataType in LHCbApp() to 2012 (was 2009)
  . Add slot "IgnoreDQFlags" to LHCbApp(). If False, events with bad DQ are
    skipped. Default is True
  . Adapt lhcbalgs.dqfilter.service.basic to use LHCbApp with IgnoreDQFlags=False
  . Clone above test as lhcbalgs.dqfilter.service.disabled to test LHCbApp with
    IgnoreDQFlags=True
  . Protect EmptyEventNodeCleaner from a completely missing root node
  . Added a new tool (DQAcceptTool) implementing IAccept to wrap the calls to
    IDQFilter and IDQScanner in one simple function.
    The new tool can work both by run and by event.
  . Modified the algorithm DQFilter to use DQAcceptTool and removed DQFilterByRun
    because the difference between the two algorithms is not wrapped in the tool.
  . Factored out the Python code for the validation of DQFilter tests.
  . Added a simple service using DQAcceptTool to filter events on the BeginEvent
    incident (DQFilterSvc).
  . Added LHCbApp configurable, moved from GaudiConf. Moved also from GaudiConf
    the tests fsr-only-file-root and fsr-small-files-root. Adjusted dependencies
    accordingly
  . Protect DataObjectVersionFilter from printing an exception message when
    the input data does not exist.

- In LHCbKernel v13r9
  . Create an FTChannelID for the Fibre Tracker of the upgrade.
    Added it to LHCbID with all usual methods to get, set and test.
  . Add a new set of 64-bit reference packing methods to the StandardPacker
  . Minor clean up in IAccept.

- In XMLSummaryKernel v1r5
  . Use xrootd instead of rfio to read test file
  . Add missing QMTest run time dependency on DDDB

- In MuonDAQ v4r13
  . Change MuonRec to look for muon raw event in a location set by options
    and pass it to MuonRawBuffer, to allow reading of muon raw info in PID mdsts.

- In LoKiCore v11r7
  . Improve treatment of vector-like argument

- In LoKiGen v10r6
  . Add GVRHO functor

- In LoKiHlt v3r8
  . Explicitly create dictionaries for LoKi::Odin classes, instead of using a
    class pattern, to avoid creating a duplicate dictionary
  . ODIN_EVNTNUMBER fix

- In TfKernel v2r22
  . Fix an issue with std::sort not being stable: different compiler (versions)
    are therefore allowed to produce different "sorted" sequences of hits which
    can cause variations in results of client code. the following measures were
    taken to fix that
    o change the increasingBy... functors in TfKernel/RecoFuncs.h so that they
      order by LHCbID as a fallback (i.e. increasingByZ will sort hits at the
      same z by their LHCbID (increasing)); the old behaviour is still
      available through a template parameter which defaults to the new behaviour
   o add corresponding decreasingBy... functors which have the same behaviour
     as their increasingBy... counterparts; they also sort (by default) by
     increasing LHCbID as a fallback

- In FileStager v1r7
  . Move two descriptor mangling functions into a separate library
  . Move source files around.
  . Add hash_particle.exe which outputs the temporary filename used for a given
    PFN or LFN.

- In TrackInterfaces v4r20
  . Remove WithWeights methods as a consequence of removal WeightsVector
    from PatPV

- In TrackKernel v1r9
  . add functionality to vertex a track with an existing vertex to
    TrackStateVertex

- In SwimmingEvent v1r2, GaudiObjDesc v11r13, LHCbKernel v13r9
  . Fix requirements to set -DGOD_NOALLOC when tag 'target-dbg' is set,
    previuosly used tag 'debug' that no longer exists

- In RichKernel v7r49
  . Fix requirements to set -DRICHDEBUG when tag 'target-dbg' is set,
    previuosly used tag 'debug' that no longer exists

- In CaloKernel v6r2p1
  . Fix trivial icc remarks

2012-01-31 LHCbSys v34r0

This version uses Gaudi v23r0 and LCG_62a
Development version for 2012 data taking

- Packages removed: Online/RootCnv. RootCnv v1r12 is released as part of Gaudi
    v23r0. Model is now that HEAD is maintained in ONLINE project. New releases
    can be included here again if necessary, before being imported into future
    Gaudi releases
- Packages added: GaudiMTTools v1r0 - Collection of Gaudi multithreading tools.
                           Currently includes only GaudiParallelizer algorithm.
- Packages modified: Calo/CaloDAQ v4r26, Calo/CaloUtils v9r3, DAQ/MDF v3r32,
    DAQ/Tell1Kernel v1r12p1, Det/CaloDet v10r13, Det/DDDB v1r50,
    Det/DetCond v12r23, Det/DetDesc v18r29, Det/DetDescChecks v5r7,
    Det/DetDescSvc v3r5, Det/MuonDet v9r8, Det/RichDet v16r9, Det/STDet v4r27,
    Det/VeloDet v13r18, Event/EventPacker v2r11, Event/PackedEvent v4r6,
    Event/TrackEvent v5r14, Ex/IOExample v4r4, GaudiConf v15r6,
    Kernel/HltInterfaces v4r5, Kernel/LHCbAlgs v2r47, Kernel/LHCbKernel v13r8,
    Kernel/LHCbMath v3r29, Kernel/XMLSummaryKernel v1r4, Phys/LoKiCore v11r6,
    Phys/LoKiGen v10r5, Phys/LoKiMC v10r4, Rich/RichKernel v7r48

- In CaloDAQ v4r26
  . Do not cache pedestalShift at initialize, get it from detector element
    whenever it's needed, since it can change during the job.

- In CaloUtils v9r3
  . Fix minor bug in CaloAlgUtils::StringMatcher

- In CaloDet v10r13
  . DeCalorimeter & CellParam :  reset CellParam members to default value before
    updating condition (fix initialization problem depending on first loaded
    condition)

- In MDF v3r32
  . Add flag to MDFIO to suppress error messages if getDataSpace fails.
    Default is current behaviour

- In DDDB v1r50
  . Add support for 2012 DataType
  . For each DataType, in case of real data, set initial time
    (used for CondDB initialisation before first event)
    to the last meaningful time of the corresponding year:
    o End of year for 2008, 2009
    o End of last fill for 2010, 2011
    o Current time for 2012, if before end of 2012

- In DetCond v12r23
  . Implemented CondDBDQScanner: a tool to collect (merge) the DQ flags from the
    Conditions Database in a given IOV.
  . Added a test to validate the output of CondDBDQScanner.
  . Added new methods to the ICondDBReader interface (getIOVs), to retrieve the
    list of IOVs in a folder for an IOV.
  . Added a test for the implementation of getIOVs in CondDBAccessSvc, and fixes.
  . Modified LoadDDDB to trigger the initialization of the UpdateManagerSvc in
    the initialize (to avoid that is gets triggered in the middle of an event).
  . Fixed ICC warning (Boost 1.48).

- In DetDesc v18r29
  . Added a special "update mode" to ValidDataObject to be able to change the
    semantic of the update method. If the argument passed to "update" has the
    update mode set to OVERRIDE, the behavior is to replace existing parameters
    and to not remove missing ones, i.e. restore the old semantic.
    (required by UpdateMgrSvc condition overrides)
  . Changed the semantic of ParamValidDataObject::update() (Condition) to
    replace the old content instead of just merge the new values in.

- In DetDescChecks v5r7
  . Ensure that the event time used by LoadDDDB is the one defined in the
    configuration of EventClockSvc (from DDDBConf.DataType).
  . Added tests loaddddb2012.qmt, loaddddb-sim-2012.qmt, loaddddb-sim-mc11.qmt

- In DetDescSvc v3r5
  . Modified UpdateMgrSvc to use the special "update mode" OVERRIDE for the
    conditions used to override existing ones (property ConditionsOverride).

- In MuonDet v9r8
  . Fix coverity warnings in DeMuonChamber

- In RichDet v16r9
  . Add some additional debug and verbose printouts to DeRichSystem
  . Fix a bug where a few maps where not cleared in
    DeRichSystem::buildPDMappings() before being (re)filled.

- In VeloDet v13r18
  . Added a new function to DeVeloRType to map the 2nd metal layer to the hits
    to simulate the effects of the intra-sensor cross-talk seen in 2011 data,
    will produce a warning unless run with new DDDB update describing the M2
    layout
  . Minor change to the test velodet.veloaligncond.updates to absorb the change
    in Condition::update().

- In EventPacker v2r11
  . Implement the option "DeleteInput" in the packers used in the stripping.
    If True, the input data objects will be deleted after a successful packing.
  . Packing of RecVertices (primary) and Particle2LHCbID map
  . Add some protection to PackCaloHypo in case of invalid SmartRefs ..
  . New algorithms PackParticlesAndVertices and Unpack... to pack in a single
    container all particles in a tree, all vertices, all relations between them.
  . New algorithms PackDecReport and UnpackDecReport to unpack/pack the stripping
    decisions. By default lines having not fired are removed. This can be changed
    by setting the option PackDecReport().Filter = False
  . Added a tool to dynamically configure the DataOnDemandSvc using rules (regex)
    to map the destination (requested) path to a source location, and a map of
    source class IDs to conversion algorithms. If a path is recognized as a
    candidate for conversion (e.g. intermediate paths) and the corresponding
    source path points to a plain DataObject, the corresponding node is created.
    See comments in ConversionDODMapper.h
  . Do not abort processing in the Checkers, if missing data locations are found
    (Happens with Particles in stripped DSTs).

- In PackedEvent v4r6
  . New class PackedParticle2Ints to pack the map between particle and LHCbIds
  . New class PackedRelation to store the Particle2Vertex relations.
  . New class PackedDecReport for packing the stripping report.
  . Modified PackedEventChecks.h to test the relative change for matrices.
  . Added dedicated locations of stripping names

- In TrackEvent v5r14
  . Replace volatile by static in Track::nodes() to get rid of segfault due to
    gcc46 optimization

- Ex/IOExample v4r4
  . Adapt references to RootCnv v1r12 and Gaudi v23
  . Add some missing run time dependencies to run tests with cmt run
  . Remove tests that write POOL files. Remaining tests reading POOL files
    copy to ROOT files and read them back, comparing outputs.

- In GaudiConf v15r6
  . Remove GaudiPoolDb from requirements ready for Gaudi v23r0
  . Move tests around to cope with missing POOL services
  . Fixed moved tests so that they keep their own references.

- In HltInterfaces v4r5
  . Fix to PropertyConfig to remove embedded newlines from properties

- In LHCbAlgs v2r47
  . Added the algorithm DQFilterByRun. It is equivalent to DQFilter, but rejects
    all the events belonging to a run with bad DQ Flags
  . Added tests for DQFilterByRun.
  . Add new algorithm EmptyEventNodeCleaner that searches the TES for empty
    data nodes and removes them.
  . Factored out from the DQFilter algorithm the code to accept/reject Data
    Quality flags. The code has been moved to a new tool (BasicDQFilter),
    which implements the IDQFilter interface.
  . New test algorithm to retrieve a service during initialize, start or
    execute (LHCbAlgsTest::ServiceStarter).
  . Modified test lhcbalgs.late_evt_clock after the change in the behavior of
    LoadDDDB (using LHCbAlgsTest::ServiceStarter).
  . Fix include recursion, Coverity defect 26577

- In LHCbKernel v13r8
  . New method in StandardPacker to pack a SmartRef
  . New functions in StandardPacker for long links
  . Added new interfaces for Data Quality filtering: IDQFilter, IDQScanner
  . Declared  new RICH radiators CO2 and PMTQuartz in RichRadiatorType.h

- In LHCbMath v3r29
  . Minor fix in Gaudi::Math::trace function

- In XMLSummaryKernel v1r4
  . Adapt readerror and writeerror references to new Incident thrown on error
    by RootCnv v1r12
  . Add QMTest dependencies to requirements, to allow to run QMTests with cmt run
  . Migrate tests to Gaudi v23r0, no POOL, and different exit codes.
  . Tests now depend on IOHelper, and therefore GaudiConf

- In LoKiCore v11r6, LoKiGen v10r5, LoKiMC v10r4
  . Add dumping functors

- In LoKiGen v10r5
  . Add various functors for polarizations
  . Add GCOSPOL functor

- In RichKernel v7r48
  . Add some protection against calling primaryID() on an empty
    HPDPixelCluster object.
  . Add an option to the RichTools Configurable to use the new detailed
    track segment creator that uses the tracking State provider tool,
    instead of the extrapolators.

- In Tell1Kernel v1r12p1,  LHCbKernel v13r8
  . Fix trivial icc remark

- In STDet v4r27, LoKiCore v11r6
  . Fix headers include recursions, Coverity defects 15534 to 15544, 15553


2011-12-15 LHCbSys v33r2

This version uses Gaudi v22r5 and LCG_61b
Production version for 2011 analysis.

- Packages removed:  Gen/HepMCBack: Obsolete, was for DC06
- Packages modified: Calo/CaloDAQ v4r25, Calo/CaloUtils v9r2p1, Det/DDDB v1r49,
    Det/DetCond v12r22, Det/DetDesc v18r28, Det/DetDescChecks v5r6p1,
    Det/Magnet v7r5, Det/RichDet v16r8, Det/VeloDet v13r17, Event/DAQEvent v9r6,
    Event/GenEvent v6r3, Event/HltEvent v9r2p1, Event/RecEvent v2r39p1,
    Event/TrackEvent v5r13p1, Ex/IOExample v4r3, GaudiConf v15r5,
    Kernel/HistoStrings v1r3, Kernel/LHCbAlgs v2r45, Kernel/LHCbKernel v13r7,
    Kernel/LHCbMath v3r28, Kernel/PartProp v1r12, Kernel/Relations v6r0p2,
    Kernel/XMLSummaryKernel v1r3, L0/L0Base v2r0, L0/L0Interfaces v2r0,
    L0/ProcessorKernel v7r0, Phys/LoKiCore v11r5, Phys/LoKiGen v10r4,
    Rich/RichKernel v7r47, Rich/RichRecBase v4r10, ST/STKernel v2r6p1,
    Tools/CondDBUI v3r13, Tools/FileStager v1r6

- In CaloUtils v9r2p1
  . Fix unprotected debug() messages
  . Replace endreq by endmsg
  . Fix an UNINIT_CTOR coverity defect

- DDDB v1r49
  . Removed use of Gaudi ParticlePropertySvc (obsolete) from DDDBConf.
  . Update database tags for SQLDDDB v6r20:
    o LHCBCOND, 2011: head-20111111

- In DetDescChecks v5r6p1
  . Remove obsolete HepMCBack dependency

- In Magnet v7r5
  . Various tidy ups to the last commit to the MagneticFieldSvc

- In RichDet v16r8
  . Remove MaPMT specific hacks from DeRichSystem. No longer needed as DB is
    now correct.
  . Add a method to the PD Panel base class to return PD type
  . Made a fix to DeRichPMTPanel for rich2 plane definition.
  . Made a fix to the pmt smartid decoding to hits in DeRichPMT and added more
    utilities to DeRichPMTPanel
  . Add PMT classes from Sajan

- In DAQEvent v9r6
  . Add RawEventLocation::Trigger to RawEvent.h

- In IOExample v4r3
  . No longer load HepMCBack in the tests, was only needed for DC06!
  . Change input file of pooldst tests to an MC09 compatible file

- In GaudiConf v15r5
  . IOHelper:
    o Fix a missing part of the logic with respect to sequencers. It will now
      also look for streams inside defined GaudiSequencers. Modified the streams
      test for this
    o Add isPoolSupported to IOHelper in preparation for POOL being removed
      Uses check on the version of GaudiSvc from the requirements file
  . Add .gen and .xgen to supported types of IOExtension, guess to be Root type,
    print warning
  . In requirements, fix a dependency problem in macro GaudiConfConfUserModules
  . DstConf:
    o Remove support for RDST (never used in real data, superseded by SDST)
    o Rename _doWritePOOL method to _doWriteROOT
  . Add "NextNext" to default DigiConf().SpilloverPaths

- In HistoStrings v1r3
  . Provide parser/conversions functions for TH1F and TH2F classes

- In LHCbAlgs v2r45
  . Update default RawEvent search locations in ODINDecodeTool
    o Remove obsolete LHCb::RawEventLocation::Copied
    o Add LHCb::RawEventLocation::Trigger as first location searched by default

- In LHCbKernel v13r7
  . Extend the RichSmartID class with an 'Undefined' PD type enum
  . Add LHCb::RichSmartID::HPD, LHCb::RichSmartID::MaPMT and
    LHCb::RichSmartID::IDType to the python dictionary
  . Update the space allocated to the PD numbers by 1 when printing MaPMT
    RichSmartIDs
  . Update sizes of bit fields for MaPMTs
  . Remove obsolete methods from RichSmartID

- In LHCbMath v3r28
  . Few minor fixes with ValueWithError
  . Add few useful functions

- In PartProp v1r12
  . Fix bug in enumeration of PDG ID digits, spin of particles was wrongly
    retrieved

- In XMLSummaryKernel v1r3
  . Remove GaudiPoolDB dependency to prepare migration to Gaudi v23r0.

- In L0Base v2r0
  . L0FromRawBase :
    o Add possibility to use RootInTES to search for raw event location. The raw
      events are first searched in the list of given locations ignoring the
      RootInTES. If no valid location is found, RootInTES is used and a flag is
      raised for further use in the specialized decoding algorithms.
    o Add RawEventLocations : list of possible raw event locations, common
      property for L0 decoders.
    o Add  selectRawEventLocation : method to scan these raw event locations and
      to select the first valid one.
    o Add  m_statusOnTES : common flag to L0 decoders to unable/disable the
      writing of the bank readout status on the TES. This flag is set in the
      selectRawEventLocation method according to the selected raw event location.
      Bank read out statuses are written only if the default raw event location
      is used (i.e. the one used in the raw data).
  . New dependency : Event/DAQEvent

- In L0Interfaces v2r0
  . IL0DUFromRawTool : New virtual method to set tool property (_setProperty)

- In ProcessorKernel v7r0
  . Add flag to indicate whether a registerfactory has already been build from
    xml or not. Needed to allow several instances of the L0Muon decoding.

- In LoKiCore v11r5
  . Use new reimplementation of decay node and decay tree parsers
    (based on Spirit v2)

- In LoKiGen v10r4
  . Add GCHILD/GCHILDFUN and GCHILDCUT functors
  . Fix the oscillation flags in decay tree matching functions

- In RichKernel v7r47
  . Use unsigned int instead of unsigned long for histogramming methods
  . Add a first Minimal MaPMT0 data format
  . Add the 'FlatList' data format to RichDAQDefinitions.h
  . Adapt to removal of obsolete methods from RichSmartID

- In RichRecBase v4r10
  . Update Rich::Rec::PhotonKey with a better packing method.
  . Remove use of long in favour of int and long long
  . Adapt to removal of obsolete methods from RichSmartID

- In CondDBUI v3r13
  . The commitment machinery now states a fact of a new nodes insertion to the db
    in the release notes web page (xsd&xsl were also changed to visualize this).
  . Minor options changes for the TSDBAdmin_Commit.py script.

- In FileStager v1r5, v1r6
  . Move search for tmpdir into C++ to ensure correct behaviour with pickled
    options files. If the property is set, it is always used.
  . Fixed compilation with Boost 1.48 (filesystem V3).
  . Fix the regex used to find the xrootd host (port definition is optional).
  . Allow dashes in filenames when matching a descriptor.

- In CaloDAQ v4r25, DetDesc v18r28, GenEvent v6r3, HltEvent v9r2p1,
     Relations v6r0p2, ProcessorKernel v7r0, LoKiCore v11r5, FileStager v1r6
  . Fixes to gcc46 compilation issues

- In CaloUtils v9r2p1, RecEvent v2r39p1, TrackEvent v5r13p1, STKernel v2r6p1,
     FileStager v1r6
  . Fix icc remarks

- In DetCond v12r22, VeloDet v13r17, XMLSummaryKernel v1r3, FileStager v1r6
  . Add explicit Boost_linkopts for compatibility with Gaudi v23

2011-11-11 LHCbSys v33r1

This version uses Gaudi v22r5 and LCG_61b
Production version for 2011 analysis.

- Packages added:    Event/SwimmingEvent v1r0: Event Model classes for persistency of the swimming result
- Packages modified: DDDB v1r48, DetDescSvc v3r4, Magnet v7r4, RichDet v16r7,
    VeloDet v13r16, DigiEvent v2r20, RecreatePIDTools v1r4, TrackEvent v5r13,
    GaudiConf v15r3, HltInterfaces v4r4, LHCbAlgs v2r44, LHCbKernel v13r6,
    LHCbMath v3r27p1, PartProp v1r11, MuonDAQ v4r12, MuonInterfaces v1r2p2,
    RootCnv v1r10, OTDAQ v7r11, LoKiCore v11r4, LoKiMC v10r3, LoKiNumbers v10r2,
    RichKernel v7r46, RichRecBase v4r9, PatKernel v2r4p1, TsaKernel v3r6p1,
    CondDBUI v3r12, FileStager v1r4, TrackKernel v1r8

- In Det/DDDB v1r48
  . Update database tags for SQLDDDB v6r19:
    o LHCBCOND, 2011: head-20111102
    o DDDB,     2011: head-20111102

- In Det/DetDescSvc v3r4
  . Fixed bug #87392: Event time not set correctly on first event

- In Det/Magnet v7r4
  . Update MagneticFieldSvc to cache the field polarity (Down or Up) and return
    this, instead of calculating it each time ::isDown() is called.

- In Det/RichDet v16r7
  . Preliminary changes for future MaPMT support
    + add new DeRichPD and DeRichPDPanel classes that the HPD specific DeRichHPD
      and DeRichHPDPanel classes now inherit from. Provide the generic methods
      needed by any PD type (HPD or MaPMT). Used in the recosntruction, so it
      becomes neutral to the PD technology.

- In Det/VeloDet v13r16
  . Added TEll1 event info to DeVeloSensor to propagate decoding problems to
    downstream algorithms

- In Event/DigiEvent v2r20
  . Remove unused variable in STCluster class overlap method

- In Event/RecreatePIDTools v1r4
  . Add MuonPIDStatus to ProtoParticle additional info even if IsMuonLoose = 0,
    to make it consistent with associated MuonPID object.

- In Event/TrackEvent v5r13
  . Renamed and documented the additional info associated to Muon tracks in
    Track.xml

- In GaudiConf v15r1,v15r2,v15r3
  . In IOHelper.py:
    o In SetupServices(), disable by default the ROOT tree caches. Can be
      overridden by setting the RootCnv options externally as postConfigAction
      and update ioh-postconfig-pool2root.ref.new test reference accordingly
    o Add "xdigi" file extension to list of known extensions
  . Fix IOExtension problem with svcClass.
  . In DstConf.py:
    o  Set the AncestorFor property of UnpackMuonTracks to the same path as
       InputName, to allow the ancestor track association.
    o  Add "NextNext" to default DstConf().SpilloverPaths

- In Kernel/HltInterfaces v4r4
  . Add IConfigTreeEditor interface, moved from HltBase package

- In Kernel/LHCbAlgs v2r43,v2r44
  . Add new algorithms for copy/link data in TES:
    Gaudi::DataCopy, Gaudi::DataLink. See release notes for usage details
  . OdinTimeDecoder:
    o Added a check to prevent failures in case of bad ODIN time.
    o Fixed a problem exposed by the fix to bug #87392: do not try to get
      RawEvent if the Event Store is not ready.
  . Added test exposing bug #87392: Event time not set correctly on first event
  . Adapted TestTimeDecoderOdin to the new behavior of EventClockSvc.
    (fix to bug #87392)

- In Kernel/LHCbKernel v13r6
  . Rename NHPDPanelsPerRICH as NPDPanelsPerRICH and NTotalHPDPanels as
    NTotalPDPanels in RichSide.h, to be PD 'neutral'

- In Kernel/PartProp v1r11
  . Fixed a bug in the test partprop.usesvc1: GaudiPython script used as an
    option file.
  . Added the test-time dependency on DDDB.

- In Muon/MuonDAQ v4r12
  . Add protection for duplicated hits (due to data corruption).

- In Online/RootCnv v1r9,v1r10
  . Fix bug #88049: RootCnv has problems reading POOL XDST
  . Fix bug for programming the branch cache properly

- In OT/OTDAQ v7r11
  . IOTRawBankDecoder extended with method isTotalNumberOfHitsLessThen(nmax)
    with trivial default implementation. The nontrivial implementation
    added to OTRawBankDecoder.

- In Phys/LoKiCore v11r4
  . add new functionality to streamers:
    o selection the first few elements
    o reverse the ordering of streamer
    o sort and partial sort of the stream
  . Fix a bug in the copy constructor of Scalers::RateLimitV. On copy, an
    additional random offset was added to the initial offset. The offset is now
    set to a new number from the same domain.

- In Phys/LoKiMC v10r3
  . MCVFUN: adaptor for MC-vertex

- In Phys/LoKiNumbers v10r2
  . Update for stream sorting functors

- In Rich/RichKernel v7r46, Rich/RichRecBase v4r9
  . Small changes to start to make things PD neutral (HPD/MaPMT).

- In Tf/TsaKernel v3r6p1
  . Fix typo in TsaKernel/SeedTrack.h, coverity bug 22106

- Tools/CondDBUI v3r12
  . ONLINE snapshot replacement in 'CondDB_UpdateOnlineSnapshots.py' is made
    atomic.

- In Tools/FileStager v1r3,v1r4
  . Add a timeout of a minute to waiting for the garbage collector to complete
    its cleanup.
  . Improve the regex used to find the xrootd host.
  . Improve garbage collector.
  . Add finding of garbage.exe in C++ to cover running from pickled options (like
    on the grid) in case the package is not released.
  . Reorder PFN parsing to correctly pickup xrootd at Cern and RAL.
  . Allow a PFN which is only a filename, no directories.
  . Add xrdcp support for root:// PFNs.
  . Fix a bug in disconnect logic.

- In Tr/TrackKernel v1r8
  . Modified 'constrainMass' in TrackStateVertex to consider the natural width of
    the mother in the fit.

- In Event/TrackEvent v5r13, Kernel/LHCbKernel v13r6, Kernel/LHCbMath v3r27p1,
     Muon/MuonInterfaces v1r2p2, OT/OTDAQ v7r11, Tf/PatKernel v2r4p1,
     Tf/TsaKernel v3r6p1
  . Fix or mask icc warnings and remarks

2011-09-16 LHCbSys v33r0

This version uses Gaudi v22r4 and LCG_61
Production version for 2011 reprocessing and MC11.

- Packages added:    Tools/FileStager v1r2: Create local copies of files from the grid at runtime
- Packages modified: CaloDAQ v4r24, CaloUtils v9r2, CaloDet v10r2, DDDB v1r47,
    DetCond v12r21, DetDesc v18r27p1, DetDescSvc v3r3, Magnet v7r3, MuonDet v9r7,
    RichDet v16r6, GenEvent v6r1, LumiEvent v3r2, RecEvent v2r39, IOExample v4r2,
    GaudiConf v15r0, HistoStrings v1r2, LHCbAlgs v2r42, LHCbKernel v13r5,
    LHCbMath v3r27,  XMLSummaryKernel v1r2, MuonDAQ v4r11, RootCnv v1r8,
    OTDAQ v7r10p1, LoKiCore v11r3, RichKernel v7r45, RichRecBase v4r8,
    SimComponents v2r21, STKernel v2r6, CondDBUI v3r11, XmlTools v6r6

- In Calo/CaloDAQ v2r24
  . Protect readout against missing parasitic FEB in the rawBank

- In Calo/CaloUtils v9r2, Det/DetCond v12r21, Kernel/HistoStrings v1r2,
     Kernel/LHCbMath v3r27
  . Updates of parser functions to use new parsers introduced in Gaudi v22r3

- In Det/CaloDet v10r12
  . Allow for parasitic FEBs in ReadoutConf condition (e.g. crate timing)
  . Protect against processing the trigger neighborhood on parasitics FEBs

- In Det/DDDB v1r47
  . Update database tags for SQLDDDB v6r17:
    o LHCBCOND, 2011: head-20110914
    o DDDB,     2011: head-20110914

- In Det/DetDescSvc v3r3
  . FakeEventTime: remove unused EventDataSvc property

- In Det/MuonDet v9r7
  . Bug fix in the pad size for regions with double readouts
  . Replace std::cout by MsgStream when the stream was terminated by endmsg,

- In Det/RichDet v16r6
  . Add DeRichRadiator::Vector to python dictionary
  . Add a new method to DeRichSystem to return the L1 logicla ID for a given
    HPD RichSmartID

- In Event/GenEvent v6r1
  . Add a dictionary for std::map,
    needed to read old HepMC data on 32-bit machines

- In Event/LumiEvent v3r2
  . Add Vertex and PoissonVertex values to counterKey enum

- In Event/RecEvent v2r39
  . Added IsMuonTight field to StatusBits in MuonPID.
  . Add the total number of tracks to the RecSummary information

- In Ex/IOExample v4r2
  . Update POOL tests to force POOL output if default is ROOT
  . Make ioexample.testunpacktrack test use default I/O technology
  . Update references for change in format of printout of some options with
    Gaudi > v22r2
  . Add test references also for .i686 due to minute differences in unpacking

- In GaudiConf v14r2, v15r0
  . Update test references for default persistency change
  . Change default persistency to ROOT
  . Modify IOHelper to work directly with FileRecordCnvSvc for any type
  . Add information getter functions for iohelper
  . Add compatibility with connection strings not containing DATAFILE
    OutputStream, for example, can have it set separately
  . Prepare DstConf for new entries in the SDST, raw banks for Trigger and Muon
  . Added two tests to confirm that opening several files with FSRs works
  . Fixed bug #86527
    o New test added to check for this bug
    o Added a test that files which only contain an FSR and nothing else can be
      read and written correctly
  . Fix requirements to set up complete environment to run QMTests standalone
  . Fix QMTest comparisons on i686 when addresses are printed as 0x########L

- In Kernel/LHCbAlgs v2r42
  . Task #21133:
    o New Tool RateFromTCK forking out the not lumi-specific actions from
      GetLumiParameters (LumiAlgs).
    o Adapt OfflineRateLimiter to use it.
    o New dependency on HltInterfaces needed
  . New algorithm OfflineRateLimiter that limits the rate wrt to some
    trigger line. Allows to keep 1 Hz of NoBias in the stripping
    irrespective of the actual input rate
  . OfflineDeterministicPrescaler : made some methods and properties
    protected to allow OfflineRateLimiter to inherit from them.
  . Fix tiny bug in PostScaler.cpp: in case ForcedReduction property was set
    (i.e. not equal to 1.), event count used was not counting first event

- In Kernel/LHCbKernel v13r4, v13r5
  . Use stable_sort instead of sort in RichRadIntersection.h
  . Task #21132:
    o New interface IRateFromTCK to allow doing the non-lumi tasks
      from IGetLumiParameters.
    o Move IGetLumiParameters.h from LumiAlgs to here so it can
      be used elsewhere.
  . IGetLumiParameters.h: Bug #85240
    o Remove init() method
    o Make a few methods const

- In Kernel/LHCbMath v3r27
  . ValueWithError: fix few primitive operations:
    self-addition, self-subtraction, self-multiplication and self-division
  . Types.py: fix typo in eigenVectors evaluation

- In Kernel/XMLSummaryKernel v1r2
  . removed .project and .pydevproject files
  . adjusted logic such that "failing" files are never considered active

- In Muon/MuonDAQ v4r11
  . Fix bugs found by Coverity (MuonRawBuffer and MuonRec)
  . Improve protection against failures in initialization

- In Online/RootCnv v1r7, v1r8
  . Fix bug when writing FSRs for files with no events
  . Fixes for writing FSRs, to go with Gaudi v22r4
  . Write ROOT technology when creating output file entry in XmlCatalog

- In Phys/LoKiCore v11r3
  . Modified the implementation of LoKi::TES::Stat to be independent of the
    signature of the getters in StatEntity.
  . Fix Gaudi State Machine protocol errors
  . (attempt to) kill the 'initial spike' in the random rate limiter

- In Rich/RichKernel v7r45
  . Move RichKernel/IHpdUkL1DisableTool.h to Panoptes project, as it is
    not used anywhere else.

- In Rich/RichRecBase v4r8
  . Use stable_sort instead of sort when sorting the pixels.

- In ST/STKernel v2r6
  . Add method to noise calculation tool to check strip status.
  . Fix so that dictionary generated properly for DectectorPlot classes.
  . Add enum to STDAQDefinitions to give number of strips/sector

- In Tools/CondDBUI v3r11
  . 'CondDBUI/Browser/MainWindow.py':
    o Fixed deprecation warning as of python 2.6 on obsolete
      'BaseException.message'.
    o The 'selectedPath' slot is fixed to ignore an empty path. An exception was
      raised every time the new database is opened while keeping some path
      selected in the hierarchy of the previous database view.
  . 'CondDB_UpdateOnlineSnapshots.py' is prepared for automatic cron-running and
    polished a bit (now compatible with Python 3.*).

- In Calo/CaloDAQ v4r23p1, Det/Magnet v7r3, Kernel/LHCbKernel v13r4,
     Muon/MuonDAQ v4r11, OT/OTDAQ v7r10p1, Sim/SimComponents v2r21,
     Tools/XmlTools v6r6
  . Fix UNINIT_CTOR warnings from Coverity

- In Det/DetDesc v18r27p1
  . Remove files DetDesc/*.icpp, moving code directly into corresponding .h,
    fixes circular include dependencies flagged by Coverity

- In Det/Magnet v7r3, Kernel/LHCbKernel v13r4
  . Fix DEADCODE coverity defects

- In OT/OTDAQ v7r10p1
  . Replace all endreq by endmsg

- In Sim/SimComponents v2r21
  . Protect unprotected MSG::DEBUG and MSG::VERBOSE
  . MCDecayFinder:  Demoted some unnecessary warning messages to debug messages.
    see bug #86351 (https://savannah.cern.ch/bugs/?86351).

- In OT/OTDAQ v7r10p1, Sim/SimComponents v2r21
  . Fix some trivial icc remarks (extra ";" ignored)


2011-07-26 LHCbSys v32r5

This version uses Gaudi v22r2 and LCG_60b
Production version for 2011 data in August 2011
Development release for commissioning of end of 2011 reprocessing and MC11

- Packages modified: CaloDAQ v4r23, CaloInterfaces v8r3, DAQUtils v1r5,
    MDF v3r31, CaloDet v10r11, DDDB v1r46, DetCond v12r20, DetDesc v18r27,
    DetDescCnv v4r14, DetDescSvc v3r2, Magnet v7r2, MuonDet v9r6, OTDet v8r7,
    RichDet v16r5, STDet v4r26, VeloDet v13r15, DigiEvent v2r19,
    EventPacker v2r10, MCEvent v2r21, RecEvent v2r38, IOExample v4r1,
    GaudiConf v14r1, HistoStrings v1r1, LHCbAlgs v2r41, LHCbKernel v13r3,
    LHCbMath v3r26, MCInterfaces v1r14, PartProp v1r10, MuonDAQ v4r10,
    LoKiCore v11r2, LoKiGen v10r3, LoKiMC v10r2, LoKiNumbers v10r1,
    RichRecBase v4r7, CondDBEntityResolver v5r3, XmlTools v6r5,
    XMLSummaryKernel v1r1

- In Calo/CaloInterfaces v8r3
  . ICaloHypoEstimator : fix minor typo

- DAQ/DAQUtils v1r5
  . In daqutils.basictest:
    use GaudiConf.QMTest.LHCbExclusions in validateWithReference

- In Det/DDDB v1r46
  . Update database tags for SQLDDDB v6r14:
    o DDDB,     2011: head-20110722
    o DDDB,     2010: head-20110721
    o LHCBCOND, 2011: head-20110722
    o LHCBCOND, 2010, 2009: head-20110614

-In Det/DetDescCnv v4r14
 . XmlLVolumeCnv.cpp:
   o modified to be able to use the string '-KEY-' in material names
     in DB, similar to what is done for logvol names.
   o Reduce DEBUG verbosity (moved to VERBOSE)

- In Det/OTDet v8r7
  . Decrease DEBUG verbosity of DeOTModule, use VERBOSE instead

- In Det/RichDet v16r5
  . Add the UNLIKELY macro to the msgLevel methods in DeRichBase
  . Add a little extra protection to casts in DeRichBeamPipe to appease coverity
  . Add new method DeRichAerogelRadiator::subTile() that indicates if the
    detector element is subtile (true) or full primary tile (false)
  . Update the tile ID methods in DeRichAerogelRadiator to support better the
    needs of Brunel, by making tileID() give a unique ID both when sub-tiles
    are active and inactive. Add a new method primaryTileID() that returns the
    primary (real) tile ID.
  . Add new methods to DeRichBase to allow the output level to be checked, and
    thus debug and verbose printed to be suppressed when not activate.
  . For using the new version of database with aerogel sub tiles,
    modifications made to DeRichAerogelRadiator and DeRichMultiSolidRadiator.
    These are backward compatible and hence can be used for old version of
    database without the aerogel sub tiles.

- In Det/VeloDet v13r15
  . In velodet.veloaligncond.updates test, use GaudiConf.QMTest.LHCbExclusions
    in validateWithReference to facilitate migration to new software stack
  . Change verbosity of DeVeloPhiType messages to VERBOSE
  . Update test reference to follow verbosity changes in UpdateManagerSvc

- In Event/DigiEvent v2r19
  . Added copy constructor and clone method to VeloCluster class

- In Event/EventPacker v2r10
  . Fix the UnpackTrack problem seen in Reco10 DaVinci monitoring:
    An overprotection made in some cases the offset in case of wrapping of the
    (16 bit) index to increase twice, accessing random locations.

- In Event/MCEvent v2r21
  . Added the bit flags for Aerogel Subtiles in MCRichHit.
    This is using existing , but so far unused,  bits in the history code.

- In Event/RecEvent v2r38
  . RecVertex.xml : define location for filtered primary vertices
  . ProtoParticle.xml : add gamma/pi0 separation variable

- In Ex/IOExample v4r1
  . Add ioexample.testunpacktrack test, tests that UnpackTrack algorithm works
    on a track container that has more than 65k LHCbIDs

- In GaudiConf v14r1
  . Plug a hole in IOHelper which was trying to convertSelector on a strange type
    Change MDF logic slightly
  . In LHCbExclusions.py, exclude from QMTest log file comparisons INFO messages
    that have been removed in Gaudi HEAD but still exist in Gaudi v22r2. Can be
    be removed when LHCb stack is released on next Gaudi

- In Kernel/HistoStrings v1r1
  . Fixed ordering problem with string representation

- In Kernel/LHCbKernel v13r3
  . Added new interfaces IVeloClusterSelector.h and IVeloChannelIDSelector.h

- In Kernel/LHCbMath v3r26
  . Add few more functions into dictionary
  . Add rounding and related functions
  . Add ifnan/isfinite/isnormal/isinf checks for Gaudi::Math::ValueWithError
  . Add few useful math functions...

- In Kernel/MCInterfaces v1r14
  . Move IDecayTool.h, IGenCutTool.h and IFullGenEventCutTool.h interface headers
    from Gen/Generators here to be accessible from other projects than Gauss

- In Kernel/XMLSummaryKernel v1r1
  . Fix bug in XMLSummary where a dummy input file was filled even if there
    was no input defined or used

- In Phys/LoKiCore v11r2
  . HybridBase.h: allow multline code to be used... remove '\n' , '\\n', etc..
  . LoKi/NodeGrammar.h: fix coverity report 16248

- In Phys/LoKiGen v10r3
  . More decorators for HepMC.GenParticle
  . Add useful constructor for GDECTREE functors
  . Small polishing of python iterators

-In Phys/LoKiMC v10r2
  . More decorators for LHCb.MCParticle
  . Small polishing of python iterators
  . LoKi/MCDecayChain.h: fix Coverity reports 22945/22946

- In Phys/LoKiNumbers v10r1
  . Add helper functor for ``smart'' creation of RecSummary functors

- In Rich/RichRecBase v4r7
  . Set default clone distance variable to 1e10, instead of FLT_MAX, to avoid
    problems in the track selectors later on.

- In Det/VeloDet v13r15, Muon/MuonDAQ v4r10
  . Replace all endreq by endmsg

- In Calo/CaloDAQ v4r23, DAQ/MDF v3r31, Det/CaloDet v10r11, Det/DetCond v12r20,
     Det/DetDesc v18r27, Det/DetDescCnv v4r14, Det/DetDescSvc v3r2,
     Det/Magnet v7r2, Det/MuonDet v9r6, Det/OTDet v8r7, Det/STDet v4r26,
     Det/VeloDet v13r15, Event/EventPacker v2r10, Kernel/LHCbAlgs v2r41,
     Kernel/PartProp v1r10, Muon/MuonDAQ v4r10, Tools/CondDBEntityResolver v5r3,
     Tools/XmlTools v6r5
  . Create debug() and/or verbose() messages only when output level requires it,
    also using UNLIKELY macro

2011-06-15 LHCbSys v32r4

This version uses Gaudi v22r2 and LCG_60a
Production version for 2011 data after July 2011 technical stop
Development release for commissioning of RootCnv persistency

- Packages added:   Online/RootCnv: supports ROOT persistency. Also released as
                                    part of ONLINE project
                    Event/MicroDst: Contains DaVinci::Maps classes stored on
                                    MicroDst, previously in Phys/DaVinciMaps

- Packages modified: CaloInterfaces v8r2, CaloUtils v9r1, MDF v3r30, DDDB v1r45,
    DetCond v12r19, DetDesc v18r26, OTDet v8r6, RichDet v16r4, DigiEvent v2r18,
    GenEvent v6r0, L0Event v19r4, MCEvent v2r20, PhysEvent v11r14,
    IOExample v4r0, GaudiConf v14r0, LHCbAlgs v2r39, LHCbKernel v13r2,
    L0Interfaces v1r8, OTDAQ v7r10, LoKiCore v11r1, LoKiGen v10r2, LoKiMC v10r1,
    RichKernel v7r44, TfKernel v2r21, CondDBUI v3r10

- In CaloInterfaces v8r2
  . add new interface : ICaloGammaPi0SeparationTool.h
  . extend ICaloHypoEstimator enum

- In CaloUtils v9r1
  . CaloAlgUtils : new method StringMatcher()
  . src/CaloNeighbours::_neighbours : fix infinite loop when level < 0

- In MDF v3r30
  . Improve handling (and printouts) when files get retired.

- In DDDB v1r45
  . Update database tags for SQLDDDB v6r10:
    o LHCBCOND, 2011, 2010, 2009: head-20110524

- In DetCond v12r19
  . Another minor add-on for the 'UseLatestTags' warning output case.
  . Added a missing configuration bit for the case of per-year-made ONLINE
    snapshots: if per-year scheme is met 'CondDBAccessSvc' services are also
    created per-year (before they were created per-month but pointing to a
    single per-year ONLINE snapshot). SQLDDDB needs a minor change to enable
    this configuration change.
  . Warnings about latest tags usage are made more meaningful.

- In DetDesc v18r26
  . Add SmartRef, SmartRef to python dictionary

- In L0Interfaces v1r8
  . IL0DUFromRawTool : new virtual method datas() return  data map

- In OTDet v8r6
  . Fixed bug with usage of calibration instead of status for channel status
  . Added walk parameterization which describes propagation time correction
  . Added reading of walk parameters from database.

- In RichDet v16r4
  . Add some missing protection for failed dynamic casts in DeRichHPDPanel and
    DeRichSphMirror
  . Some other minor code tidy ups

- In DigiEvent v2r18
  . Added BcmDigit.xml, CLID 3001

- In GenEvent v6r0
  . xml/BeamParameters.xml: new class to contain beam parameter informations
    for the generator step.
  . xml/GenHeader.xml: move the beam related functions to BeamParameters.
    Changes are backward compatible for reading old data
  . src/BeamForInitialization.cpp, GenEvent/BeamForInitialization.h: utility
    class for Pythia initialization.

- In L0Event v19r4
  . L0DUCounter : counter base change from 10^3 to 10^6 :
                  WAS NOT PROPERLY DONE IN XML ON 2011-01-24 !!

- In MCEvent v2r20
  . Added MCBcmDigit.xml, CLID 3000

- In PhysEvent v11r14
  . Add LHCb::Particle::Selection into dictionary
  . Remove obsolete FilterCriterionResult. Completes Task #12929.
- In IOExample v4r0
  . Major reorganisation of package:
    o Added IOTest configurable for tests
    o Options directory removed, all examples are now in tests/options
    o Tests updated for I/O in both POOL and ROOT persistency format
      (needs RootCnv)
    o Add tests for 2009, Reco08 (dst+mdst), Reco09 (dst+mdst) and MC10 data

- In GaudiConf v14r0
  . Added IOHelper configurable to transprently support ROOT and POOL persistency
    (see code for documentation and release notes for details of changes)
  . Adapted LHCbApp, DstConf to use IOHelper
  . SimConf: add write out of BeamParameters class for Gauss, only
             for 2011 DataType.
  . Minor fix to python/GaudiConf/QMTest/LHCbExclusions.py

- In LHCbAlgs v2r39
  . AlgorithmCorreations : Fix bug https://savannah.cern.ch/bugs/index.php?82587
  . Added an algorithm to produce the TES finger print (quantitative image). Two
    heuristics levels are possible:
    o Plain data objects statistics through the store ('Low' level);
    o Mentioned above + more closer look on the container object contents
      ('Medium' level).

- In LHCbKernel v13r2
  . Remove RICHDEBUG preprocessor directive. Use Gaudi NDEBUG instead.
  . Add LHCb::RichSmartID::Vector to python dictionary

- In OTDAQ v7r10
  . Add possibility to apply a fiducial time window in OTRawBankDecoder.
    Default behaviour is backwards compatible.

- In LoKiCore v11r1
  . reduce number of warnings for ICC compiler
  . add base class LoKi::FilterTool
  . add utilities for better printout of decay trees

- In LoKiGen v10r2
  . reduce compilation warnings for ICC compiler
  . better printout of decay chains
  . add LoKi::GenFilter algorithm to allow some filtering based on
    properties of generator event.

- In LoKiMC v10r1
  . reduce warnings for ICC compiler
  . add "CutVal" to the list of known types
  . add MC-filter

- In RichKernel v7r44
  . Add a workaround to RichConfigurableUser to deal with the fact that
   _context_defaults_ is a singleton between all instances.

- In TfKernel v2r21
  . Move code from DeOTModule::propagationTime to OTHit::propagationTime to
    improve performance
  . Change OTHit::propagationTime to use DeOTModule::propagationTime

- In CondDBUI v3r10
  . TagsFilter.py is updated:
    + 'BookkeepingSystem' module is changed to 'NewBookkeepingSystem' one;
    + SQLDDDBROOT environment variable is changed to the SQLITEDBPATH one
      (latter is set in the SQLDDDB package). This is needed in the frame of
     SQLite db files distribution model migration where CVMFS will host the files

2011-04-27 LHCbSys v32r3

This version uses Gaudi v22r2 and LCG_60a
Development version for 2011 data

- Packages removed: Phys/DaVinciInterfaces: moved to Phys project
                    Phys/DaVinciTypes:      moved to Phys project
- Packages modified: MCAssociators v1r1, DDDB v1r44, DetDesc v18r25,
    DetDescChecks v5r6, DetDescCnv v4r13, OTDet v8r5p1, RichDet v16r3,
    EventPacker v2r9, L0Event v19r3, LinkerEvent v3r8, RecEvent v2r37,
    GaudiConf v13r10, LHCbAlgs v2r38, LHCbKernel v13r1, MuonDAQ v4r9,
    LoKiGen v10r1, LoKiHlt v3r7, RichRecBase v4r6

- In MCAssociators v1r1
  . Remove unneccessary dependencies on DaVinciInterfaces, LoKiCore, RecEvent

- In DDDB v1r44
  . Remove configuration for DC06, no longer supported
  . Update database tags for SQLDDDB v6r7:
    o LHCBCOND, 2011, 2010: head-20110407

- In DetDesc v18r25
  . Add some checks on rotation matrices to recover precision when elements
    should be zero.

- In DetDescChecks v5r6
  . Remove test loaddddb.qmt, was testing DC06, no longer supported
  . Add test loadddddb-sim-mc10.qmt

- In DetDescCnv v4r13
  . Fix defect 16169, UNINIT_CTOR in XmlMixtureCnv.cpp
  . Recover precision in rotation matrix in case of rotation by pi or halfpi

- In OTDet v8r5p1
  . Replace endreq by endmsg

- In RichDet v16r3
  . Remove some obsolete DC06 compatibility hacks
  . Return StatusCode FAILURE from DeRichSystem::initialize() if initial
    update fails.
  . Improve the way various cached information is handled w.r.t. condition
    updates.
  . Move all of the initialisation of variables in DeRichSphMirror::initialize()
    to DeRichSphMirror::updateGeometry(), in order to make sure everything
    is properly updated on Condition changes.

- In EventPacker v2r9, v2r8
  . Fix defect 15762, memory leak in WritePackedDst::storeInBlob
  . Fix the handling of unsigned short as index in the list of LHCbIDs,
    when it overflows 65k.

- In L0Event v19r3
  . Fix defect 16216, UNINIT_CTOR in L0DUReport.xml

- In LinkerEvent v3r8
  . Fix a warning for Coverity in LinkerTable, uninitialized variable.
  . Fix defect 16217, UNINIT_CTOR in LinksByKey

- In RecEvent v2r37
  . CaloDataFunctor : fix coverity problems

- In GaudiConf v13r10
  . Remove obsolete options files DC06Conditions.opts, DetDesc.opts

- In LHCbAlgs v2r38
  . Fix bug #81362: added missing 'break' in loop over RawEvent locations in
    ODINDecodeTool.cpp
  . Remove EventNodeKiller, moved to Gaudi

- In LHCbKernel v13r1
  . Add IEventTupleTool interface, previously in DaVinciInterfaces

- In MuonDAQ v4r9
  . Fix an error message due to a mismatch of the IDE and Tell1 firmware
  . Fix defects 10737, 10738, 10739, 10740, OVERRRUN_STATIC in the checking of
    the max number of muon Tell1 banks

- In LoKiGen v10r1
  . Add missing "cutvals" into Tool/Factory interface, needed for generic
    cut-tool in Gauss

- In LoKiHlt v3r7
  . Remove dependency on DaVinciInterfaces, no longer needed because
    IEventTupleTool.h has been moved to LHCbKernel

- In RichRecBase v4r6
  . Suppress finalize() warnings about no pixels or photons being created.
    Can happen in the HLT and it is not really a problem. Instead just print info
    messages as normal.

2011-04-05 LHCbSys v32r2

This version uses Gaudi v22r1 and LCG_60a
Production version for 2011 data

- Packages modified: CaloDAQ v4r22, DDDB v1r43, DetCond v12r18, DetDesc v18r24,
    DetDescSvc v3r1, RichDet v16r2, STDet v4r25, DAQEvent v9r5, TrackEvent v5r12,
    LHCbKernel v13r0, LHCbMath v3r25, Relations v6r0p1, DaVinciTypes v2r4,
    LoKiCore v11r0, LoKiGen v10r0, LoKiHlt v3r6, LoKiMC v10r0, LoKiNumbers v10r0,
    RichKernel v7r43, RichRecBase v4r5, PatKernel v2r4, CondDBUI v3r9

- In CaloDAQ v4r22
  . Extend protection against multiple entry in KeyedContainer
  . Fix coverity problen
  . Monitor 'DuplicateEntry' via RawBankReadoutStatus in all DAQ algs

- In DDDB v1r43
  . Update database tags for SQLDDDB v6r6:
    o LHCBCOND, 2011, 2010: head-20110331

- In DetCond v12r18
  . Modified the interfaces to use the pattern of Gaudi v21.
  . Fixed a few Eclipse warnings.
  . Removed CVS keywords.
  . Added the possibility to fetch condition for a range of times instead of
    only for the current event time. CondDBAccessSvc property QueryGranularity
    can be used to define the width of the time range (around the event time) to
    use.
  . Added a test to expose bug #80076 (wrong condition used on first event).

- In DetDesc v18r24
  . Fix problem in 3DTransformationFunctions that is due to a bug in
    compiler optimization in SLC5.

- In DetDescSvc v3r1
  . Fixed bug #80076 (wrong condition used on first event): force a check of the
    validity even for conditions just retrieved from the transient store.

- In RichDet v16r2
  . Changes in DeRichGasRadiator to allow easy change of gas in RICH1 Gas mixture
    is supported only if CO2 parameterisation is used for C4F10 as well
    (currently not the case).
  . Add missing clear() on L0 to L1 Hardware ID map during
    DeRichSystem::buildHPDMappings()
  . Add new method to DeRichSystem to return the Level1 Hardware ID for a
    given Level0 ID
  . Add some checks when filling all the various maps, to first see if an entry
    already exists. If it does a warning is printed and an error returned.
  . Add missing !HltMode to use of condition("RadiatorComposition") and some
    basic protection against null pointer dereferencing
  . Adapt to changes in RichSmartID class.

- In STDet v4r25
  . Fix uninitialised variables warnings from Coverity report.

- In DAQEvent v9r5
  . Add new status in RawBankReadoutStatus ('DuplicateEntry')

- In TrackEvent v5r12
  . Add PatVeloPix History for track

- In LHCbKernel v13r0
  . Modified the interface ICondDBInfo to use the pattern of Gaudi v21.
  . Removed CVS keywords.
  . Only call dumpBits in RichSmartID::fillStream in RICHDEBUG mode
  . Add VeloPix ID to LHCbID printout
  . src/Counters.cpp: fix stupid bug (cut-n-paste) with wrong class ID
  . dict/LHCbKernelDict.h: Add explicit instantiations for two std::pairs
  . Rewrite the RichSmartID class to support MaPMTs and HPDs, for Upgrade
    studies. Change redefines the meaning of some bits of the internal word,
    but has been done in a backwards compatible way, so any RichSmartIDs
    that have been made persistent (either in data or the CondDB) will be
    correctly intrepreted. Class is now written outside the G.O.D. framework
    since it was too complex to write it using it.
  . Add a small test application to test RichSmartIDs packing and unpacking

- In LHCbMath v3r25
  . Fix a bug in Gaudi::Math::sigma2pt calculation

- In Relations v6r0p1
  . Remove extraneous ; to please icc11

- In DaVinciTypes v2r4
  . TreeCloners.cpp: fix a bug that under certain conditions could result in
    incorrect cloning

- In LoKiCore v11r0
  . add few functors (& corresponding decorators) for round, jbit, jbits
  . add "modulo" -operator for functors. It acts according to the rule:
     ( f % n )  ( x )  =def=  " LHCb::Math::round ( f ( x ) ) % n "
  . Kinematics.h: fix LaTeX typos in doxygen comments
  . Add "fetch" decorator
  . Add "Fetch" vector-function
  . Fix the names for FUnOps:
    Reflex now ignores names prepended by single underscore... :-(
  . Optimize the "set-difference" and "set-intersection"
  . Add more "streamer" functions
  . Add IUpdateManagerSvc
  . Fix non proper decorators for streamer functors

- In LoKiCore v11r0, LoKiGen v10r0, LoKiMC v10r0, LoKiNumbers v10r0
  . Kill the concept of "Element"

- In LoKiCore v11r0, LoKiGen v10r0, LoKiHlt v3r6, LoKiMC v10r0
  . Add protection against double locking

- In LoKiCore v11r0, LoKiNumbers v10r0
  . Add HASRECSUMMARY & RECSUMMARY symbols

- In LoKiNumbers v10r0
  . Add tests for round/jbit/jbits functions
  . Add test for 'modulo' operator
  . Add test for 'fetch' decorator
  . Update for new method names

- In RichKernel v7r43
  . Add Rich::DAQ::PixelSize and Rich::DAQ::NumPixelRows variables
    to RichDAQDefinitions.h
  . Add Rich::DAQ:: variables to python dictionary
  . More minor fixes to remove icc11 remarks

- In RichRecBase v4r5
  . Remove a few CVS comments and extend ostream printout

- In PatKernel v2r4
  . Add IPatTTCounter.h (needed for upgrade)
  . Remove obsolete file PatKernel_dll.cpp

- In CondDBUI v3r9
  . CondDB.getTagList method is parallelized (using Python multiprocessing)

2011-03-10 LHCbSys v32r1p1

This version uses Gaudi v22r1 and LCG_60a
Production version for 2011 startup

This is a patch release to take a few package revisions required for
2011 data taking.

- Event/RecEvent v2r36:
  . Added rawID to the RecHeader, the string raw file UID.
  . Required such that a conditions DB can be used for DQ

- Kernel/LHCbKernel v12r8p1:
  . Fixed bug in counters.cpp, wrong class ID

 - Det/RichDet v16r1p1
  . Fixed an Hlt specific database handling bug


2011-02-24 LHCbSys v32r1

This version uses Gaudi v22r1 and LCG_60a
Production version for 2011 startup


- Packages modified: CaloDAQ v4r21, MDF v3r29, CaloDet v10r10, DDDB v1r41,
    DetDesc v18r23, DetDescChecks v5r5, MuonDet v9r5, RichDet v16r1, STDet v4r24,
    VeloDet v13r14, VeloPixDet v1r10, DAQEvent v9r4, EventPacker v2r7,
    HltEvent v9r2, L0Event v19r2, LinkerEvent v3r7, MCEvent v2r19,
    PackedEvent v4r5, RecEvent v2r35, RecreatePIDTools v1r3, TrackEvent v5r11,
    GaudiConf v13r9, GaudiObjDesc v11r12, LHCbAlgs v2r37, LHCbKernel v12r8,
    LHCbMath v3r24, MCInterfaces v1r13, DaVinciInterfaces v2r9, LoKiCore v10r9,
    LoKiGen v9r6, LoKiHlt v3r5, LoKiMC v9r5, LoKiNumbers v9r5, RichKernel v7r42,
    RichRecBase v4r4, TfKernel v2r20, TrackInterfaces v4r19, TrackKernel v1r7

- In CaloDAQ v4r21
  . CaloDigitFilterTool/Alg : new tool/alg for digit masking and energy offset
  . CaloDataProvider : fix Spd L0Data decoding
  . requirements : add dependency on CaloUtils

- In MDF v3r29, v3r28
  . Fix bug in accessing the (x)rootd protocol.

- In CaloDet v10r10
  . DeCalorimeter/CellParam : new condition : pileUpOffset

- In DDDB v1r41
  . Defaults for DQFLAGS db tag are added to DDDBConf configurable for 2011,
    2010, 2009 and 2008 datatypes.

- In DetDesc v18r23
  . Add to Material and Mixture classes a new reset() method, that resets the
    objects back to their default constructor states.
    Developmental, so may evolve. Does NOT affect any existing functionality.

- In DetDescChecks v5r5
  . Added tests 'loaddddb2011.qmt','loaddddb-sim-2011.qmt'.

- In RichDet v16r1
  . Rework the way the various DeRich objects initialise, moving as much as
    possible to happen on demand, instead of always being done by default.
  . Adapt to removal of depreciated RichRadIntersection typedef.

- In STDet v4r24
  . Add setNoise and setCMNoise in DeSTSector using a strip or STChannelID

- In L0Event v19r2
  . L0DUBase   : update according to the latest firmware update
                (new data DiMuonProd + condition number changes)
  . L0DUCounter : counter base change from 10^3 to 10^6
  . L0DUReport :
    o add embedded data value map
     (useful when data is not available via config smartref)
    o add L0DU BCID as attribute of L0DUReport
  . L0DUConfig  : add muon FOIx/y as a configuration attribute

- In RecEvent v2r35
  . Add TT cluster and Muon information (# Muon Coords in each station and
    # Muon tracks) to RecSummary object

- In GaudiConf v13r9, v13r8
  . 'DQFLAGStag' property added to the LHCbApp configurable. Default one is
    picked up from DDDB package.
  . SimConf: add new phases (GenToMCTree) used in Gauss to save generator
    level information into MCParticles (skipping the full simulation phase).
  . Add the new reconstruction summary object to the DST content.

- In LHCbAlgs v2r37
  . In TrajPoca, set the maximum warning to 0 to avoid printouts.

- In LHCbKernel v12r8
  . Add ICountContainedObjects as a generic interface
  . Add various Rich methods, classes and variables to python dictionary.
  . Remove a few obsolete CVS doxygen comments.

- In LHCbMath v3r24
  . ValueWithErorr: add constructor from textual representation

- In LoKiCore v10r9
  . TES.cpp: fix typo causing compilation problem for VC9
  . LoKi/FunOps.h: Fix wrong name/typo for python's "right-side-multiplication"
  . Add new algorithm LoKi::CounterAlg
    allows to evaluate certain functions and store results in TES
  . Make sure that algorithms used in AlgFunctors are registered as subAlgorithms
    with the IAlgManager -- borrow some code from GaudiSequencer...
  . add "right-side" form of gate for pipes, maps, fun&cut-vals
  . Timers.h, Timers.cpp:  new files for implementation of "timers":

- In LoKiMC v9r5
  . Add more symbols

- In LoKiNumbers v9r5
  . add COUNTER & STAT symbols

- In RichKernel v7r42
  . Update RichTools to include configuration option "RawBufferWithPanelFlip"
    which reconstructs the Rich pixels as per normal, but flips the HPD panel.
  . Initialise all data members in Rich::HypoData constructors.

- In RichKernel v7r42, RichRecBase v4r4, LHCbKernel v12r8
  . Remove some deprecated Rich typedefs

- In TrackInterfaces v4r19
  . Remove ICountVeloTracks, now using ICountContainedObjects in LHCbKernel

- In MDF v3r29, DetDesc v18r23, MuonDet v9r5, RichDet v16r1, VeloDet v13r14,
     VeloPixDet v1r10, DAQEvent v9r4, EventPacker v2r7, HltEvent v9r2,
     LinkerEvent v3r7, PackedEvent v4r5, RecEvent v2r35, TrackEvent v5r11,
     LHCbMath v3r24, RichKernel v7r42, RichRecBase v4r4, TfKernel v2r20,
     TrackKernel v1r7
  . Fix bugs and issues found by Coverity (UNINIT_CTOR, leaks, sprintf etc.)

- In MuonDet v9r5, RichDet v16r1, EventPacker v2r7, MCEvent v2r19,
     RecreatePIDTools v1r3, GaudiObjDesc v11r12, LHCbKernel v12r8,
     MCInterfaces v1r13, DaVinciInterfaces v2r9, LoKiGen v9r6, LoKiHlt v3r5,
     LoKiMC v9r5, RichKernel v7r42, RichRecBase v4r4, TrackInterfaces v4r19
  . Fix or suppress ICC warnings and remarks

2011-02-02 LHCbSys v32r0

This version uses Gaudi v22r0 and LCG_60
Development version on top of the latest Gaudi/Root for 2011 data

- Changes in supported platforms:
  . slc4_ia32_gcc34(_dbg), slc4_amd64_gcc34(_dbg), win32_vc71_dbg removed
  . i686-slc5-gcc43-{opt,dbg}, x86_64-icc11-{opt,dbg}, i686-winxp-vc9-dbg added

- Packages added:    GaudiConfUtils v1r0
- Packages modified: CaloInterfaces v8r1, MDF_ROOT v1r6, Tell1Kernel v1r12,
    CaloDet v10r9, DDDB v1r40, DetCond v12r17, DetDesc v18r22, DetDescCnv v4r12,
    MuonDet v9r3, RichDet v16r0, STDet v4r23, VeloDet v13r13, VeloPixDet v1r9,
    DAQEvent v9r3, DigiEvent v2r17, EventAssoc v5r1, EventPacker v2r6,
    GenEvent v5r7, HltEvent v9r1, L0Event v19r1, LumiEvent v3r1, MCEvent v2r18,
    PackedEvent v4r4, PhysEvent v11r13, RecEvent v2r34, RecreatePIDTools v1r2,
    TrackEvent v5r10, VeloEvent v16r10, DetCondExample v11r10, GaudiConf v13r8,
    GaudiConfUtils v1r0, GaudiObjDesc v11r11, HltInterfaces v4r3, LHCbAlgs v2r36,
    LHCbKernel v12r7, LHCbMath v3r23, PartProp v1r9, Relations v6r0,
    L0MuonKernel v9r6, OTDAQ v7r9, DaVinciInterfaces v2r8, DaVinciTypes v2r3,
    LoKiCore v10r8, LoKiGen v9r5, LoKiHlt v3r4, LoKiMC v9r4, RichKernel v7r41,
    RichRecBase v4r3, STTELL1Event v1r10, CondDBUI v3r8, XmlTools v6r4,
    TrackInterfaces v4r18, TrackKernel v1r6

For links to the changesets see:
https://cern.ch/lhcb-tag-collector/display.html?project=LHCb&version=v32r0

- Functionality changes:
 . New default DataType: 2011 (DDDB v1r40)
 . New default database tags, updated for SQLDDDB v5r44 (DDDB v1r40):
   + DDDB, 2009, 2010: head-20101206
   + 2011 defaults currently the same as for 2010

 . Support DQFLAGS partition of CondDB, holds time-dependent data quality flags
   (DetCond v12r17, CondDBUI v3r8). Needs SQLDDDB v6*, picked up by DDDB v1r40.
    Added DQFilter algorithm to filter events according to these flags; it can
    operate during BeginEvent (default) or as a standard filter (LHCbAlgs v2r36)

 . Added support for 2011 Rich gas mixture (RichDet v16r0).
   Previous versions of RichDet do not support 2011 CondDB tags for Rich
 . Added support for lists of active and inactive HPDs (RichDet v15r3)

 . Added LHCb::RecSummary class, added to DST content. Holds basic summary info
   about the reconstruction (EventPacker v2r6, RecEvent v2r34, GaudiConf v13r8)

 . Add track history PatFastVelo (TrackEvent v5r10)
 . Modification of Track::closestState (TrackEvent v5r10)
 . Node::residual and Node::errResidual become virtual (TrackEvent v5r10)

 . SimConf: add new phases (GenToMCTree) used in Gauss to save generator
   level information into MCParticles (skipping the full simulation phase)
   (GaudiConf v13r8)

 . GaudiConfUtils v1r0: New module to provide helper functions in python to
   work with configurables. New ConfigurableGenerators for use by LineBuilder
   classes in the Stripping

 . Changes to DaVinci interfaces (DaVinciInterfaces v2r8)
   + Removal of IPhysDesktop, obsolete interface no longer required after
     re-write of Phys for 2011 development
   + IDecayFinder: Add templated methods hasDecay and findDecay acting on
     iterators of LHCb::Particle containers.
   + IChangePID: Add templated method changePID.

 . 'CondDB_UpdateOnlineSnapshots.py' script added, which updates SQLDDDB ONLINE
    snapshots. It detects used time scheme (per-year or per-month) of ONLINE
    snapshots and updates them to extend their coverage up to current time.
    If no ONLINE snapshots are found it will generate them from scratch.
    It updates also user's SQLDDDB release notes accordingly (CondDBUI v3r8)

 . Other changes:
   + Update IRawBufferToSmartIDsTool interface to allow the number of hits
     in RICH1 and RICH2 to be separately counted (RichKernel v7r41)
   + Initialize OTRawBankDecoder as public tool in OTTimeCreator (OTDAQ v7r9)
   + Add more functions for Gaudi::Math::ValueWithErrors (LHCbMath v3r23)
   + LoKi/GetN.h: new class to get all N-body combinations from some array
     (LoKiCore v10r8)
   + MCDecays.cpp: Drastic speedup of worst case of PHOTOS-matcher (LoKiMC v9r4)
   + Add many GAUDI_API directives (LoKiMC v9r4)
   + Added ICountVeloTracks interface (TrackInterfaces v4r18)
   + Remove IUpdateable inheritance. Implement StatusCode DataObject::update().
     Needed for MicroDST persistency (Relations v6r0)

- Bug fixes:
 . Fix in generation of xrootd connection string when svcClass option given
    (MDF_ROOT v1r6)
 . Fix in file descriptor assignment causing wrong files to be closed when
   ageLimit reached (MDF_ROOT v1r5)
 . Minor fix in debug output (CaloDet v10r9)
 . Fixed PID tools to not throw exception if input ProtoParticles do not exist.
   Issue a warning and handle cleanly instead (RecreatePIDTools v1r2)
 . TreeCloners.cpp: Fix a bug that under certain conditions could result
   in double deletion (DaVinciTypes v2r3)
 . Add missing Reflex dictionaries (DaVinciTypes v2r3, TrackInterfaces v4r18)
 . Add missing method to LHCb::RecVertexHolder (DaVinciTypes v2r3)
 . ParticleProperties.cpp: fix bug in antiParticle function (LoKiCore v10r8)
 . Remove most icc compilation warnings and many remarks
   (CaloInterfaces v8r1, Tell1Kernel v1r12, CaloDet v10r9, DetCond v12r17,
    DetDesc v18r22, DetDescCnv v4r12, MuonDet v9r3, RichDet v16r0, STDet v4r23,
    VeloDet v13r13, VeloPixDet v1r9, DAQEvent v9r3, DigiEvent v2r17,
    EventAssoc v5r1, GenEvent v5r7, HltEvent v9r1, L0Event v19r1, LumiEvent v3r1,
    MCEvent v2r18, PackedEvent v4r4, PhysEvent v11r13, TrackEvent v5r10,
    VeloEvent v16r10, DetCondExample v11r10, GaudiObjDesc v11r11,
    HltInterfaces v4r3, LHCbKernel v12r7, LHCbMath v3r23, PartProp v1r9,
    Relations v5r10, DaVinciInterfaces v2r8, LoKiCore v10r8, LoKiGen v9r5,
    LoKiHlt v3r4,  LoKiMC v9r4, RichKernel v7r41, RichRecBase v4r3,
    STTELL1Event v1r10, XmlTools v6r4, TrackKernel v1r6)
 . Fix compilation on vc9
   (HltInterfaces v4r3, L0MuonKernel v9r6)
 . Remove obsolete xxx_dll.cpp file
   (CaloDet v10r9, XmlTools v6r4)
 . Remove includes of obsolete DeclareFactoryEntries.h
   (DetCondExample v11r10)

2010-12-14 LHCbSys v31r8

This version uses Gaudi v21r11 and LCG_58f

- Packages modified: OTDet v8r5, TrackEvent v5r9, HltInterfaces v4r2,
    DaVinciInterfaces v2r7, DaVinciTypes v2r2, LoKiCore v10r7, CondDBUI v3r7

- In Det/OTDet v8r5
  . Remove unneccessary public include of boost/assign/list_of.hpp that was
    breaking compilation with icc
  . Remove a superfluous ; (icc remark)

- In Event/TrackEvent v5r9
  . Fix for Win vc9 in Track.cpp

- In Kernel/HltInterfaces v4r2
  . Remove ANNSvc, moved to HltDAQ

- In Phys/DaVinciInterfaces v2r7
  . IDistanceCalculator: add methods to calculate the impact parameter &
                         distance of closest approach for tracks

- In Phys/DaVinciTypes v2r2
  . Fix stupid bug in RecVertexHolder destructor
  . Add tests for RecVertexHolder.
  . Add QM test davincitypes.test_recvertexholder.

- In Phys/LoKiCore v10r7
  . Info/ExtraInfo/InfoOps functions.py & decorators.py
    add "logging"-functors & functions

- In Tools/CondDBUI v3r7
  . TSDB scheme is extended to be more generic (all classes machninery is
    modified accordingly). A lot of tune up to start automatization of the TSDB
    monitoring system.
  . Further improvements for TagStatus monitoring system.
  . Added two new scripts and TSDB backup table scheme:
    + scripts/TSDBAdmin_Commit.py:
      Is meant for insertion of new global tag entry with all its statuses at all
      Tier 1s.
    + scripts/TSDBAdmin_Update.py:
      Performs update of current tag with new status for particular Tier 1.
  . Other five scripts and modules are tuned up for actual install area env.

2010-11-28 LHCbSys v31r7

This version uses Gaudi v21r11 and LCG_58f

- Packages modified: CaloDet v10r8, DDDB v1r39, RichDet v15r2, VeloPixDet v1r8,
  L0Event v19r0, PhysEvent v11r12p2, RecEvent v2r33, RecreatePIDTools v1r1,
  LHCbKernel v12r6, LHCbMath v3r22, MCInterfaces v1r12, PartProp v1r8,
  L0MuonKernel v9r5, ProcessorKernel v6r1, DaVinciInterfaces v2r6,
  DaVinciTypes v2r1, LoKiCore v10r6, LoKiGen v9r4, LoKiHlt v3r3,
  RichKernel v7r40, RichRecBase v4r2, CondDBUI v3r6

- In Det/CaloDet v10r8
  . DeCalorimeter : reduce initialization verbosity

- In Det/DDDB v1r39
  . Update database tags for SQLDDDB v5r43:
    o LHCBCOND, 2010, 2009: head-20101112
  . Remove default tag for 2010 SIMCOND, added by mistake in last release

- In Det/RichDet v15r2
  . Add new methods to DeRichSystem to :-
    o Provide access to the vector of inactive HPDRichSmartIDs
    o Prove a new method to get the L1 Copy Number from a hardware ID

- In Det/VeloPixDet v1r8
  . Bug fix in the finding neighbourg function of DeVeloPixSquareType.

- In Event/L0Event v19r0
  . L0DUReport.xml : - change data member m_configuration from pointer to
                       SmartRef
    WARNING : THE CHANGE IS NOT BACKWARD-COMPATIBLE FOR MDST PRODUCED WITH
              L0DUReport EXPLICITELY IN
  . New method globalDecisionFromChannel(std::string channelName, type=PHYSICS) :
    return the decision from channel when participating to a global L0 decision
    (default PHYSICS)

- In Event/PhysEvent v11r12p2
  . Added dictionary for LHCb::Vertex::ConstVector. Fixes bug #75884

- In Event/RecEvent v2r33
  . Add the enum "ProbNNghost" for the ProtoParticle ExtraInfo.
  . Fix the GOD descriptions for the ANN PID ProtoParticle enums

- In Event/RecreatePIDTools v1r1
  . ChargedProtoCombinedDLLsAlg : fix bug in masking procedure

- In Kernel/LHCbKernel v12r6
  . Fixed a compilation problem with ICC + Boost 1.44
  . Add some public method to VeloPixChannelID to access the masks
  . Add new classes to represent the notion of 'persistifiable counters-in-TES'
     Gaudi::Counter   CLID=150 - trivial couneter of StatEntity   in TES
     Gaudi::Counters  CLID=151 - the map  { string : StatEntity } in TES
     Gaudi::Numbers   CLID=152 - the map  { string : double     } in TES
    The classes are decorated using new python module Counters.py

- In Kernel/LHCbMath v3r22
  . Add (python) accessor to correlation matrix
  . Add eigenvalues and eigenvectors in python for 2x2,3x3 and 4x4 matrices

- In Kernel/MCInterfaces v1r12
  . Added methods to easily access MC info for scintillation in
    IRichRecMCTruthTool and IRichMCTruthTool

- In Kernel/PartProp v1r8
  . Add printout for  set
  . Add GAUDI_API declarations

- In L0/L0MuonKernel v9r5, L0/ProcessorKernel v6r1
  . Fix windows error (misuse of pow)

- In Phys/DaVinciInterfaces v2r6
  . IDistanceCalculator: Add methods to calculate the impact parameter vector

- In Phys/DaVinciTypes v2r1
  . LHCb::RecVertexHolder: "return"-value for vertexfitters/refitters

- In Phys/LoKiCore v10r6
  . Add LoKi::transform
  . Add Gate, Dump, Cause

- In Phys/LoKiGen v9r4
  . Remove print statement

- In Phys/LoKiHlt v3r3
  . LoKiHlt/algorithms.py:  add function execute as alias for allRun function
  . Add new symbols ALG_RUN & ALG_RUNALL

- In Rich/RichKernel v7r40
  . Add a new method to RichCommonBase to propagate job options
  . Add a new class for L1 'Copy Number'. Just a number that starts at 0
    in RICH1 and increments through the boards.

- In Rich/RichRecBase v4r2
  . Extend Rich::IPIDPlots::Configuration with a new option for expert histograms
  . Add a method to the photon creator base class that returns a list of the
    photon creator specific job options
  . Update track selector base class to use new method in RichKernel base class
    to propagate joboptions, instead of own private method.

- In Tools/CondDBUI v3r6
  . Added 5 new scripts:
    + "TagStatusDB.py":
      New clases to interact with the TagStatus database designed to monitor
      the CondDB global tag availability status at Tier1's level.
    + "CondDBAdmin_HashTag.py":
      generates master hash sums for global tags and places it to
      release_notes.xml to be used then to fill TagStatusDB.
    + "TSDBAdmin_MasterAgent.py":
      explains to Tier script agents what validity status do global tags have at
      particular Tier talking to SQLite TagStatus database.
    + "TSDBAdmin_MasterAgent.cgi":
      wrapper to the script above to set its environment at the web server.
    + "TSDBAdmin_TierAgent.py":
      requests "TSDBAdmin_MasterAgent.py" at the web server to understand current
      status of all global tags at Tier where this agent lives. Also checks
      whether invalid tags became valid and redirects these candidates to a
      commit manager to update TagStatusDB.
  . Added 'pytools' dependency to use 'Storm' interface.
  . Added new CondDB.payloadToHash method to calculate any kind of hash sum for
    a node making the old CondDB.payloadToMd5 method its special case.
    In addition the bug is fixed in this machinery to reslove requested tag
    existence at particluar folder node before its hashing.
  . Added new methods ReleaseNotes.addHashToGlobalTag and
    ReleaseNotes.getGlobalTags (all global tags for requested partition).
  . Added new script to compare two databases versioned with a tag of interest.
    Can be used to verify full equivalence (not just presence) of the tags at
    Tier 1s and at master DB.
  . CondDBAdmin_GlobalTag.py sript is upgraded to calculate and add hash sum
    to 'release_notes.xml' for a global tag when tagging is done.
  . Added the possibility of specifying extra option files to CondDBBrowser
    (used to provide the list of "standard" databases).
  . Added VetraCondDB.py to the default list of option files to import by
    default. (fixes bug #73085)

2010-10-25 LHCbSys v31r6p1

This version uses Gaudi v21r11 and LCG_58f

- The base version on which we will run the 2010 winter reprocessing

- Only minor patches/additions, and major bugfixes, over the v31r6 stack

- There is a MAJOR bugfix in Det/DetDescSvc	v3r0,
  . bug #74255: UpdateMgrSvc fails to query CondDB at requested timeStamp (during finalize)
  . This means LHCb v31r5 and v31r6 are useless for lumi calculations

- Packages modified:
    Calo/CaloInterfaces	v8r0, DAQ/MDF v3r27, DAQ/MDF_ROOT v1r4, Det/CaloDet v10r7,
    Det/DDDB v1r38, Det/DetCond v12r16, Det/DetDescChecks v5r4, Det/DetDescSvc	v3r0,
    Det/RichDet v15r1, Event/DAQEvent v9r2, Event/LumiEvent v3r0p2, GaudiObjDesc v11r10p2,
    Kernel/HltInterfaces v4r1p1, Kernel/LHCbMath v3r21, Kernel/PartProp v1r7,
    Muon/MuonInterfaces v1r2p1, Phys/LoKiCore v10r5, Phys/LoKiGen v9r3, Phys/LoKiMC v9r3,
    Phys/LoKiNumbers v9r4, Rich/RichKernel v7r39, Rich/RichRecBase v4r1,
    ST/STKernel v2r5, Tf/PatKernel v2r3p2, Tf/TfKernel v2r19, Tools/CondDBUI v3r5p1,
    Tr/TrackInterfaces v4r17

- In Calo/CaloInterfaces	v8r0:
  . change parameters to const references in ICaloHypo2Calo

- In DAQ/MDF v3r27:
  . Fix warnings for icc

- In DAQ/MDF_ROOT v1r4:
  . Remove icc warnings

- In Det/CaloDet v10r7:
  . protect against unexpected Quality flag
  . fix gainShift correction
  . Quality/LEDReference condition consolidation

- In Det/DDDB v1r38:
  . updated to latest DB tags head-20101026

- In Det/DetCond v12r16:
  . Added a test to expose bug #74255 (fake event loop during finalize doesn't work).
  . GetChildNodes method in CondDBAccessSvc is modified to catch extra exception + other minor changes.
  . Changed the way to generate catalog files for Online folders of SIMCOND partition

- In Det/DetDescChecks v5r4:
  . New tests introduced for SIMCOND tags of conditions db.

- In Det/RichDet v15r1:
  . Add a couple utility methods to the DeRichLocations namespac

- In Event/DAQEvent v9r2:
  . Remove icc warnings

- In Event/LumiEvent v3r0p2:
  . add method flag in LumiMethods
  . fix operator= in LumiFSR

- In GaudiObjDesc v11r10p2:
  . minor changes needed to support cmake builds
  . minor bugfix

- In Kernel/HltInterfaces v4r1p1:
  . boost 1.44 deduces wrong return type in ANNSvc, explicitly specify

- In Kernel/LHCbMath v3r21:
  . make use of Lomont-comparison from GaudiKernel, remove the local implementation.
  . blind.cpp : fix for Win32 platform
  . add simple blinding function
  . Fixed an ICC remark that was mistaken for en error by the nightly build.
  . Fixed a configuration problem with the Intel compiler.

- In Kernel/PartProp v1r7:
  . make use of DDDBConf to pick up the table of particle properties from DB
  . simple script to dump the particle property table

- In Muon/MuonInterfaces v1r2p1:
  . Added explicit [missing] dependency to Event/DAQEvent package

- In Phys/LoKiCore v10r5:
  . simplify the decorators for primitive voids
  . add concept of stable-particle'' in the decay descriptors
  . add 'blinding' functions

- In Phys/LoKiGen v9r3:
  . add concept of stable-particle'' in the decay descriptors

- In Phys/LoKiMC v9r3:
  . make use of imporved decorators & add new symbol MCNUM
  . add concept of stable-particle'' in the decay descriptors

- In Phys/LoKiNumbers v9r4:
  . add 'blinding' functions
  . Add missing dictionary for void ---> std::vector

- In Rich/RichKernel v7r39:
  . Clean up the base class constructors
  . Extend the particle properties tool interface to take a track segment
  . improve doxygen comments for new interface methods
  . Various changes to tool interfaces to allow full calculation of the aerogel refractive index

- In Rich/RichRecBase v4r1:
  . Add a new method to the Cherenkov angle tool interface
  . Update Photon Creator base class to allow rejection of aerogel photon candidates
  . Update Track creator base class to use new ray tracing methods

- In ST/STKernel v2r5:
  . Introduce some new methods  to the st noise tool interface

- In Tf/PatKernel v2r3p2:
  . New methods to IPatDebugTool

- In Tf/TfKernel v2r19:
  . Fixed compilation error in ICC.

- In Tools/CondDBUI v3r5p1:
  . Replaced the usage of module md5 (deprecated since Python 2.6) with hashlib

- In Tr/TrackInterfaces v4r17:
  . change of argument type to const in removeTracksAndRecalculatePV of IPVOfflineTool interface
  . new method to recalculate PV without refitting in IPVOfflineTool
  . Add dictionary for IVeloExpectation::Info


2010-09-28 LHCbSys v31r6

This version uses Gaudi v21r11 and LCG_58f

- Packages added:
  . Event/RecreatePIDTools : Components to fully rebuild PIDs from packed DST

- Packages modified:
    Calo/CaloInterfaces v7r19, Calo/CaloUtils v9r0, Det/DDDB v1r35,
    Det/DetCond v12r15, Det/DetDescSvc v2r6, Det/VeloPixDet v1r7,
    Event/EventPacker v2r5, Event/PackedEvent v4r3, Event/RecEvent v2r32,
    Event/TrackEvent v5r8, IO/IOExample v3r5, GaudiConf v13r7,
    Kernel/LHCbAlgs v2r35, Kernel/LHCbKernel v12r5, Kernel/LHCbMath v3r20,
    Kernel/XMLSummaryBase v1r2, Kernel/XMLSummaryKernel v1r0p2,
    Phys/LoKiCore v10r4, Phys/LoKiGen v9r2, Phys/LoKiMC v9r2, ST/STKernel v2r4,
    Tr/TrackInterfaces v4r16

- In Calo/CaloInterfaces v7r19
  . ICaloHypoEstimator/ITrack2Calo : add virtual method + increment interface ID
  . new interface : ICaloHypoEstimator
  . Added explicit [missing] dependency to Event/L0Event package.
    Only needed for the CMake tests.

- In Calo/CaloUtils v9r0
  . Kinematics.h, Kinematics.cpp
    o factor out the evaluation of various quantities from CaloMomentum class
    o FIX THE BUG in Evaluation of F11 and F12 matrix elements!
  . CaloAlgUtils :  new method ClusterFromHypo(CaloHypo*) return hypo->cluster
                    with special care for SplitPhotons

- In Det/DDDB v1r35
  . Changed default SIMCOND tag for MC09:
    o MC09-20100921-vc-md100 for SIMCOND

- In Det/DetCond v12r15
  . Added a test to verify that a failure to load a condition in the
    UpdateManagerSvc is properly reported.

- In Det/DetDescSvc v2r6
  . Modified UpdateManagerSvc to print an error message with the problematic
    condition when the update fails.

- In Det/VeloPixDet v1r7
  . Bug fix in the PixelSize function of DeVeloPixSquareType.

- In Event/EventPacker v2r5
  . Change info() printed by PackerBaseAlg::initialize() and
    UnpackerBaseAlg::initialize() to debug()
  . Add packer, unpacker and checker for the WeightsVector class.
  . Fix WritePackedDst and ReadPackedDst for the Particle and Vertex classes
  . Add support for Packed WeightsVector to WritePackedDst and ReadPackedDst

- In Event/PackedEvent v4r3
  . Add packed data classes for LHCb::WeightsVector class.
  . Add a first try at full implementations of the packers for Particles and
    Vertices

- In Event/RecEvent v2r32
  . Add dictionary for std::vector> to dict/lcgDict.h
  . Add WeightsVector.xml, temporary class for storing primary vertex track
    weights, pending redesign of RecVertex
  . RecHeader.xml: new gpsTime() member, same content as in ODIN
  . ProtoParticle.xml : new calo-related additional info

- In Event/TrackEvent v5r8
  . Remove VeloPix track type and related functions from LHCb::Track

- In Ex/IOExample v3r5
  . Test rfio protocol when reading sim file, rootd protocol when reading digi
    file, and xrootd when reading dst file

- In GaudiConf v13r7
  . Add support for packing of the PV vertex weights
  . Add Rec/Vertex/Weights to DST. For the time being without packing, as no
    packer exists.
  . Extend the data unpacking data-on-demand options to include some additional
    algorithms, that previously where run by default in PhysConf. This change
    means they are now only run when really needed, on demand.

- In Kernel/LHCbAlgs v2r35
  . Added an implementation of IEventTimeDecoder (TimeDecoderList) that uses a
    list of IEventTimeDecoder instances (returning the first non-zero time
    found).
  . Added RecEventTime, an implementation of IEventTimeDecoder that takes the
    event time from LHCb::RecHeader.

- In Kernel/LHCbKernel v12r5
  . FastClusterContainer: add almost fictive inheritance from ObjectContainerBase
    class.

- In Kernel/LHCbMath v3r20
  . python/LHCbMath/Types.py : solve the problem with visibility of symbols
  . python/LHCbMath.py -> python/LHCbMath/Math.py
  . python/LHCbMath/__init__.py : forced import of everything from
    LHCbMath/Math.py (for backward compatibility)

- In Kernel/XMLSummaryBase v1r2
  . Changes to allow the summary class to be imported using imp
    imp.load_source('summary_application_version',)
  . Fix bug with merging input/output to the same filename
  . Added test of this functionality in test_parse_summary.py
  . Switch to cElementTree, faster implimentation
  . Stop validating every summary file before merging, now only do it if there's
    a problem
  . Stop constructing lists of keys from dictionaries, where "for i in dict"
    works just as well
  . Only parse the schema once in the merging step
  . Added __insert_element__ and __remove_element__ methods
  . Added support for type 'normalizedString'
  . Fixed a few minor bugs

- In Kernel/XMLSummaryKernel v1r0p2
  . Gaudi now has better return codes, see bug #70956
    this required further adaptation of the tests

- In Phys/LoKiCore v10r4
  . remove usage of obsolete python module 'sets'
  . decouple LoKiCore.functions and LoKiCore.decorators

- In Phys/LoKiGen v9r2, Phys/LoKiMC v9r2
  . fix for new module in LoKiCore

- In ST/STKernel v2r4
  . Fix warnings from the INTEL compiler
  . Add writeMappingToXML to ISTReadoutTool interface

- In Tr/TrackInterfaces v4r16
  . modification of IPVOfflineTool.h conected to new PatPV to store track weights

2010-08-26 LHCbSys v31r5

This version uses Gaudi v21r10p1 and LCG_58e

- LHCb version to collect developments in the event model,
  detector description, and LoKiCore, necessary for the pit.

- This version includes the latest Event/LumiEvent, where -log(P) FSRs are
  added, however they can't be used until after a full reprocessing.

- Packages Modified:
  Det/CaloDet v10r6, Det/DetCond  v12r14, Det/DetDescSvc v2r5,
  Det/RichDet v15r0, Det/STDet v4r22, Det/VeloDet v12r12, Det/VeloPixDet v1r6,
  Event/EventPacker v2r4, Event/LumiEvent v3r0p1, Event/RecEvent v2r31,
  Event/TrackEvent v5r7, Event/VeloEvent v16r9, Kernel/LHCbKernel v12r4,
  L0/L0MuonKernel v9r4, Phys/LoKiCore v10r3, Phys/LoKiNumbers v9r2,
  Rich/RichKernel v7r38, ST/STKernel v2r3, Tools/CondDBUI v3r5,
  Tools/XmlTools v6r3p2, Tr/TrackInterfaces v4r15, Tr/TrackKernel v1r5

- In Det/CaloDet v10r6:
  . Register and update new conditions/parameters for Ecal/Hcal/Prs

- In Det/DetCond v12r14:
  . Improved DetCondTest::TestConditionAlg to allow testing
    artificial dependencies between conditions.
  . Modified test detcond.heart_beat to expose bug #66497


- In Det/DetDescSvc v2r5:
  . Fixes and improvements in UpdateManagerSvc
  . removed 'queryInterface', adapted to the new interfaces system of Gaudi v21
  . replaced the 'dia' debug output with the 'dot' (graphviz) one
  . moved the call to the 'dump' method to the 'stop' transition
  . fixed bug #66497 (velo motor positions updated several times)


- In Det/RichDet v15r0:
  . suppress info messages from DeRichSystem
  . RICH2Gas refractive index minor correction

- In Det/STDet v4r22:
  . Add first and last sector methods to DeITLayer
  . Add first last layer methods to DeITBox

- In Det/VeloDet v12r12:
  . Fix size of dead region between inner/outer phi zones,
  . suppressed unnecessary debug/verbose messages
  . Updated reference file of the test velodet.veloaligncond.updates.

- In Det/VeloPixDet v1r6:
  . The geometry model modified to match with the new Strawman design.

- In Event/EventPacker v2r4:
  . Adapt to changes in ProcStatus interface.
  . add a missing dependency to the DAQ/MDF package, only needed for CMake

- In Event/LumiEvent v3r0p1:
  . change to -log(P) method
  . revert changes in requirements file to behave as component library,
    fixes missing configurable

- In Event/RecEvent v2r31:
  . update to the ProcStatus method
  . Remove ProcStatus::algorithmStatus(const std::string& name)
  . Add a setter for the algs list (needed by EventPacker).
  . Add a nicer explicit implementation of ProcStatus::fillStream.

- In Event/TrackEvent v5r7:
  . Added V0Vertex to State::Location for use in TrackV0Finder
  . Fix bug in LHCb::State::posMomCovariance()

- In Event/VeloEvent v16r9:
  . Add new data object necessary for the new NZS event info service

- In Kernel/LHCbKernel v12r4:
  . Add new interface IAccept
  . Add the method toString() to RichSmartID

- In L0/L0MuonKernel v9r4:
  . Bug fix (non initialized variable)

- In Phys/LoKiCore v10r3:
  . Minor improvement in streamers
  . Solve the problem with const/non-const ambiguity for pipes
  . Add new functors CHECK and ACCEPT for implementation of Global Event cut
    in Hlt,see task #16675
  . Fixes for pipes & sources
  . Fixes for LoKiCore.doxygenurl module
  . honour max print in Error and Warning
  . Add SVN keywords

- In Phys/LoKiNumbers v9r2:
  . Add new functors CHECK and ACCEPT for implementation of Global Event cuts
    in Hlt, see task #16675

- In Rich/RichKernel v7r38:
  . Extend SmartID decoding tool interface
    with methods to return the total number of hits in the event

- In ST/STKernel v2r3:
  . Update to new procStatus syntax

- In Tools/CondDBUI v3r5:
  . Use pygraphics + Qt instead of pyqt
  . bugfix for PyCoolDiff.
  . The IOV samples skipping behavior for db diffing is tuned up.

- In Tools/XmlTools v6r3p2:
  . Removed Windows warnings appeared after the switch to XercesC 3.1

- In Tr/TrackInterfaces v4r15:
  . updated IMaterialLocator.
  . added ITrackStateProvider for use in vertexers and particletransporter

- In Tr/TrackKernel v1r5:
  . added some methods to TrackTraj to make it more suitable for inheritance.
    needed for new tool TrackStateProvider
  . added methods to TrackStateVertex to compute p4cov and cov7x7


2010-07-28 LHCbSys v31r4

This version uses Gaudi v21r10p1 and LCG_58e

- It was discovered that LCG_58d has major problems with Oracle, Pyroot and Xerces.
  Gaudi v21r10p1 will pick up the patched LCGCMT.

- Packages Removed:
    GaudiPatches

- Packages Modified:
    Event/TrackEvent v5r6, Phys/DaVinciInterfaces v2r5,
    Rich/RichRecBase v4r0

- In Event/TrackEvent v5r6:
  . added Calo to Measurement::Types enum

- In Phys/DaVinciInterfaces v2r5:
  . Changes to TisTos interfaces needed for new Phys/TisTosTobbing.
    Needed for new Phys/TisTosTobbing (HLT).

- In Rich/RichRecBase v4r0:
  . Add anew data member to RichRecPixel to store the occupancy of the HPD the pixel is in.
  . Update the pixel creator base class to set the pixel HPD occupancy.
  . Add a new option to the photon creator base class to reject pixels based on a HPD maximum occupancy (different for each radiator).
  . Set Aerogel cut to < 15 in each HPD


2010-07-19 LHCbSys v31r3

This version uses Gaudi v21r10 and LCG_58d

- Packages modified: DDDB v1r33, DetDesc v18r21, RichDet v14r5, STDet v4r21,
    VeloDet v13r11, EventPacker v2r3, PackedEvent v4r2, RecEvent v2r30,
    GaudiPatches v1r2, LHCbKernel v12r2, LHCbMath v3r19, XMLSummaryKernel v1r0p1,
    L0MuonKernel v9r3, RichKernel v7r37, RichRecBase v3r31, TrackInterfaces v4r14

- In DDDB v1r33
  . Changed default tags for 2009 and 2010 data:
    o head-20100624         for DDDB
    o head-20100715         for LHCBCOND

- In DetDesc v18r21
  . Fix bug #69364: Wrong fractional mass calculation on composite material

- In RichDet v14r5
  . Various improvements to Rich::TabulatedFunction1D
    + Fix the rms() method to return a real RMS (was returning the standard
      deviation)
    + Add an explicit standardDeviation() method
    + Add to the rms() and new standardDeviation() an optional weight function
      that can be used during the calculations if supplied to weight (multiply)
      the function.
    + Add a new static method combine() that takes a vector of tabulated
      functions, merges them, and returns a new function that represents the
      product of the functions.
    + Inline the constructors for speed

- In STDet v4r21
  . Add find methods for enum string conversion to StatusMap

- In VeloDet v13r11
  . Fixed a few uninitialized variables, see bug #68795

- In EventPacker v2r3
  . Modify UnpackTrack.cpp to create ancestors of Muon tracks from Best.
    This is controlled by options 'AncestorFor' (name of the packed container,
    default pRec/Track/Muon) and 'AncestorSource' (name of the ancestor container
    default Rec/Track/Best ), ancestor has the same key.
  . Add templated algorithms for Particles and Vertices

- In PackedEvent v4r2
  . Add (empty) implementations of the Packers for Particles and Vertices.
    Details on how the packing is done to be implemented.

- In RecEvent v2r30
  . Add a new method to ProcStat to test if a given sub-system triggered an
    event abort. Relies on all aborts being set using the new addAlgorithmStatus
    method that includes the abort and sub-system information in the string in
    a predefined manner.
  . Add a method to ProcStatus to add a formatted algorithm entry with sub-
    system, abort flag and why the entry was made.

- In GaudiPatches v1r2
  . Adapted to avoid conflicts with Gaudi v21r10.

- In LHCbKernel v12r2
  . Moved ISTClusterPosition to Tr/TrackInterfaces.
  . Add SiLandauFun.h and .cpp (MPV, scale of Landau in Silicon)

- In LHCbMath v3r19
  . Remove the code in SymPosDefMatrixInverter.h since an improved version is
    now part of ROOT
  . In MatrixInversion.h replace the call into SymPosDefMatrixInverter to the
    newer corresponding routine in ROOT; this should be transparent for all
    well-behaved client code

- In XMLSummaryKernel v1r0p1
  . Fixes for compatibility with Gaudi v21r10
    o Adapt references for new Exception handling
    o Add check on gaudi return code

- In L0MuonKernel v9r3
  . L0MuonKernelFromXML.cpp : Adapt to Xerces 3.1

- In RichKernel v7r37
  . Extend histogram booking interfaces to include options axis and bin labels.
  . Add a new method to IRichDetParameters.h to return the S.D. of the (n-1)
    distribution for observable photons. Moved here from IRichRefractiveIndex.h
  . Add a new method to IRichRefractiveIndex to return the standard
    deviation for a given set of radiator intersections.

- In RichRecBase v3r31
  . Protect some debug() calls behind msgLevel(MSG::DEBUG) checks
  . Call ProcStat->setAbort(true) when processing is aborted due to too many
    pixels or photons. Uses the new method that include sub-detector, reason
    and status (OK/ABORT) information.
  . Update the the track selector base class so the default cuts are null (no
    rejection. Cuts are now explicitly set during configuration time.
  . Small technical change to the RichRecPhoton class that improves CPU
    efficiency a little.
  . Add PatMatch as supported track type in RichTrackID.cpp
  . Add a new method to IRichTrackEffectiveRefractiveIndex.h that returns the
    standard deviation of the refractive index for a given track segment.

- In TrackInterfaces v4r14
  . Moved ISTClusterPosition from Kernel/LHCbKernel and added new functions to
    allow for slope dependence.

2010-06-21 LHCbSys v31r2

This version uses Gaudi v21r9 and LCG_58c

- Packages removed:  RecInterfaces (obsolete)
- Packages modified: CaloUtils v8r13, MDF v3r26, MDF_ROOT v1r3, DDDB v1r32,
    Magnet v7r1, RichDet v14r4, STDet v4r20, VeloDet v13r10p1, LumiEvent v2r7,
    PhysEvent v11r12p1, RecEvent v2r29, TrackEvent v5r5, VeloEvent v16r8p1,
    HltInterfaces v4r1, LHCbKernel v12r1, LHCbMath v3r18, DaVinciInterfaces v2r4,
    DaVinciTypes v2r0, LoKiCore v10r2, LoKiGen v9r1, LoKiHlt v3r2, LoKiMC v9r1,
    LoKiNumbers v9r1, RichKernel v7r36, SiDAQ v2r1p1, STKernel v2r2,
    CondDBEntityResolver v5r2, TfKernel v2r18, TrackInterfaces v4r13,
    TrackKernel v1r4

- In CaloUtils v8r13
  . Remove obsolete default HLT track locations.

- In MDF v3r26, v3r25
  . Improve printouts at end of file.
  . Allow to specify trigger/veto masks to the MDF selector.
    The default is to have empty masks, which are ignored.

- In MDF_ROOT v1r3
  . Improve EOF detection. TFile::Seek(0,kEnd) does not set relative offset
    correctly.

- In DDDB v1r32
  . Changed default tags for 2009 and 2010 data:
    o head-20100531         for LHCBCOND

- In Magnet v7r1
  . Fix bug that was causing MagneticFieldSvc().ForceToUseDownMap and
    MagneticFieldSvc().ForceToUseUpMap options to be ignored

- In RichDet v14r4
  . Add a public method to DeRichMultiSolidRadiator to allow access to the list
    of single solid radiators making up the multisolid radiator.
  . Add a public method to DeRichAerogelRadiator to allow access to the tile ID
    number.

- In STDet v4r20
  . Add measuredEff method

- In VeloDet v13r10p1
  . Update reference file for velodet.veloaligncond.updates QMTest, following
    change in CondDBEntityResolver verbosity (bug #68612)

- In LumiEvent v2r7
  . xml/LumiIntegral: Update to allow for multiplication with a vector of
    calibration constants

- In PhysEvent v11r12p1
  . Fix a genreflex warning on windows

- In RecEvent v2r29
  . Fix threshold setting methods in RichPID
  . Add a human readable implementation of fillStream to LHCb::RichPID
  . added p3 and cov6 methods to TwoProngVertex
  . Removed SelResult class

- In TrackEvent v5r5
  . Added Track History type for Tracks imported from Hlt
  . Remove obsolete default HLT track locations.

- In HltInterfaces v4r1
  . Check that Property::fromString can parse what Property::toString
    produces...

- In LHCbKernel v12r1
  . Fix HitPattern: IT A/C side and Top/Bottom fields are swapped in
    initialization
  . Fix ifdef logic in FastAllocVector.h for GCC 4.X

- In LHCbMath v3r18
  . MatrixInversion.h: Add missing include path to LHCbMath includes
  . Types.py:
    o Add proper printout for matrices and symmetric matrices
    o Fix a few typos
  . Kinematics: Add overload methods for matrix expressions
  . LorentzVectorWithError: Add few methods and accessors
  . Fix some errors in ParticleParams
  . SymPosDefMatrixInverter.h: Add helper structure _invertForAllN
    The inverter<> has been updated to use _inverterForAllN instead of
    inverterForAllN.
  . ParticleParams.h/cpp: New object for representation of 4-momentum /
    reference-point&decay-length information in coherent, self-contained way.

- In DaVinciInterfaces v2r4
  . ICheckOverlap.h:
    o remove foundOverlap  method with two vectors
    o remove removeOverlap method with LHCb::Particle::Vector
  . IPhysDesktop.h:
    o Remove keep(const Vertex*) method.
    o Update doxygen
  . Add IDecayTreeFit: New (simplified) interface for decay tree fitter
  . IDVAlgorithm: Add accessor to decay tree fitter
  . Remove IFilterCriterion and IGeomDispCalculator.

- In DaVinciTypes v2r0
  . TreeCloners.h: Add functiion to clone/delete trees
  . DecayTree::cloneMap
    o fix in cloneTree method
    o add counter for proper clone/delete
  . LHCb::DecayTree: add default constructor (invalid tree)
  . Add LHCb::DecayTree from DaVinciKernel to allow the usage of this class
    in Phys/DaVinciInterfaces

- In LoKiCore v10r2
  . Primitives: Fix major bug in boolean operators. The bug was introduced
    recently with reshuffling of lines in Primitives
  . Add more operations with streamers: union, intersection, difference,
     sym_difference, includes
  . Reshuffle many lines in decorators
  . LoKi/Constants.h: redefine some numerical 'InvalidConstants'
  . LoKi/Kinematics.h: add functions for evaluation of ``transversity-angles''
  . add more functions for decay finders
  . small polishing of functions
  . DecayFinder: add more methods ...

- In LoKiGen v9r1
  . Polish for various functions

- In LoKiHlt v3r2
  . EvtTupleTool: add new properties:
       ODIN_Location   : TES location of LHCb::ODIN          object
       L0DU_Location   : TES location of LHCb::L0DUReport    object
       HLT_Location    : TES location of LHCb::HltDecReports object

- In LoKiMC v9r1
  . improve sources
  . add symbols for evaluation of cos(thetta_tr), sin(phi_tr), cos(phi_tr)
  . add "Child-Selector"
  . add functions for evaluation of various polarization angles
  . polish for various MC-functions

- In LoKiNumbers v9r1
  . add examples/tests  for new streamers

- In RichKernel v7r36
  . Add a new method to python Configurable to return track expected
    signal tool Configurable

- In STKernel v2r2
  . Added methods to interface of noise calculation tool.

- In CondDBEntityResolver v5r2
  . Fixed bug #68612: CondDBEntityResolver produces useless INFO printout
    Changed the level of the messages to DEBUG.
  . Removed the obsolete _dll.cpp file.

- In TfKernel v2r18
  . Keep track of average local unit vectors along local coordinate axes of
    each region, add accessors to return these vectors in the global (LHCb)
    coordinate frame

- In TrackInterfaces v4r13
  . Added method to ITrackVertexer to compute decay length

- In TrackKernel v1r4
  . Add test on inversion in TrackStateVertex

- In VeloEvent v16r8p1, SiDAQ v2r1p1
  . Fix windows compiler warnings

2010-05-25 LHCbSys v31r1

This version uses Gaudi v21r9 and LCG_58c

- Packages added:    GaudiPatches v1r1 - patches to be moved to Gaudi
- Packages modified: DAQUtils v1r4, MDF v3r24, Tell1Kernel v1r11, DDDB v1r31,
    DetCond v12r13, DetDescChecks v5r3, RichDet v14r3, VeloDet v13r10,
    RecEvent v2r28, DetCondExample v11r9, HltInterfaces v4r0, LHCbAlgs v2r34p1,
    LHCbKernel v12r0p1, LHCbMath v3r17p1, XMLSummaryBase v1r1, L0MuonKernel v9r2,
    ProcessorKernel v6r0p1, MuonInterfaces v1r2, DaVinciInterfaces v2r3,
    LoKiCore v10r1, LoKiHlt v3r1, RichKernel v7r35, STKernel v2r1p1,
    SimComponents v2r20p1, CondDBUI v3r4

- In GaudiPatches v1r1
  . Fixed bug #67523
    o Added a tool (DataSvcFileEntries) to retrieve the list of objects in a
      transient store that belong to the same file as the root node.
    o Added a modified version of InputCopyStream (in the namespace LHCb) that
      uses a public instance of DataSvcFileEntries (InputCopyStreamTool) to get
      the list of objects to copy.
      This version of the class addresses also the problem of duplicated objects
      stored in a single event.

- In DAQUtils v1r4
  . ODINTimeFilter: fix eventNumber format

- In MDF v3r24
  . Bring MDFWriterLite up to date.

- In Tell1Kernel v1r11
  . modified STTell1Core.h to compile on windows

- In DDDB v1r31
  . Changed default tags for 2009 and 2010 data:
    o head-20100518         for DDDB
    o head-20100518         for LHCBCOND
  . Changed default tag for 2009 MC:
    o head-20100504         for DDDB
  . Changed default tag for MC09:
    o MC09-20100430-vc-md100 for SIMCOND
  . Removed default tags for Upgrade, must be given explicitly

- In DetCond v12r13
  . Modified the message printed in case of a failure of the heart-beat check to
    show the time in human-readable format (UTC).

- In DetDescChecks v5r3
  . Add a test for 2010 DataType

- In RichDet v14r3
  . Update to allow the detector element to initialize even if the
    normal gas conditions are not there. The HLT gas conditions are required
    in this case. If the normal refarctive index is asked for in the HLT
    environment an exception is thrown.

- In VeloDet v13r10
  . Bug fix in DeVeloRtype: the trajectories for the fit sometimes had the
    wrong direction, depending on alignment constants.

- In RecEvent v2r28
  .  src/ProtoParticle.cpp : add protection against NULL smartref to CaloHypo
     in clearCalo()

- In HltInterfaces v4r0
  . move interface code used to configure Hlt from a TCK, and to decode Hlt
    raw date, out of Hlt/HltBase in the HLT project, so that it can be used
    elsewhere, i.e. add:
      Kernel/ANNSvc.h Kernel/ConfigTreeNode.h Kernel/ConfigTreeNodeAlias.h
      Kernel/IPropertyConfigSvc.h Kernel/PropertyConfig.h Kernel/TCK.h

- In XMLSummaryBase v1r1
  . Sped up the Merger by several orders of magnitude

- In L0MuonKernel v9r2
  . Fix to match harware behaviour : topology of tile exchange for M2 has been
    modified. It affects exchanges across different regions (in practise R2->R3)

- In MuonInterfaces v1r2
  . improve MuonTrack::AddXTalk method

- In DaVinciInterfaces v2r3
  . Kernel/IPhysDesktop.h: Finally remove method primaryVertices().
  . IDVAlgorithm : add various accessors to the tools
  . IFilterCriterion:
    o add inheritance from (new,light) IParticleFilter
    o add "const"-attributes
    o remove "reference-to-pointer" qualifier
  . new files : Kernel/GetIDVAlgorith.h, src/GetIDVAlgorithm.
                hooks to extract IDVAlgoritm from the context
  . Kernel/IRelatedPVFinder.h: Now understands LHCb::RecVertex::Range.
  . Kernel/IParticleFilter: New, clean interface with single method
      virtual bool operator()( const LHCb::Particle* ) const = 0;
      plus non-const version.

- In LoKiCore v10r1
  . Scalers:
    o make sure that one waits at least one tick to avoid an avalanche
      at the first event when processing in parallel
    o listen to runchanges with low priority so that random numbers
      are seeded first..

- In LoKiHlt v3r1
  . New symbols:
      HLT_ERRORBITS
      HLT_EXECUTIONSTAGE
      HLT_NCANDIDATES
      HLT_SATURATED
      HLT_COUNT_ERRORBITS
      HLT_COUNT_ERRORBITS_RE
          ROUTINGBITS  (void)
      HLT_ROUTINGBITS  (HLT-fictive)
     ODIN_ROUTINGBITS  (ODIN-fictive)
   helper functions:
          routingBits (void)
      HLT_routingBits (fictive HLT)
     ODIN_routingBits (ficitve ODIN)

- In RichKernel v7r35
  . HPDdisableTool: add function "ReportHPD" to report HPDs with errors which are
    not necessarily severe (ie. don't have to lead to disable)

- In CondDBUI v3r4
  . Add CreateDBLookupFile.py script which generates the full set of files with
    CondDB Tier-1s connection settings (authentication.xml and dblookup-SITE.xml)
    Currently these files are located in AppConfig/conddb.
  . TagsFilter.py script is upgraded. Now it can insert into bookkeeping db the
    names of global tags marked with 'BK' data type in SQLDDDB release notes file

- In DAQUtils v1r4, DetCond v12r13, DetCondExample v11r9, LHCbAlgs v2r34p1,
     LHCbKernel v12r0p1, ProcessorKernel v6r0p1, LoKiHlt v3r1, STKernel v2r1p1,
     SimComponents v2r20p1
  . Fixed Windows warnings. LHCbSys project now compiles on VC71 without warnings

2010-04-29 LHCbSys v31r0p1

This version uses Gaudi v21r9 and LCG_58c

- Packages modified: RichRecBase v3r30p1

- In RichRecBase v3r30p1
  . Fix bug in ProcStatus object accessor caused by caching of a pointer
    without resetting each event. Removed the caching.
  . Change Max Pt in PID Tool interface to 10 GeV (was 100 GeV)

2010-04-26 LHCbSys v31r0

This version uses Gaudi v21r9 and LCG_58c

- Packages modified: CaloDAQ v4r20, DAQUtils v1r3, DDDB v1r30, Magnet v7r0,
    RichDet v14r2, VeloPixDet v1r5, LumiEvent v2r6, MCEvent v2r17,
    PackedEvent v4r1p1, GaudiConf v13r5, LHCbKernel v12r0, OTDAQ v7r8,
    LoKiCore v10r0, LoKiGen v9r0, LoKiHlt v3r0, LoKiMC v9r0, LoKiNumbers v9r0,
    RichKernel v7r34, RichRecBase v3r30, STKernel v2r1, TfKernel v2r17,
    TsaKernel v3r6, TrackKernel v1r3

- In CaloDAQ v4r20
  . (I)Calo(L0)DataProvider : implement user-defined default value in adc
    (id,default=0) and digit(id,default=0) methods

- In DAQUtils v1r3
  . RawBankReadoutStatusFilter:
    o protect against missing status container
  - o bug fix + implement property-driven filtering inversion
	. OdinTypesFilter : fix printout
  . RawEventDump : allow to select the RawBank to be dumped (default ALL)

- In DDDB v1r30
  . Adapt to change of MagneticFieldSvc options
  . Changed default tags for 2009 and 2010 data:
    o head-20100407         for DDDB
    o head-20100414         for LHCBCOND
  . Changed default tag for 2009 MC:
    o MC-20100412-vc15mm-md100 for SIMCOND

- In Magnet v7r0, v6r0
  . Change to unambiguous names of accessor functions for MagneticFieldSvc
    (scaleFactor -> signedRelativeCurrent, polarity => is Down)
  . Fix definition of signedRelativeCurrent and isDown
  . Make sure that if fieldmap is specified by property, it is still
    read when using ConDB.

- In LHCbKernel v12r0, RichDet v14r2
  . Adapt to changes in magnetic field service interface

- In RichDet v14r2
  . Added protection for a zero second order demagnification factor. The
    solution becomes linear with inverse 1st order factor
  . Fixed a bug (m_MDMS_version was a bool instead of an int)
  . Include (n-1) scale factor in printout on gas refractive index updates.
  . Changes for a new HPD magnification algorithm in the presence of magnetic
    field.

- In VeloPixDet v1r5
  . Bug fix in DeVeloPixSquareType ( reverse fraction in x position
    calculation for outer chips).

- In LumiEvent v2r6
  . Enable an additional lumi bookkeeping method for random lumi events
    (needed due to microbias trigger)
  . add counter value in enum of LumiCounters
  . add enum value in LumiMethod to hold values to flag random Lumi

- In MCEvent v2r17
  . Add support for new RICH background source; Scintillation in the CF4
    radiator medium

- In PackedEvent v4r1p1
  . Fix printout of packing version number in case of exception

- In GaudiConf v13r5
  . Add SDST ("slim" or "stripping" DST) type to DstConf. Content is identical
    to real data DST, minus DAQ/RawEvent.

- In OTDAQ v7r8, LoKiGen v9r0, LoKiHlt v3r0, LoKiMC v9r0, LoKiNumbers v9r0,
     TfKernel v2r17, TsaKernel v3r6
  . Replaced Loki::Range with Gaudi::Range_

- In LoKiCore v10r0
  . Scalers.cpp: fix compilation warnings for slc4-ia32 platform
  . Remove LoKi::Range, replace it by Gaudi::Range
  . New functions for object decorations
	  o new operators for particle pids ...
    o new shifters (streamers)

- In LoKiHlt v3r0
  . LoKi::Hybrid::EvtTupleTool: Fix a stupid bug
  . New decorators

- In LoKiMC v9r0
  . Add new operators

- In RichKernel v7r34
  . Some more fine tuning of the EventID and BXID printout to now include
    the ID as Hex and also a dump of the bits.
  . Add over-loaded ostream printout for Rich::DAQ::BXID
  . Add new Constructor to the Rich::HistogramID class that takes a
    string and a Rich::ParticleIDType.

- In RichRecBase v3r30
  . Fix inconsistency in the naming convention used by the Segment Hypo rings
    "OfflineEvent" -> "RecoEvent", in order to be the same as other RichRec
    Event model classes.
  . Add to Rec base class methods to access the ProcStatus object
  . Update pixel and photon creator base classes to update ProcStatus when the
    RICH processing is aborted due to too many hits or photon candidates.

- In STKernel v2r1
  . Add dependency on RecEvent
  . Add procFailure method to base class
  . Comment out hack for TED run

- In TfKernel v2r17
  . Added method to IITHitCreator interface to create hit for given LHCbID

- In TrackKernel v1r3
  . Add copy constructor and assignment operator to trackstatevertex.
  . Add TrackPredicates

2010-04-12 LHCbSys v30r1

This version uses Gaudi v21r8 and LCG_58b

- Packages modified: DetCond v12r12, DetDesc v18r20, RichDet v14r1, STDet v4r19,
    VeloPixDet v1r4, LHCbMath v3r17, MuonInterfaces v1r1, LoKiCore v9r13,
    LoKiNumbers v8r6, RichKernel v7r33, RichRecBase v3r29, STKernel v2r0,
    TrackInterfaces v4r12

- In DetCond v12r12
  . CondDB configurable is tuned to override all default and user tags settings
    by the latest tags for defined DataType if the 'UseLatestTags' property is
    set (before an exception was thrown if found multiple definitions).
  . Added new CondDB().UseLatestTags = [DataType,OnlyGlobalTags=False] property.
    Previous  CondDB().useLatestTags(DataType,OnlyGlobalTags=False) method is
    preserved. Now it is possible to set the latest tags also for the simulation
    case.

- In DetDesc v18r20
  . Increased max capacity of ISolid::Ticks. Throw exceptions from complicated
    Solids if capacity insufficient (fixes bug #65440)

- In RichDet v14r1
  . Added the capability to use the C3F8  as RICH1Gas in DeRichGasRadiator.cpp.
  . Minor speed improvements to DeRichHPD when updating for T/P condition changes

- In STDet v4r19
  . Add isInvertedX() methods to sensor + sector class

- In VeloPixDet v1r4
  . Bug fix in DeVeloPixSquareType (interdistChip/2 missing in x position
    calculation for outer chips).

- In LHCbMath v3r17
  . LHCbMath/Types.py: add symbols from Gaudi::TrackMatrix and the rest of
    SMatrix/SVector classes mentioned Event model headers
  . ValueWithError
    o add helper function for evalaution of "fraction" a/(a+b)
    o add "asymmetry" (a-b)/(a+b)
    o add possibility to define the printout format
    o add function to evaluate binomina-efficiency
    o add these functionalities into the dictionary

- In MuonInterfaces v1r1
  . add IMuonHitDecode::fakehits() method

- In LoKiCore v9r13
  . LoKi/Listener.h, src/Listener.cpp
    helper class for listening incidents
  . LoKi::Scalers::RateLimitV
    implements listening the incidents (needed for Moore)
  . LoKiCore/DataUtils.py
    few helper utilities for Bender

- In LoKiNumbers v8r6
  . add enum LoKi::Scalers::RateLimitType into the dictionary (needed for Moore)

- In RichKernel v7r33
  . Make the histogramming methods in RichHistoBase const
  . Make the 'Functional' CK resolution tool the Offline default. HLT
    still using the binned implementation
  . Protect against negative errors (squared !) from Track States.
  . Add option to python configurables to run photon reconstruction with
    additional smearing, to simulate worse CK theta resolution.

- In RichRecBase v3r29
  . Add protection to pixel, track and photon creator base class to abort event
    processing on large events.
  . Change LoKi::Range to Gaudi::Range

- In STKernel v2r0
  . Remove ISTSignalToNoiseTool

- In TrackInterfaces v4r12
  . Added method to ITrackExtrapolator to extrapolate a statevector on a track
  . Added missing consts to ITrackExtrapolator and ITrackExtraSelector

2010-03-25 LHCbSys v30r0

This version uses Gaudi v21r8 and LCG_58b

- Packages modified: CaloDAQ v4r19, CaloInterfaces v7r18, CaloKernel v6r2,
    CaloUtils v8r12, DAQUtils v1r2, MDF v3r23, CaloDet v10r5, DDDB v1r29,
    DetCond v12r11, MuonDet v9r2, RichDet v14r0, STDet v4r18, DAQEvent v9r1,
    DigiEvent v2r16, L0Event v18r3, PackedEvent v4r1, PhysEvent v11r12,
    RecEvent v2r27, TrackEvent v5r4, GaudiConf v13r4p2, LHCbAlgs v2r34,
    LHCbKernel v11r12, MCInterfaces v1r11, Relations v5r9p1, L0Interfaces v1r7,
    L0MuonKernel v9r1, MuonDAQ v4r8, MuonInterfaces v1r0p1, OTDAQ v7r7,
    DaVinciInterfaces v2r2, LoKiCore v9r12, LoKiHlt v2r8, LoKiNumbers v8r5,
    RichKernel v7r32, RichRecBase v3r28, CondDBUI v3r3, XmlTools v6r3p1,
    TfKernel v2r16, TrackInterfaces v4r11

- In LHCbSys:
  . Added tests for configurables

- In CaloDAQ v4r19
  . Protect against bad bank->MagicPattern + fill ReadouStatus

- In CaloInterfaces v7r18
  . ICaloHypo2Calo : new virtual method _setProperty()

- In CaloKernel v6r2
  . CaloKernel/CaloVector.h
    o Change formal signature of default argument to allow normal usage in Python
      otherwise the class is not available. The actual signature unchanged.
    o Add method CaloVector::at that allows much faster iteration in python
  . CaloKernel/ConfUtils.py
    o getAlgo() / onDemand() : flexible context-dependent instance naming +
                               TES paths (not longer Offline/Hlt only)
    o update hltContext()

- In CaloUtils v8r12
  . CaloUtils.xml : Add dictionaries for CaloVectors
  . CaloUtils/CellID.py : add python iteration for related CaloVector-classes
  . CaloAlgUtils : track location is either 'offline' or 'hlt' depending on
        context by default CaloReco Configurable to apply specific location
  . CaloAlgUtils/Calo2Track : improvements in generic context-dependent TES
                              locations
  . CaloTrackAlg : accept unknown fitted status if hltContext(context())

- In DAQUtils v1r2
  . bankKiller:
    o Bug fix: when a bank name with  typo was given it killed the last bank
    o Add doxygen comments
    o Reduce verbosity (Warning...)

- In MDF v3r23
  . Fix bug in TAE event decoding, where every 0xFFFF*Packing_factor events
    the TAE events were not correctly placed in the TES

- In CaloDet v10r5
  . minor fix in signature
  . dict/CaloDet.xml
    o add few more classes into dictionary: CaloLed, CaloPin,
    o add CaloVector into dictionary
    o fix the name of pattern for variables

- In DDDB v1r29 (needs SQLDDDB v5r23)
  . Changed default tag for 2009 and 2010 data:
    o head-20100325         for LHCBCOND
  . Changed default tag for 2009 MC:
    o MC-20100321-vc15mm-md100 for SIMCOND

- In DetCond v12r11
  . Changes to the CondDB configurable:
    o In the online environment (Online == True) the IgnoreHeartBeat property is
      defaulted to True
    o Added the property HeartBeatCondition to set the location of the heart-beat
      condition
    o Fixed a problem for the usage of Oracle in the PIT.
  . Removed the dependency on rx (obsolete).

- In MuonDet v9r2
  . Fix Windows compilation warning
  . Replace all endreq by endmsg
  . Improve coords - strips matching (MuonDAQHelper)

- In RichDet v14r0
  . Allow the use of different demagnification parameters for positive and
    negative magnetic field

- In STDet v4r18
  . Bug fix in noise update methods [local cache not updated]

- In DAQEvent v9r1
  . RawBankReadoutStatus : Add BadMagicPattern status

- In DigiEvent v2r16
  . Update container location for VeloPixCluster

- In L0Event v18r3
  . Add dictionaries needed for L0DUConfig and L0DUReport persistency
  . Fix Windows compilation warning in L0DUReport.xml
  . L0CaloCandidate, L0MuonCandidate
    add typedef T::Selection and T::Range (needed for Hlt)

- In PackedEvent v4r1
  . Update RichPID packing to support the Below Threshold DLLs

- In PhysEvent v11r12
  . Change definitions of T:Range form Range_<...> to NamedRange_<...>

- In RecEvent v2r27
  . Add a new method to ProtoParticle to convert an extra info string into
    the corresponding enum
  . Add enums for TrackP and TrackPt
  . Add enums for future combined PID probability vales
  . RecVertex,TwoProngVertex,CValoHypo,CaloCluster
      add T::Selection & T::Range    (for "blind" access to data)
  . Add Rich Below Threshold DLL values

- In TrackEvent v5r4
  . Added enum value related to VeloPix in Track and Measurement

- In GaudiConf v13r4p2
  . Update RichPID packing version to 1

- In LHCbAlgs v2r34
  . Added check of the Magic Pattern in the ODIN bank decoding
    (ODINCodecBaseTool::i_decode).
  . Optimize DeterministicPrescaler a bit more...

- In LHCbKernel v11r12
  . Add PixelPositionInfo class to deal with 2D position
  . Extend number of RICH ParticleID types to 6, including a new "Below
    Threshold" type.

- In MCInterfaces v1r11
  . Changes in IMuonPad2MCTool interface

- In Relations v5r9p1
  . remove Relations.cpp: empty file that causes warnings for Win32 platform

- In L0Interfaces v1r7
  . Add a new tool interface to get L0Muon overflow of candidates
  . Add 2 new interfaces
    o IL0MuonInputTool : tool to get l0muon logical channels or pads
    o IL0MuonOLErrorTool : tool to get the list of optical links in error in
                           input of the l0muon trigger

- In L0MuonKernel v9r1
  . Add 2 bits in the hardware error word of ProcCand and CtrlCand data to
    flag L0_B_Id and L0EventNumber inconsistency
  . Change convention for the CtrlCand hardware error word to match the one
    of ProcCand (swap J & K)

- In MuonDAQ v4r8
  . In requirements, remove hack for Gaudi v21r1 to link dictionary on Windows
  . Add protection (magic pattern)

- In MuonInterfaces v1r0p1
  . Small fix in MuonTrack.cpp

- In OTDAQ v7r7
  . Added check for RawBank::magic in OTRawBankDecoder

- In DaVinciInterfaces v2r2
  . Kernel/ITrackIsolation.h: new interface of the Track Isolation tools

- In LoKiCore v9r12
  . resurrect the access to doxygen documentation:
  . provide new functions for automatic building of documentations
      from LoKiCore.decorators import getSymbols, buildDoc
  . python/LoKiCore/decorators.py : fix a bug
  . Add the helper function in_list
  . Decorate properly equality and non-equality
  . re-code the lines for creation of STL-containers form python lists

- In LoKiHlt v2r8
  . Major change in L0_(SUM)DECISION, following the changes in LHCb::L0DUReport
    from now both L0_DECISION and L0_DUMDECISION are *types*
    new predefined instances have been introduced:
    L0_DECISION_PHYSICS
    L0_DECISION_BEAM1
    L0_DECISION_BEAM2
    L0_SUMDECISION_PHYSICS
    L0_SUMDECISION_BEAM1
    L0_SUMDECISION_BEAM2
  . new symbols:
    o  ODIN_EVTNUMBER      LoKi::Odin::EvtNumber
       Simple predicate to check the run/event numbers
       To simplify the construction of lists, the helper functions "odin_events"
       and "odin_runs" have been introduced
    o  ODIN_RUNEVTNUMBER      LoKi::Odin::RunEvtNumber
       Simple predicate to check the run/event numbers
       To simplify the construction of lists, the helper function "odin_runevts"
       has been introduced

- In LoKiNumbers v8r5
  . use new comparisons & functions of LoKiCore

- In RichKernel v7r32
  . Some fixes for missing items in the python dictionary
  . Various changes to C++ and python to support the configuration of
    multiple reconstruction sequences in the same application.

- In RichRecBase v3r28
  . Various changes to C++ and python to support the configuration of
    multiple reconstruction sequences in the same application.
  . Supress the warning message from the pixel creator base class about
    empty HPD data blocks to give 0 instances during running, and instead to
    just summarise the number during finalise.

- In CondDBUI v3r3
  . Removed pyqt_compat dependency which was the reason for CondDBBrowser
    segfaults when working with the Oracle Online partition.
  . Modified the Python module CondDBUI to require PyCool at run-time only for
    the functions that really need it.
    It allows to use the other utilities (like the tag filters) without PyCool.
  . Fixed the bug in database diffing and merging procedures to correctly process
    cases with multiple payloads.

- In XmlTools v6r3p1
  . Remove obsolete file XmlTools_dll.cpp
  . Put back dictionary IXmlParserSvc on Windows, has been excluded in 2007
    because at the time it broke gccxml...

- In TfKernel v2r16
  . add setXAtYEq0 method to the LineHit class

- In TrackInterfaces v4r11
  . Add IVeloPixClusterPosition tool interface.

2010-02-25 LHCbSys v29r2

This version uses Gaudi v21r7p1 and LCG_58a

- Packages modified: Tell1Kernel v1r10, CaloDet v10r4, L0Event v18r2,
    VeloEvent v16r8, GaudiConf v13r4p1, GaudiObjDesc v11r10p1,
    LHCbKernel v11r11p1, DaVinciInterfaces v2r1, LoKiCore v9r11, LoKiHlt v2r7,
    LoKiMC v8r9, LoKiNumbers v8r4, RichKernel v7r31, RichRecBase v3r27

- The following packages have been moved to the SVN code repository:
  RichKernel, RichRecBase

- In LHCbSys/doc/DoxyFile.cfg
  . Exclude doc for */RichConverter.*, was breaking doxygen build

- In Tell1Kernel v1r10
  . Changed STTell1Core.h adding more header corrections

- In CaloDet v10r4
  . src/Lib/DeCalorimeter.cpp :
    + fix bug for m_zSupThreshold and m_triggerThreshold for Spd that prevents to
      run Boole/CaloDigitAlg with a threshold above 1 mip
    + new method spdThreshold(cellID) that returns the actual thresholds in mip
      unit for a given channel.

- In L0Event v18r2
  . L0DUReport.xml  :  2 new methods : preDecisionFromSummmary(type,bx)
                                       preDecisionValueFromSummary( bx )

- In VeloEvent v16r8
  . Remove from requirements hack for Gaudi v21r1 to link dictionary on windows
  . Fix in VeloErrorBank data class - remove creation of EvtInfo object with new
    operator, it was an old idea to make some part of the ErrorBank persistent

- In GaudiConf v13r4p1
  . In DigiConf, changed output paths for VeloPix linkers

- In GaudiObjDesc v11r10p1
  . Fix bug #62936: for unknown enums, print the numerical value in the error
    message

- In LHCbKernel v11r11p1
  . Update Rich::Side text conversion

- In DaVinciInterfaces v2r1
  . Kernel/IMassVertexFit.h removed. Not implemented and not needed.

- In LoKiCore v9r11
  . In LoKi/TES.h & TES.cpp, new "void"-functors:
    EXISTS    LoKi::TES::Exists   to check existence of object in TES
    CONTAINS  LoKi::TES::Contains to check existence and size of Container in TES

- In LoKiHlt v2r7
  . Add new tuple tool: LoKi::Hybrid::EvtTupelTool

- In LoKiMC v8r9
  . add new symbols:
     MCFROMDECAYS    to check if particle comes 'only from decays'
     MCFROMXS        to check if particle comes 'from secondary interactions'
     MCINANCESTORS   to check the certain condition for ancestors
     MCNINANCESTORS  to count the certain condition for ancestors

- In LoKiNumbers v8r4
  . add new symbols:
    EXISTS    LoKi::TES::Exists   to check existence of object in TES
    CONTAINS  LoKi::TES::Contains to check existence and size of Container in TES

- In RichKernel v7r31
  . Improvements to RichHistogramID full IDs and histogram titles
  . CPU optimisation to speed up histogram lookup.

- In RichRecBase v3r27
  . Extend isolated track interface with new methods for LHCb::Track and
    LHCb::RichRecTrack
  . Extend RichTrackSelectorBase with new flag to apply track isolation cuts

2010-02-16 LHCbSys v29r1

This version uses Gaudi v21r7p1 and LCG_58a

- Packages added in CVS: Associators/MCAssociators - MC associators shared by DaVinci and Brunel
                         Muon/MuonInterfaces - Interfaces for Muon reconstruction and monitoring
- Packages removed: Phys/DaVinciKernel     - moved to PHYS project
                    Phys/DaVinciMCKernel   - moved to PHYS project
                    Phys/LoKi              - moved to PHYS project
                    Phys/LoKiAlgo          - moved to PHYS project
                    Phys/LoKiAlgoMC        - moved to PHYS project
                    Phys/LoKiArrayFunctors - moved to PHYS project
                    Phys/LoKiGenMC         - moved to PHYS project
                    Phys/LoKiPhys          - moved to PHYS project
                    Phys/LoKiPhysMC        - moved to PHYS project
- Packages modified: CaloDAQ v4r18, DAQUtils v1r1, DDDB v1r28, DetCond v12r10,
    DetDescChecks v5r2, Magnet v5r7, MuonDet v9r1, OTDet v8r4, RichDet v13r4,
    STDet v4r17, VeloDet v13r9, LumiEvent v2r5, L0Event v18r1, RecEvent v2r26,
    GaudiConf v13r4, LHCbAlgs v2r33, LHCbMath v3r16, L0MuonKernel v9r0,
    ProcessorKernel v6r0, LoKiGen v8r8, LoKiHlt v2r6, LoKiMC v8r8,
    RichKernel v7r30, RichRecBase v3r26, STKernel v1r19, CondDBUI v3r2,
    TfKernel v2r15, TrackInterfaces v4r10

- In CaloDAQ v4r18
  . CaloL0DataProvider : fix BeginEvent missing re-init

- In DAQUtils v1r1
  . OdinTypesFilter : protect against missing ODIN bank
                      (no longer crash and return FilterPassed = false)

- In DDDB v1r28
  . Changed default tag for 2009 data:
    o head-20100202         for LHCBCOND
  . Added default tag for 2010 data, currently same as 2009
    N.B. As from 2010, no default tag is set for SIMCOND, must be set explicitly
  . Set default DataType to 2010

- In DetCond v12r10
  . Added the function CondDB.useLatestTags(DataType,OnlyGlobalTags = False) to
    automatically select from the SQLDDDB release notes the latest global tag.
    Optionally (default True), the latest local tags are added on top of the
    latest global tag.

- In DetDescChecks v5r2
  . Modified LoadDDDB tests to check the latest local tags on top of the latest
    global tag for the requested data type.

- In Magnet v5r7
  . Register MagneticFieldSvc with UpdateManagerSvc even in cases when not using
    CondDB. This allows clients to register callbacks transparently even if they
    will never be called

- In MuonDet v9r1
  . Add few methods

- In OTDet v8r4
  . Added interface to straw status flags

- In RichDet v13r4
  . Change output level to DEBUG for the update of parameters in the HPDs
  . Correctly handle the presence or absence of magnetic field for the
    magnetic field corrections in the HPDs. It's possible to force the use of
    magnetic corrections using a DDDB parameter

- In STDet v4r17
  . Protect findTopLevelElement against giving the wrong subdetector

- In VeloDet v13r9
  . Remove obsolete file VeloDet_dll.cpp
  . Added residual method that propagates a line to the sensor plane
  . Improved documentation of residual methods

- In LumiEvent v2r5
  . Enable an additional lumi bookkeeping method for low lumi conditions
  . Add counter value in enum of LumiCounters
  . Add enum class LumiMethod to hold values to flag Lumi methods

- In L0Event v18r1
  . L0DUBase.h :
    o Implement hardware limitation data (Number Of channels/conditions) +
      default naming, etc ...
    o Fix Muon0/Muon1 swap in each L0MuonProcessor data
  . L0DUElementaryCondition : new attributes:
    o m_reported (true when the condition is reported in the report)
    o m_reportBit (location of the bit in the report)
  . L0DUChannel/L0DUConfig : new method 'updateCounter(s)' to disable the
    downscaling counters (expert usage)
  . L0DUReport : get condition bit according to reportBit

- In RecEvent v2r26
  . Add xml/MuonCluster.xml

- In GaudiConf v13r4
  . In DigiConf, do not add "/Event/Link/Trig/L0/Calo#1" to .digi and .dst in
    MC09 case, fixes bug 62725

- In LHCbAlgs v2r33
  . Add file containing declaration of LbAppInit factory to allow instanciating
    it directly. It was in LHCbAlgs_dll.cpp that was removed because obsolete.
  . If DeterministicPrescaler accepts all events, don't print out an Info()
    level messages stating this

- In LHCbMath v3r16
  . LHCbMath/EigenSystem.h(.icpp): fix compilation problmems for Win32 platform
  . test/TestEigen.cpp: new test/example for EigenSystem

- In L0MuonKernel v9r0
  . Changes to configure the emulator with the CondDB :
    o Handling of trigger parameters moved from MuonTriggerUnit to CoreUnits
	    using the unit's properties mechanism.
    o CoreUnit : trigger parameters applied in the setProperty rather than in
      initialize to allow change during job execution
  . CoreUnit : remove unused ignoreM2 property

- In ProcessorKernel v6r0
  . Unit : propagate properties of a unit to its daughters

- In LoKiGen v8r8
  . Add new symbols
    GY    LoKi::GenParticles::Rapidity   for evaluation of rapidity  (y)
    GY0   LoKi::GenParticles::Rapidity0  for evaluation of rapidity0 (y_0)

- In LoKiHlt v2r6
  . LoKi/Prescale.h, Prescale.cpp : add new symbol:
      ODIN_PRESCALE   LoKi::Odin::Prescale
      Functor implementaion of deteriministic prescaler, see task #13885

- In LoKiMC v8r8
  . Removed HybridMCParticleArrayFilter.cpp, moved to LoKiAlgoMC because of
    DaVinciMCKernel dependency
  . Removed dependency on DaVinciMCKernel (task #13906)
  . Added new symbols
    MCY    LoKi::MCParticles::Rapidity   for evaluation of rapidity  (y)
    MCY0   LoKi::MCParticles::Rapidity0  for evaluation of rapidity0 (y_0)

- In RichKernel v7r30
  . Improvements to histograming methods in base classes.

- In RichRecBase v3r26
  . Update maximum reconstructed CK theta value for aerogel from 290mrad to
    320mrad, to match the observed spectrum from 2009 data

- In STKernel v1r19
  . Modified ITDetectorPlot so that it can be configured to display detector per
    beetle or per beetle port.
  . Added missing dictionary for ISTNoiseCalculationTool.

- In CondDBUI v3r2
  . Correctly fixed the bug in CondDBBrowser: cannot add conditions to empty
    folders.
  . Some upgrade of tools in the frame of creation the automation procedure
    for the latest global tag and appropriate on-top local tags usage.
  . Added python/CondDBUI/Admin/TagsFilter.py script. It analyses the
    release_notes.xml file (under the given condition of fixed partition name
    and data type) to return:
    o the most recent global tag and the list of all subsequent local tags for it
    o the list of all global tags.
    Can be used as a standalone script.

- In TfKernel v2r15
  . Add hitsLocalXRange function to IT/OT/TT hit creator interface

- In TrackInterfaces v4r10
  . IAddTTClusterTool:
    o Added new method which allows to return hits instead of adding them to the
      track, for compatibility with (unused) AddTTClusterTool in Tf/TrackMatching
    o Only the relevant methods in PatAddTTCoord have now virtual methods
      defined. Causes incompatibility with (unused)
  . Added ITrackHitCollector interface - an interface for tools collecting hits
    around a track, filling a vector of LHCbIDs on return (and optionally
    provide residuals)

2010-01-23 LHCbSys v29r0

This version uses Gaudi v21r7 and LCG_58

- Packages added in SVN: DAQ/DAQUtils - Utilities to manipule RawEvent, previously in DAQEvent

- Packages modified: CaloDAQ v4r17, CaloUtils v8r11, CaloDet v10r3p1, DDDB v1r27,
    DetCond v12r9, DetDesc v18r19,DetDescChecks v5r1,RichDet v13r3,STDet v4r16p1,
    DAQEvent v9r0, DigiEvent v2r15, EventPacker v2r2, HltEvent v9r0,
    LumiEvent v2r4, L0Event v18r0, PackedEvent v4r0, PhysEvent v11r11,
    RecEvent v2r25, TrackEvent v5r3, DetCondExample v11r8, IOExample v3r4,
    GaudiConf v13r3, GaudiObjDesc v11r10, LHCbAlgs v2r32, LHCbKernel v11r11,
    LHCbMath v3r15, PartProp v1r6, L0Base v1r3, L0Interfaces v1r6, MuonDAQ v4r7,
    DaVinciInterfaces v2r0, DaVinciKernel v8r4, LoKiArrayFunctors v8r8,
    LoKiCore v9r10, LoKiHlt v2r5, LoKiPhys v8r13, RichKernel v7r29,
    CondDBUI v3r1, TfKernel v2r14

- The following packages have been moved to the SVN code repository:
    DetCond, DetDesc, DetDescChecks, DetDescCnv, DetDescSvc, DetCondExample,
    DetDescExample, GaudiConf, GaudiObjDesc, CondDBEntityResolver, CondDBUI,
    XmlTools

- In CaloDAQ v4r17
  . CaloL0DataProvider : fix Spd trigger bit value in offline format

- In CaloUtils v8r11
  . Add dictionary for ICaloElectron interface

- In CaloDet v10r3p1
  . src/Lib/CellParam.cpp: fix unitialized variable in CellParam constructor

- In DDDB v1r27
  . Changed default tags for 2009 data:
    o head-20100119         for DDDB
    o head-20100119         for LHCBCOND
    o sim-20100119-vc-md100 for SIMCOND

- In DetCond v12r9
  . Completed task #13270: Block access to conditions in ONLINE partition if
                           validity interval is not closed
    o Modified CondDBAccessSvc to accept a new property (HeartBeatCondition).
    o Modified the ConfigurableUser CondDB to set the HeartBeatCondition for the
      Online partition and snapshots (can be disabled with the property
      IgnoreHeartBeat).
    o Removed the OnlineDBValidatorSvc because it is not needed anymore.
    o Adapted the TestCondition algorithm to test the new feature and added the
      relative test.
  . Added the properties "DisableLFC" and "Online" to the ConfigurableUser CondDB
    to be able to ignore the LFC when using Oracle and enable special
    configuration for the Online environment (Oracle).

- In DetDesc v18r19
  . Added method to AlignmentCondition to set pivot point
  . Fix bug in 3DTransformationFunctions: getZYXTransformParameters was
    not correctly dealing with the pivot point. (It was essentially ignoring it.)
    This affects the TT alignment.

- In DetDescChecks v5r1
  . Modified options/LoadDDDB.py to ignore the Online partition heart beat during
    the tests (Requires Det/DetCond >= v12r9)

- In RichDet v13r3
  . Fixed printout error for pressure in GasRadiator
  . Forced the use of magnetic distortion code in HPD
  . Added new function for going from anode to cathode in DeRichHPD
  . Missing class DeRichBase from the dictionary.

- In STDet v4r16p1, v4r16
  . DeSTSector:
    o change precision of m_dp0di and m_p0 from float to double, to fix data
      truncation warning on Windows
    o Fix bug in DeSTSector::cacheInfo: the trajectories used in trackfinding
      were displaced by 0.5 strip pitch

- In DAQEvent v9r0
  . Major strip down of package. Component library and tests removed, split
    between new DAQ/DAQUtils (including helpers) and DAQ/DAQMonitors packages
    See Savannah task 13031
  . Fix bug in RawEvent.h, which prevented the removal of banks for MDF files.
  . Change bankKiller to always() print banks to remove at initialize()
  . Add VeloPix RawBank type to RawBank.h and RawBank.cpp

- In DigiEvent v2r15
  . VeloPixLiteCluster: Hard code masks since putting them as member increases
    the class sizeof (48 instead of 8 as ulonglong). Cannot use enum since
    64bits enum are not supported by win32_vc7

- In EventPacker v2r2
  . Add support for packed RichPIDs and MuonPIDs to the MDF Writer and Reader.

- In HltEvent v9r0
  . New access methods in HltSelReports to deal with PV info
  . Print cov matrix in HltVertexReport printout

- In LumiEvent v2r4
  . Added a missing dictionary and removed 2 useless files.
  . add TimeSpanFSR: keeps earliest/latest event time on a raw file
  . EventCountFSR: add pretty print

- In L0Event v18r0
  . L0DUChannel.xml, L0DUConfig.xml, L0DUReport.xml, L0DUTrigger.xml : implement
    Lumi decisions - change signature of many methods
  . L0DUElementaryData.cpp : low saturation at 0 for compound data

- In PackedEvent v4r0
  . Replace std::vector with plain ints in PackedRichPID

- In PhysEvent v11r11, RecEvent v2r25
  . xml/Vertex.h, xml/Particle.h, xml/RecVertex.h
    add typedefs:
      1. Selection  for container of shared objects (without ownership)
      2. Range      for uniform access to underlying containers of objects
                    ( KeyedContainer or SharedContainer )

- In TrackEvent v5r3
  . Added typedef for gaudi::range in Track

- In IOExample v3r4
  . Update QMTest references for changes in Gaudi v12r7:
    o AlgContextSvc changes (patch 3478)
    o Fix to file sharing in GaudiPoolDB options

- In GaudiConf v13r3
  . Make QMTest exclusion for changes in path to CondDB files more robust
  . Add DataType slot to SimConf, DigiConf, DstConf. If DataType is 'DC06',
    SimConf does not add spillover Gen info to output file. Fixes bug 60636
  . Change the structure of DigiConf.py according to the requirements of upgrade

- In GaudiObjDesc v11r10
  .  Add new  attribute "defaultdestructor". The default value for it is
     set to "TRUE". Setting it to "FALSE" will disable the generation of a
     default destructor also in the case no other destructor was defined, which
     was the case before.

- In LHCbAlgs v2r32
  . Protect TrajPoca against piecewisetraj returning '0' for distToErr

- In LHCbKernel v11r11
  . Bug fix in OTChannelID::uniqueSequentialModule

- In LHCbMath v3r15
  . Equal_To :
    a. use "Lomont"-compare for floating point numbers (from GaudiKernel)
       instead of "Knuth/GSL"-compare
    b. "Precision" parameter now is unsigned short/int instead of float/double.
    c. add explicit specializations for std::vector, std::vector
  . equal_to_int, equal_to_uint:
    use "Lomont"-compare for floating point numbers (from GaudiKernel)
    instead of "Knuth/GSL"-compare
  . knuth_equal_to_double:
    backup old "Knuth/GSL" comparison criteria for floating point numbers

- In PartProp v1r6
  . rename printAsTable functions with return value std::ostream& to
    printAsTable_ (see bug #59009) and to remove them from dictionaries
  . add printAsTable function for std::vector
  . src/IParticlePropertySvc.cpp
    fix compiler warning for Win32 platform, see bug #59882

- In L0Base v1r3
  . L0AlgBase.cpp : inheriting from GaudiHistoAlg instead of GaudiAlg

- In L0Interfaces v1r6
  . IL0DUFromRawTool : new virtual method dump()
  . IL0DUConfigProvider : change signature of methods (TAE slot argument)

- In MuonDAQ v4r7
  . Remove obsolete file MuonDAQ_dll.cpp
  . Add dependency on DAQUtils, new location of BankWriter.h helper

- In DaVinciInterfaces v2r0
  . Add Kernel/IDVAlgorithm.h
    INamedInterface exporting a few useful methods from DVAlgorithm.
  . task #12929: Remove all obsolete algorithms and tools :
    o Removed IBestParticles.h, IContextTool.h, IFilterCriteriaTESTool.h

- In DaVinciKernel v8r4
  . src/Lib/DVAlgorithm.cpp
    o Lazy evalution of anything PV related.
    o Bug fix: Do not load PVs when InputPrimaryVertices = "None"

- In LoKiArrayFunctors v8r8
  . Add proper finalize/reset functor action for all tools

- In LoKiCore v9r10
  . Follow Gaudi fix #61116:
    o Remove tests on GaudiCommon::Exception return code
    o In Reporter.cpp: fix return values for Asser/Exception methods
  . Primitives/VoidPrimitives:
    1. make use of new (Lomont) comparsions of ploating point numbers
    2. remove all EqualToInt, EqualToUInt functors... (not needed anymore)
  . python/LoKiCore/functions.py
    add helper function uints to create std::vector
  . LoKi/FilterAlg.h
    enable access to "updated" flags to allow proper reset of functors at
    finalization
  . src/Components/VoidFilter.cpp
    add proper finalization method with resetting of functor

- In LoKiHlt v2r5
  . see task #13263
    1. implement functor L0_VALID, that checks validity of L0DUReport pointer
       and validity of underlying L0DURport objects using L0DUReport::valid
    2. Add property "CheckValidity" for L0Filter.

- In LoKiPhys v8r13
  .  add new symbols:
     o Y  for rapidity    (Pz)
     o Y0 for rapidity    (P)
     o DECNODE, that acts on ParticleID and allows to select the
       particles according to their type using  Decays::iNode utilities
       Few predefined instances are provides:
       PELL      :   DECNODE ( PartProp.Nodes.Ell    , True )
       PLEPTON   :   DECNODE ( PartProp.Nodes.Lepton , True )
       PHADRON   :   DECNODE ( PartProp.Nodes.Hadron , True )
       PMESON    :   DECNODE ( PartProp.Nodes.Meson  , True )
       PBARYON   :   DECNODE ( PartProp.Nodes.Baryon , True )
       PBEAUTY   :   DECNODE ( PartProp.Nodes.Beauty , True )
       PCHARM    :   DECNODE ( PartProp.Nodes.Charm  , True )
       See https://twiki.cern.ch/twiki/bin/view/LHCb/FAQ/LoKiTreeNode#Decay_Tree_Nodes
  . LoKi/Particles12.h src/Particles12.cpp
    add new functor LoKi::Particles::InMuonAcceptance, symbol: INMUON to check
    "is in muon acceptance" condition using LHCb::MuonPID::InAcceptance
  . LoKi/Vertices1.h, LoKi/Particles4.h
    fix compiler warnings

- In RichKernel v7r29
  . Add to HPDIdentifier class explicit methods to convert to RichSmartIDs.
  . Extend histogram base class with methods for 2D histograms.

- In CondDBUI v3r1
  . Fixed a minor bug in CondDBBrowser: it was not possible to add conditions to
    empty folders.

- In TfKernel v2r14
  . Add ignore flag to HitBase class


2009-12-14 LHCbSys v28r5

This version uses Gaudi v21r6 and LCG_57a

- Packages modified: CaloUtils v8r10, DDDB v1r26, DetCond v12r8, DetDesc v18r18,
    DetDescCnv v4r11, Magnet v5r6, RichDet v13r2, VeloPixDet v1r3, MDF v3r22,
    DigiEvent v2r14, GaudiConf v13r2, GaudiObjDesc v11r9, LHCbAlgs v2r31p1,
    LHCbKernel v11r10, DaVinciInterfaces v1r3p1, LoKiArrayFunctors v8r7,
    LoKiCore v9r8, LoKiNumbers v8r3p2, LoKiPhys v8r12, LoKiPhysMC v8r6,
    CondDBUI v3r0

- In CaloUtils v8r10
  . CellID.py: bug fix in python decorator for std::set-container
  . In CaloTrackTool.h: Fix trivial untested StatusCode,
                        Downgrade Errors to Warnings
  . Calo2Dview::getUnit(): protect against non string unit (bug or feature in
    HistoID::literalID())
  . Remove obsolete files CaloUtils/dirHbookName.h, CaloUtils/histoHbookName.h
  . New helper python decorator classes

- In MDF v3r22
  . Fix bug in 64 bit I/O routines handling large files (> 2GB)

- In DDDB v1r26
  . Changed default tag for 2009 data:
    o head-20091120         for DDDB (same as before)
    o head-20091211         for LHCBCOND
    o sim-20091112-vc-md100 for SIMCOND (same as before)

- In DetCond v12r8
  . Remove obsolete file DetCond_dll.cpp
  . python/DetCond/HistoCond.py: new python module to decorate the Condition
    object with functions which extract the histograms from the parameters and to
    define functions which convert histograms to Condition parameter xml strings.

- In DetDesc v18r18
  . Fix bug #60276: SolidPolycone does not define a correct bounding box
  . DetDesc/HistoParam.h: introduce namespace DetDesc::Params
  . DetDesc/src/Lib/HistoParam.cpp: change printout from histogram conditions
                                    to histogram parameters
  . Add interface functions DetDesc::Params::paramAsHisto1D and paramAsHisto2D
	  to extract 1d and 2d histogram parameters from a Condition, new files:
	  DetDesc/ParamAsHisto.h, src/Lib/ParamAsHisto.cpp

- In DetDescCnv v4r11
  . XmlBaseConditionCnv.cpp: add converter for Histo1D and Histo2D parameters
  . XmlGenericCnv.cpp: fix a missprint in releasing of a temporary string

- In Magnet v5r6
  . Add implementation of new ILHCbMagneticFieldSvc::polarity() member to
    MagneticFieldSvc and MultipleMagneticFieldSvc.

- In RichDet v13r2
  . new (single) condition for the temperature and pressure of the Gas Radiators

- In VeloPixDet v1r3
  . Remove obsolete file VeloPixDet_dll.cpp
  . New bugs corrected in DeVeloPixSquareType (x and y inversion since previous
    changes).

- In DigiEvent v2r14
  . Fix small bug in STCluster::contain method.
  . Add VeloPixDigit.xml, VeloPixCluster.xml and VeloPixLiteCluster.xml objects
    used by pixel Velo algorithms

- In GaudiConf v13r2
  . Fix bug #60648: DigiConf was not packing MCHits in case of "Extended" output,
    so could not be used with Gauss < v38r0, where hits on .sim are not packed

- In GaudiObjDesc v11r9
  . Adding a new  attribute "defaultconstructor". The default for this
    attribute is "TRUE". If set to "FALSE" no default constructor for this class
    will be generated. Must be "TRUE" for persistent classes

- In LHCbAlgs v2r31p1
  . Fix trivial untested StatusCode in MemoryTool.cpp

- In LHCbKernel v11r10
  . Add polarity() to ILHCbMagnetSvc interface
  . Add IReferenceRate interface

- In DaVinciInterfaces v1r3p1
  . Add doxygen description of chi in IDistanceCalculator

- In LoKiArrayFunctors v8r7
  . Add helper functions to evaluate functors for daughter particles,
    which maximizes/minimizes the value of another functor

- In LoKiCore v9r8
  . add generic "prescalers"   ( see task #12978)
  . add comparison with vectors of doubles/ints
  . add a sequencing of nodes
  . fix a bug in "pre-cooking" of decay descriptor before parsing.
  . fix a bug for "range" functions

- In LoKiNumbers v8r3p2
  . Add scalers (see task #12978)
  . add example for scalers/prescalers
  . python/LoKiNumbers/test.py: fix the example of usage of in_range function

- In LoKiPhys v8r12
  . LoKi/Photons.h, src/Photons.cpp: add new functions for analysis photon
    candidates for the first data

- In LoKiPhysMC v8r6
  . MCMatcher: automatically insert 'Relations/' into the path for relation table
    if original path does not work
  . Minor fix with the default arguments for MCMatcher functors

- In CondDBUI v3r0
  . Migration of CondDBBrowser to Qt4 (see details in release.notes)

2009-11-30 LHCbSys v28r4

This version uses Gaudi v21r6 and LCG_57a

- Packages modified: CaloDAQ v4r16, CaloInterfaces v7r17, CaloUtils v8r9,
    DDDB v1r25, DetDesc v18r17, DetDescChecks v5r0, DetDescSvc v2r4,
    Magnet v5r5, VeloPixDet v1r2, EventPacker v2r1, MCEvent v2r16,
    GaudiConf v13r1, L0MuonKernel v8r9, LoKiCore v9r7, TrackKernel v1r2

- In CaloDAQ v4r16
  . CaloZSupAlg/CaloDigitsFromRaw : fix location extension settings

- In CaloInterfaces v7r17
  . Complete ICalo2MCTool.h interface

- In CaloUtils v8r9
  . CaloParticle :
    o new method isPureNeutralCalo(particle) (all particle descendant is a
      neutral calo object e.g. pi0->gg (J/Psi->ee is not)
    o minor cleaning

- In DDDB v1r25 (needs SQLDDDB v5r16)
  . Changed default tag for 2009 data: head-20091127 for LHCBCOND

- In DetDesc v18r17
  . DetDesc/Compare.h: substitute gsl_cmp ("Knuth's-compare") by "Lomont-compare"
  . Remove dependency on GSL

- In DetDescChecks v5r0
  . rename algorithms, put minor fixes
  . provide python-scripts to run checks
  . add qmtests for the algorithms
  . remove opts-files & directory
  . Remove obsolete files DetDescChecks_dll.cpp and DirHbookName.h

- In DetDescSvc v2r4
  . Remove dependency on GSL
  . Remove obsolete file DetDescSvc_dll.cpp

- In Magnet v5r5
  . Bug fix: propagate scale factor property to MagneticFieldGrid

- In VeloPixDet v1r2
  . Bug correction of WhichChip function (edge effect supressed) + big change
    in the way the pixel positions are accessed, by using some static vector as
    in the VeloDet.

- In EventPacker v2r1
  . PackMCParticle and PackMCVertex now return if output container exists,
    for consistency with other packers

- In MCEvent v2r16
  . Add MCVeloPixDeposit.xml and MCVeloPixDigit.xml objects

- In GaudiConf v13r1
  . In Tae_ondemand.py, fix an obsolete include
  . In DigiConf.py:
    o Add 'PackSequencer' slot, defines sequencer where packing algorithms run
    o Always run PackMCParticle and PackMCVertex in this sequence (no longer on
      demand, they anyway exit if packed containers already exist)
    o Kill MC/Rich node if writing packed MCRichDigits
  . In DstConf.py: Pass the PackSequencer to DigiConf

- In L0MuonKernel v8r9
  . Modification of the error field format in the PU L0Buffer specification.
    Update ProcDataErrors.cpp and ProcDataCnv.cpp accordingly

- In LoKiCore v9r7
  . src/FilterAlg.cpp: fix bug for decoding of "Code" and "Preambulo" properties

- In TrackKernel v1r2
  . Added method to get (biased) chi2 contribution of single track in
   TrackStateVertex

2009-11-23 LHCbSys v28r3

This version uses Gaudi v21r6 and LCG_57a

- Packages modified: DDDB v1r24, RichDet v13r1, RecEvent v2r24, LHCbAlgs v2r31,
    LHCbKernel v11r9p1, LoKiArrayFunctors v8r6, LoKiCore v9r6,
    LoKiNumbers v8r3p1, LoKiPhys v8r11

- In DDDB v1r24
  . Changed default tags for 2009 data:
    o head-20091120         for DDDB
    o head-20091120         for LHCBCOND
    o sim-20091112-vc-md100 for SIMCOND

- In RichDet v13r1
  . Protection against DDDB/LHCBCOND mismatch with missing conditions

- In RecEvent v2r24
  . Improved patch for the 'CaloHypo' bug.
    o New ProtoParticle method clearCalo( hypo ) which removes the CaloHypos of
      the given hypothesis type only.
    o Now, calling removeCaloBremInfo() removes the CaloHypos of type
      LHCb::CaloHypo::Photon and removeCaloEcalInfo removes
      LHCb::CaloHypo::EmCharged hypo SmartRefs only.

- In LHCbAlgs v2r31
  . Fixed a problem in the decoding and encoding of the event time in the ODIN
    bank version 6.

- In LHCbKernel v11r9p1
  . Fixed bug in OTChannelID: made enum public
  . Fixed bug in HitPattern affecting velo pattern; introduced in august.

- In LoKiArrayFunctors v8r6
  . TupleTool, PlotTool, PrintTool, HybridFilterParticles, HybridFilterCriterion,
    HybridParticleArrayFilter: add the property "Preambulo"
  . Modify hybrid factory to accept (V)CutVal(s), for "embedded-monitoring"
  . Move Phys/ATypes.h into LoKiPhys package
  . python/LoKiArrayfunctors/functions.py
    o add ADOCA functor
    o add AFUNV, ACUTV adapters

- In LoKiCore v9r6
  . LoKi/Primitives.h, LoKi/VoidPrimitives.h, LoKi/FuncOps.h:
    add new functor LoKi::InRange

- In LoKiNumbers v8r3p1
  . python/LoKiNumbers/test.py: add the example of usage of in_range function

- In LoKiPhys v8r11
  . Fixed a problem with the generation of the documentation (LaTeX error)
  . add CHILDIP, CHILDIPCHI2 functors
  . PhysTypes.h: add VCutVals & CutVal
  . Add Phys/ATypes.h from LoKiArrayFunctors package
  . Add adapters: P(FUN/CUT)(A/V)

2009-11-16 LHCbSys v28r2

This version uses Gaudi v21r6 and LCG_57a

- Packages added: Kernel/HistoStrings - histogram <-> string conversion functions
                  L0/L0Base           - Base classes for L0 components

- Packages modified: CaloDAQ v4r15, CaloInterfaces v7r16, CaloUtils v8r8,
    MDF v3r21, Tell1Kernel v1r9, DetDesc v18r16, DetDescCnv v4r10, RichDet v13r0,
    STDet v4r15, VeloPixDet v1r1, DAQEvent v8r2, DigiEvent v2r13,
    EventAssoc v5r0, EventPacker v2r0, HltEvent v8r19, LumiEvent v2r3,
    MCEvent v2r15p2, PackedEvent v3r7, PhysEvent v11r10, RecEvent v2r23,
    TrackEvent v5r2, GaudiConf v13r0, HltInterfaces v3r0, LHCbAlgs v2r30,
    LHCbKernel v11r9, LHCbMath v3r14, MCInterfaces v1r10, OTDAQ v7r6,
    DaVinciInterfaces v1r3, DaVinciKernel v8r3, DaVinciTypes v1r1,
    LoKiCore v9r5p1, SimComponents v2r20, STKernel v1r18, TfKernel v2r13,
    TrackInterfaces v4r9

- In CaloDAQ v4r15
  . New configurable to decode CaloDigits
  . New options file : CaloDigitsSeq.opts
  . Protect CaloDataProviderFromTES against missing adc/digit
  . Protect CheckCaloBank against missing RawEvent
  . CaloDigitFromRaw : remove duplicate property!
                     : add missing statusOnTES when output = ADC
  . CaloXXFromRaw    : clear read sourceID in clear() method

- In CaloInterfaces v7r16
  . New interface ICaloDigits4Track
  . Remove unnecessary "unary_function"-base from ICaloTrackIdEval

- In CaloUtils v8r8
  . Calo2Dview :
    o speed-up processing:
      + remove usage of slow HistoID/std::string cast-conversion
      + reduce usage of histoXD() method in case of sequential filling of the
        same histogram
    o implement Profile2D view
  . CaloTrackTool : use ICaloDigits4Track

- In MDF v3r21
  . Fix bug in MEP decoding. Get correct upper 16 bits of L0 event ID.

- In Tell1Kernel v1r9
  . Add various definitions needed for the Tell1 line in Boole

- In DetDesc v18r16
  . 3DTransformationFunctions : Added function to compute derivative jacobian
    from Transform
  . Added "histograms conditions" DetDesc::Histo1DCond, DetDesc::Histo2DCond :
    Conditions which are able to hold histograms

- In DetDescCnv v4r10
  . Apply patch #3399 XmlGenericCnv uses inneficient part of Xerces-C API for DOM
    walking. Speeds up loading LHCb geometry by about 10%
  . Fix a memory leak in XmlGenericCnv.cpp
  . Replace all endreq by endmsg
  . Remove obsolete file src/component/DetDescCnv_dll.cpp

- In RichDet v13r0
  . Introduce separate refractive index for the HLT.

- In STDet v4r15
  . Add sensor capacitance methods
  . Bug fix in setNoise, setCMnoise and setADCConversion methods
  . Bug fix in case of unexisting cmNoise paramVector in Noise condition
  . Add conditions for common mode noise.
  . Allow updating of noise condition

- In VeloPixDet v1r1
  . Added channelToNeighbours and debug pointTo3x3Channel + channel2Point
  . Debugging of the pointToChannel function and similar.
  . Modify the function PixelSize so that the only argument is Channel ID
  . Remove some wild cast (unsigned int <--> int and double <--> float)
  . Addition in DeVelPixSquare of some function to get the 3x3 neighbourg list +
    improvement of channel to point and point to channel.

- In DAQEvent v8r2
  . Modified ODIN.xml with the new trigger types valid since version 6 of the
    bank.
  . Add new ODINTimeFilter (GPS time, EventID, BCID filtering)

- In DigiEvent v2r13
  . CaloDigit : add some typedefs

- In EventAssoc v5r0
  . Add dictionaries for 1D tables for LHCb::Particle->int, LHCb::Particle->int
    and LHCb::RelationWeighted1D
  . Split selection into selMC and selPhys to reduce size of dictionaries.
    Executable dict/selection.py imports new modules mc.py and mc.py
    to create dictionaries EventAssocMCDict and EventAssocPhysDict.

- In EventPacker v2r0
  . Add new packing classes for the packing of all MC information in Gauss
    and Boole.
  . Add packers for RichPIDs and MuonPIDs
  . New packers explicitly store the 'packing version' in the packed DataObject.
    Allows the 'version' of the data object to the be used to store any
    versioning needed in the original unpacked data.
  . Fix CompareTrack to not report saturated q/p error for poorly measured tracks
  . Fix a wrong decoding of likelihood and ghost probability for Track version>2
  . Add some debug to ProtoParticle packers and unpackers + remove need for
    temporary packed object during packing
  . Add an option to the packers and unpackers to optionally create the
    output container if the input is missing. Default is to not to do so.
  . Protect packers and unpackers from missing input data and also already
    existing output data
  . Silently return no unpacked data when packed data does not exist. Needed
    for spillover events, which are not always present.
  . Extend the packing and unpacking to VeloPix sub-detector

- In HltEvent v8r19
  . Remove obsolete HltSummary.xml

- In LumiEvent v2r3
  . Added EventCountFSR, storing how many events are in the file and how many
    were used to make the file
  . Added TT track counters

- In MCEvent v2r15p2
  . Add VeloPic MC hit location

- In PackedEvent v3r7
  . Add packers for RichPIDs and MuonPIDs
  . Add new packing classes for the packing of all MC information in Gauss
    and Boole.

- In PhysEvent v11r10
  . Modified xml/Tagger.xml to store a SmartRef instead of a raw pointer vector
    of particles used to decide the tagging, to allow persistency

- In RecEvent v2r23
  . Rename locations of HLT vertices to what is actually used. Now
       Velo2D is Hlt/Vertex/PV2D
       Velo3D is Hlt/Vertex/PV3D
  . Disable clearing of CALO hypos in ProtoParticle various removeCaloXXXInfo()
    methods, since this incorrectly removes *all* hypos, not just those
    associated with the given technique.

- In TrackEvent v5r2
  . Replace vector by range for nodes in Track
  . Hide TrackFitResult copy constructor

- In GaudiConf v13r0
  . Add new SimConf Configurable that deals with all issues regarding the SIM
    file content, including data packing and unpacking.
  . Update DigiConf and DstConf to internally use SimConf where appropriate.
    Also, remove any duplicated knowledge of the SIM/DIGI content (for instance
    when copying data to the (X)DSTs).
  . Add to DstConf flag to turn on full checks of DST data packing
  . Add "AlwaysCreate" slot to DstConf and CaloPackingConf, to control new
    "AlwaysCreateOutput" property of the packers
  . Bug fix in DstConf: set up unpacking even if no DST output requested
  . Remove DAQ/ODIN from DST and RDST. Add ODIN bank to pRec/RawEvent on RDST
  . Add packed RichPID and MuonPID data containers to the DST definition.
    In addition add the associated packers to the default packing sequence and
    the unpackers to the data on demand service.

- In HltInterfaces v3r0
  . Remove IHltSummaryTool
  . New functions readRoutingBits and firexRoutingBits in namespace Hlt that
    get quick access to routing bits.
  . Add dependency on DAQEvent

- In LHCbAlgs v2r30
  . Modified the ODINCodecBaseTool to look for the RawEvent bank in more than one
    place, always including LHCb::RawEventLocation::Copied,
    LHCb::RawEventLocation::Default. The decoding has been modified to use the
    new definition of the trigger types ODIN class (which now is only transient).
  . Moved the tool properties from ODINCodecBaseTool to ODINEncodeTool and
    ODINDecodeTool for higher flexibility.
  . Add trivial algorithm that allows for sequence filtering based on the
    version of DataObjects. Allows for use cases like the re-creation of some
    data depending on its version.

- In LHCbKernel v11r9
  . Bug fix in TTNames class stringToChannel
  . OTChannelID : Added methods to retrieve sequential IDs
  . Add packing methods for delta LL values
  . Kernel/CaloCellID.h : add a typedef
  . Make StandardPacker methods const
  . Extend StandardPacker.h with methods to pack time values (TOF values
    for the packing of MC hits).

- In LHCbMath v3r14
  . Add new tests for CPU comparison of Lomont-type & Knuth-type compare.
    Bottom line: Lomont-type compare is approximately 4 times more CPU efficient
  . LHCbMath/LHCbMath.h
    o reimplement the function "round" using boost:numeric
  . tests/TestRound.cpp :  new test/illustration for new "round" function.
    Three functions are compared:
     1. "old-round" (based on Knuth-compare)
     2. modified round (based on Lomont-compare)
     2  New implementation using boost::numeric::converter
     Lomont-based rounding is approximately factor of 4 faster,
     and the new rounding is approximately factor of 10 faster...
  . python/LHCbMath/Types.h
    add more decorations for lines & planes & their operations, like
    intersections, impact parameters, distances, parallel, etc..
  . python/LHCbMath/tests.py : add the tests for new functions

- In MCInterfaces v1r10
  . Add an interface IHepMCParticleSelector to select GenParticle matching some
    criteria
  . Add dependency on GenEvent

- In OTDAQ v7r6
  . Made OTMultiBXRawBankDecoder more verbose in initialize

- In DaVinciInterfaces v1r3
  . Kernel/IPhysDesktop.h
    o Add void setOutputLocation(const std::string&)
    o Add const and non-const methods Particle2Vertex::Map& Particle2VertexMap()
    o Remove virtual const IRelatedPVFinder* relatedPVFinder() const method.
  . Add interface for Jet to Jet matching: IJets2Jets
  . Fix doxygen for IVertexFit.h

- In DaVinciKernel v8r3
  . DVAlgorithm:
    o Set IPhysDesktop's outputLocation manually.
    o Takes handling of PVs over from PhysDesktop.
    o Add method onOffline() to get IOnOfflineTool pointer.
    o Use DaVinci::StringUtils::expandLocation function to add context paths
      to input locations before passing them to the PhysDesktop.
    o IBTaggingTool* is now private.
    o Add protected method returning list of input TES locations corresponding
      to property InputLocations.
  . Kernel/DaVinciStringUtils.h, src/Lib/DaVinciStringUtils.cpp
    Add DaVinci::::StringUtils::expandLocation(string loc, string prefix).
  . Add Kernel/DaVinciP2VVAngles.h and src/Lib/DaVinciP2VVangles.cpp
    Namespace DaVinci::P2VVAngles with P2VV angle calculating functions.
  . Kernel/DaVinciFun.h,  src/Lib/DaVinciFun.cpp
    DaVinci::P2VVAngles moved to Kernel/DaVinciP2VVAngles.h and
    src/Lib/DaVinciP2VVangles.cpp
  . Move Kernel/StringUtils.h to Kernel/DaVinciStringUtils.h and put
    implementation in src/Lib/DaVinciStringUtils.cpp

- In DaVinciTypes v1r1
  . Kernel/Particle2Vertex.h : add a typedef

- In LoKiCore v9r5p1
  . Fix an untested StatusCode in LoKi/FilterAlg.h

- In SimComponents v2r20
  . MCDecayFinder : Issue a warning (10 times) when decay is not found.

- In STKernel v1r18
  . Add interface for STNoiseCalculationTool
  . Add method to Readout tool for mapping TELL number to source ID.
  . STTell1Board : Use (usigned int) interstrip position from the raw buffer in
    ADCToOffline(..). Before this value was recalculating, which could give ADC
    offsets due to rounding difference between Tell1 and simulation.

- In TfKernel v2r13
  . Add method to OTHitCreator to create single hit given OTChannelID

- In TrackInterfaces v4r9
  . PitchResTool now returns a map of OTChannelIDs and pitch residuals.

- In HltEvent v8r19, LumiEvent v2r3, MCInterfaces v1r10
  . Remove hack for Gaudi v21r1 to link dictionary on windows from requirements

2009-10-21 LHCbSys v28r1

This version uses Gaudi v21r5 and LCG_57

- Packages added: XMLSummaryBase   - Code for writing XML-based summary in Gaudi
                  XMLSummaryKernel - Schema and code to manipulate XML summary
                     VeloPixDet    - Pixel detector description for LHCb upgrade
- Packages modified: CaloDAQ v4r14, CaloInterfaces v7r15, CaloKernel v6r1,
    CaloUtils v8r7, MDF v3r20, Tell1Kernel v1r8, DDDB v1r23, Magnet v5r4,
    MuonDet v9r0, OTDet v8r3, STDet v4r14, DAQEvent v8r1, EventAssoc v4r8,
    EventPacker v1r8, LumiEvent v2r2, TrackEvent v5r1, IOExample v3r3,
    GaudiConf v12r9, KernelSys v12r1, LHCbAlgs v2r29, LHCbKernel v11r8,
    LHCbMath v3r13, PartProp v1r5, Relations v5r9, L0MuonKernel v8r8,
    DaVinciInterfaces v1r2, DaVinciKernel v8r2, DaVinciMCKernel v4r1,
    LoKiCore v9r5, LoKiHlt v2r4, LoKiNumbers v8r3, LoKiPhys v8r10,
    LoKiPhysMC v8r5, RichKernel v7r28, CondDBUI v2r23, TfKernel v2r12,
    TrackInterfaces v4r8, TrackKernel v1r1

- In CaloDAQ v4r14
  . CaloReadoutTool.cpp :
    o implement BeginEvent update via IncidentService
    o implement initialize()/finalize() method
    o adapt all inheriting readout tools accordingly
    o bug fix : initialise m_packed in constructor
  . (I)Calo(L0)DataProvider/(I)CaloEnergyFromRaw/(I)CaloTriggerXXXFromRaw :
    o add protections with const qualifier
    o remove usage of stringstream (slow)
    o change signature of adcs() methods
  . Calo(L0)DataProvider : fixes to inititialisation
  . ICaloDataProvider : new virtual methods adcRange() and pinRange() return
                        min/max (pin)Adc in the decoded ADC list.
    o adapt CaloDataProviderFromTES and CaloDataProvider
    o remove CaloDataProviderPatched (obsolete)

- In CaloInterfaces v7r15
  . New interface : ICalo2MCTool

- In CaloKernel v6r1
  . CaloKernel/ConfUtils.py: issue warning messages for modification of existing
    entries in Data-On-Demand Service

- In CaloUtils v8r7
  . Calo2Dview : speed-up processing
  . Add possibility to use CaloCellID as property

- In MDF v3r20
  . Update printout helper for new bank types

- In Tell1Kernel v1r8
  . Added tool interfaces and utility headers previously scattered over
    different packages

- In DDDB v1r23
  . Changed default tag for 2009 data (needs SQLDDDB v5r13 or later):
    o head-20091007         for DDDB

- In Magnet v5r4
  . Magnetic field grid is now stored in class DetDesc/MagneticFieldGrid.
    New utility 'MagneticFieldGridReader' reads the field from a file (thereby
    replacing the IMagFieldTools)

- In MuonDet v9r0
  . Largely Modified to reduce the detector elements inside the chambers
  . Remove obsolete header file (DeMuonGasGap.h)
  . Cache MsgStream objects for speed

- In OTDet v8r3
  . Added method to compute intersection with monolayer plane in 'straw'
    coordinates.

- In STDet v4r14
  . Change sign of tolerance in DeSTSensor::localInActive such that it is more
    intuitive. Note that with negative numbers you have the same behaviour as
    before.

- In DAQEvent v8r1
  . Add functionality to write/read MDF files with only lumi events:
    o Add FileID bank to RawBank
	  o Add src/components/FileIdBankWriter.cpp/h and Event/FileId.h

- In EventAssoc v4r8
  . Add dict: LHCb::RelationWeighted1D

- In EventPacker v1r8
  . In Packer algorithms, use getOrCreate of input containers instead of get,
    to produce empty output container if input is missing
  . Fix a windows warnings in ReadPackedDst and WritePackedDst
  . Add name of leaf in TES to DstAddress bank

- In LumiEvent v2r2
  . remove EOR from FileRecords path

- In TrackEvent v5r1
  . Added class 'TrackFitResult' to store trackfit related (transient) data in
    track. Moved nodes and measurements into this class.
  . Added typedef for SharedObjectsContainer to Track
  . Modified Track.xml to add history, type and location for TT tracks.

- In IOExample v3r3
  . Replace PoolDigi and PoolSim input files with MC09 files and update QMTest
    reference

- In GaudiConf v12r9
  . Add CaloPackingConf.py: contains CaloDstPackConf, CaloDstUnPackConf
    configurables to pack/unpack Calo-objects on DST
  . In DstConf.py:
    o make usage of new CaloDst configurables
    o do not set up DataOnDemand unpacking of Muon tracks if DstType is RDST
  . In DigiConf.py:
    o Make writing of spillover headers compulsory if SpilloverPaths are set
    o When saving spillover, save also spillover Gen headers
    o Kill all known Spillover nodes when saving "Minimal" format
  . Deployment of XmlSummarySvc:
    o Added explicit requirement on XMLSummaryKernel in requirements
    o In Configurable.py, LHCbApp: Added configuration of an XMLSummarySvc
      LHCbApp().XMLSummary. Default behaviour is to neither create nor fill a
      summary service/file
  . Add options/valgrind-python.supp, suppression file for valgrind errors from
    python, e.g. when executing gaudirun.py

- In KernelSys v12r1
  . Added dependency on XMLSummaryKernel

- In LHCbAlgs v2r29
  . In TESCheck, do not call Warning() if OutputLevel is greater than WARNING
  . Memory Tool:
    o two new counters: "Total Memory/MB", "Delta Memory/MB"
    o two new histograms: "Total Memory [MB]", "Delta Memory [MB]"
  . Added EventCountAlg, which has a nameable counter(). This will presumably
    replace EventCountHisto with the XMLSummarySvc for most users.

- In LHCbKernel v11r8
  . Extend RichSmartID with new methods to object HPD pixel row, HPD pixel
    column and HPD column level identifiers.
  . CaloCellID:
    o add the methods caloName, areaName
    o move fillStream & bits mehtods into cpp file
    o change the self-printout
    o add "toString" method
    o add constructors from strings
    o make use of new methods form CaloCellCode namespace
    o add hash method, change the output type
  . CaloCellCode:
    o replace C-arrays by boost::array
    o reimplement many functions
    o add documentation lines
    o remove redundant "static" fields
    o improve the safety of the lines
  . CaloCellIDAsProperty: Add the possibility to use CaloCellID,
    std::vector and std::map as properties
  . Added VeloPixChannelID for upgrade simulation

- In LHCbMath v3r13
  . Faster (but equivalent) check for parallel tracks in GeomFun.icpp
  . Add parsing functions to ValueWithError and std::vector
    classes, thus allowing their usage as properties for Gaudi components
  . More polishing for *WithErrorClasses
  . Add python/LHCbMath/Types.py helper module to load few important classes,
    like  Gaudi.XYZPoint, etc... the classes also "Decorated" on-flight
  . SVEctorWithErorr : add functions to get the correlation coefficient and
                       correlation matrix

- In PartProp v1r5
  . python/PartProp/Nodes.py: fix for invald class name

- In Relations v5r9
  . RelationBase & RelationWeightedBase : improve CPU performance of "merge" and
    "imerge" methods

- In L0MuonKernel v8r8
  . Change to decode bank v3
  . Add new histo name (for virtual hit maps)

- In DaVinciInterfaces v1r2
  . Kernel/IPhysDesktop.h: Add methods to control use of P->PV relation tables.

- In DaVinciKernel v8r2
  . DVAlgorithm:
    o Add properties UseP2PVRelations and WriteP2PVRelations.
    o getRelatedPV now uses P->PV relations according to whether there is PV
    o re-fitting, UseP2PVRelations is true, or the event has a single PV.
  . Kernel/BestPV.h: Call DVAlgorithm::bestPV

- In DaVinciMCKernel v4r1
  . Kernel/IParticle2MCAssociator.h, Kernel/IParticle2MCWeightedAssociator.h,
    Kernel/Particle2MCAssociatorBase.h, src/Lib/Particle2MCAssociatorBase.cpp:
    o Use new GAUDI_API stuff.
  . Kernel/Particle2MCAssociatorBase.h
    o Include STL header , needed for accumulate algorithm.
  . dict/DaVinciMCKernelDict.xml: Remove duplicate dictionaries

- In LoKiCore v9r5
  . HybridBase: add more printout for python exceptions for easier debugging
  . fix small incorrectness
  . python/LoKiCore/decorators.py: fix for change in new Reflex/PyROOT

- In LoKiPhys v8r10
  . New symbols:
    o "track ghost probablity" LoKi::Particles::GhostProbability,
      TRGHP & TRGHOSTPROB
    o "track likelihood" LoKi::Particles::TrackLikelihood, TRLH  & TRLIKELIHOOD
    o ISMUONLOOE & ISLOOSEMUON

- In LoKiPhysMC v8r5
  . fix event and reference counters for MC-match

- In RichKernel v7r28
  . Add the method L1IngressHeader::inactiveHPDInputs which returns the
    list of inactive (i.e. missing HPDs) in a given decoded L1 ingress.
  . Add L1IngressHeader::numInactiveHPDs() to return the number of
    inactive HPDs
  . Add a faster implementation of L1IngressHeader::numActiveHPDs() using bitset
  . Add new tool interface for standalone HPD occupancy tool, which was
    previously part of the HPD suppression tool
  . Add new generic HPD data analysis tool interface
  . Update tool registry with a new new tools

- In CondDBUI v2r23
  . The script for adding the global tag to the db is unified to standard
    CondDBUI form and functionality, and added to the CondDBUI package as
    CondDBAdmin_GlobalTag.py.
  . Fixed the bug in an analysis method of the ReleaseNotes class for dealing
    with release_notes.xml content.

- In TfKernel v2r12
  . isX() method from LineHit.h now works for all detectors

- In TrackInterfaces v4r8
  . Added IPitchResTool to calculate pitch residuals in the Outer Tracker
  . Added missing const to ITrackExtrapolator

- In TrackKernel v1r1
  . Adapted to changes in LHCb::Track

- In LoKiHlt v2r4, LoKiNumbers v8r3
  . Remove duplicate dictionary already defined in Root 5.24

- In CaloInterfaces v7r15, LoKiNumbers v8r3
  . In requirements, remove hack for Gaudi v21r1 to link dictionary on Windows

- In Magnet v5r4, OTDet v8r3, DAQEvent v8r1, LumiEvent v2r2, LoKiHlt v2r4
  . Remove obsolete file _dll.cpp

2009-09-09 LHCbSys v28r0

This version uses Gaudi v21r4 and LCG_56c

- Packages added:    DaVinciTypes      - typedefs for Phys project.

- Packages modified: CaloDAQ v4r13, CaloInterfaces v7r14, CaloKernel v6r0,
    CaloUtils v8r6, Tell1Kernel v1r7, CaloDet v10r3, DDDB v1r21, DetDesc v18r15,
    Magnet v5r4, RichDet v12r1p1, STDet v4r13, EventAssoc v4r7, EventPacker v1r7,
    L0Event v17r7p1, PackedEvent v3r6, RecEvent v2r22, TrackEvent v5r0,
    IOExample v3r2, LHCbKernel v11r7, LHCbMath v3r12, DaVinciInterfaces v1r1,
    DaVinciKernel v8r1, LoKiArrayFunctors v8r5, LoKiCore v9r4, LoKiGen v8r7,
    LoKiMC v8r7, LoKiPhys v8r9, LoKiPhysMC v8r4, RichKernel v7r26,
    RichRecBase v3r25, STKernel v1r17, CondDBUI v2r22, TrackInterfaces v4r7,
    MuonDet v8r5p2

- In LHCbSys v28r0:
  . Fix DoxyLHCbApps.cfg for new location of ROOT project in LCG release area
  . Add container_package pattern

- In CaloDAQ v4r13
  . Add CaloAdcFromRaw: produces ADC from rawBanks with possible mis-calibration
  . Fix Calo(L0)DataProvider for 'partial' decoding in case of single 'offline'
    bank
  . Remove CaloReCreateMCLinks.cpp (moved to CaloAssociators)
  . Remove MCEvent dependency (no longer needed after above change)

- In CaloInterfaces v7r14
  . Some polishing of interfaces
  . IL0Calo2Calo.h: Added new virtual method

- In CaloKernel v6r0
  . Add helper modules with utilities for implementation of Calo-configurables

- In CaloUtils v8r6
  . New functor CaloAlgUtils: to consistently define context-dependent TES I/O
  . CaloDataFunctor: Remove duplicated functors
                     Add isLocalMax
  . CaloNeighbours: helper function to get proper neighbours

- In Tell1Kernel v1r7
  . Add BitReader helper class: needed for checking the raw bank encoding
                                in Tell1 cluster maker algorithm

  . Add Tell1Kernel/PUTell1Core.h

- In CaloDet v10r3
  . Add accessor to calorimeter index: int DeCalorimeter::index () const ;

- In DDDB v1r21
  . Changed default tags for 2009 data (needs SQLDDDB v5r11 or later):
    o head-20090902         for DDDB
    o head-20090902         for LHCBCOND
    o sim-20090902-vc-md100 for SIMCOND
  . Changed default tags for DC06 data:
    o DC06-20090902         for DDDB
    o DC06-20081002         for LHCBCOND (same as before)

- In DetDesc v18r15
  . In requirements, removed support for slc3 and for Root < 5.19
  . Added MagneticFieldGrid class

- In Magnet v5r4
  . Magnetic field grid is now stored in class DetDesc/MagneticFieldGrid.
  . New utility 'MagneticFieldGridReader' reads the field from a file (thereby
    replacing the IMagFieldTools)

- In MuonDet v8r5p2
  . Fix compilation error and warnings on Windows

- In STDet v4r13
  . DeSTSector: added isStereo method
                cleaned up noise methods
  . DeSTDetector: added methods to return disabled sectors and beetles

- In EventAssoc v4r7
  . Added dictionary for  LHCb::Relation1D

- In EventPacker v1r7, PackedEvent v3r6
  . Adapted to changes in Track.xml

- In L0Event v17r7p1
  . Added missing include file

- In RecEvent v2r22
  . Updated ProtoParticle class :
    o Add new methods to purge particular sub-detector PID information.
    o inline a few methods for speed.

- In TrackEvent v5r0
  . Modify Track.xml:
    o Add members for likelihood and ghost probability
      (initialised to unphysical values)
    o Remove obsolete ExtraInfo enums (actually, rename them with an obsoleted
      name to allow their usage in old data)

- In IOExample v3r2
  . Updated QMTest references for changes to Track.xml and introduction of Gaudi
    CounterSummarySvc

- In LHCbKernel v11r6, v11r7
  . Added access to field grid in ILHCbMagnetSvc
  . Updated printout string conversion of Rich::Side to say A or C side for RICH2
  . Added functionality to ITNames to TTNames
  . Modified HitPattern class to count OT monolayers separately, merge IT AC and
    IT TopBottom in one bitmap
  . CaloCellCode.h : added missing include
  . Added a typedef CaloCellID::Vector
  . Added the function CaloCellID::__hash__  to enable the usage of this object
    as key for Python dictionaries

- In LHCbMath v3r12
  . ValueWithError:
    1. add the constructor from (value.error)-pair
    2. add the conversion to  (value,error)-pair

- In DaVinciInterfaces v1r1
  . IPhysDesktop now uses unweighted P->PV tables
  . IVertexFit.h: changed signature of methods to resolve the ambiguities for
                  python usage of IVertexFit interface
    1. for all methods, WIHTOUT creation of "mother" particle,
       the vertex is the first argument ( "fit vertex" )
    2. for all methdos with creaton of "mother" particle,
       the mother particle is the last argument , after vertex
  . Kernel/IRelatedPVFinder.h: add methods returning single "best" related
                               VertexBase for a given particle.
  . Kernel/IOnOffLine.h : add method  "particleCombinerType" to get the default
    (context-dependent) type for IParticleCombiner tool.
  . Remove IRelatedPV (Obsolete)
  . All interfaces now use GAUDI_API.
  . Remove all src/Lib/*.cpp files
  . Move Kernel/Particle2Vertex.h to Phys/DaVinciTypes/Kernel, adapt to changes
    in Particle2Vertex typedefs.
  . Add dependency on Phys/DaVinciTypes

- In DaVinciKernel v8r1
  . Kernel/RelationOneToOne.h: Wrapper for 1D unweighted relations table.
    Mimicks one-to-one table.
  . Add Kernel/DaVinciGuards.h:
    o Guard to delete entries in a container of newed pointers.
    o CleanDesktopGuard. Calls PhysDesktop's cleanDesktop method from destructor.
  . Make all constructors explicit.
  . Add OrphanPointerContainerGuard, which only deletes pointers if they
    are not on the TES.
  . Added Kernel/BestPV.h: Defines functor DaVinci::BestPV.
  . DVAlgorithm:
    o Use single, unweighted relations.
    o Use CleanDesktopGuard.
    o Do not attempt to set PhysDesktop's P2PVInputLocations if locations empty.
    o Remove the default value of ParticleCombiners. Now the default value
      (if not specified explicitly) is picked up from IOnOffLineTool
    o getRelatedPV method uses DaVinci::BestPV to get the best PV for a given
      particle
  . Kernel/DecayTree.h: moved here from Phys/DecayTreeFitter package (where it
    was called DecayTreeFitter::Tree)
  . Remove FilterCriterionBase class. Moved to Phys/DaVinciFilters.
  . Romoved Kernel/Particle2VertexAsct.h: Obsolete and not used anywhere.
  . Added src/Lib/DaVinciFun.cpp: has implementations of non-template methods in
    DaVinci and DaVInci::P2VVAngles
  . Added DaVinci::P2VVAngles:: namespace to DaVinciFun.h. To be used for
    calculating helicity and transversity angles in P2VV decays like Bs2JpsiPhi.
    These only deal with kinematics and first boost all decay products to the B
    rest frame before proceeding with the calculation.

- In LoKiArrayFunctors v8r5
  . Fix for changed IVertexFit interface
  . Fix for removed FilterCriterionBase

- In LoKiCore v9r4
  . NodeGrammar:
    1. introduce the negation using "!" operator, e.g.:  !pi+
    2. negation with "~" operator possible only if the node enclosed in round
       brackets, e.g.  ~(pi+)
  . small polishing for typedefs

- In LoKiMC v8r7
  . DecTree( MCDECTREE ): allow extraction of marked elements,
    however it can be rather slow

- In LoKiPhys v8r9
  . Substitute assertions by error messages for BPV*LT* functors

- In LoKiPhysMC v8r4
  . add more context symnols: MCMATCH, MCSELMATCH, MCNODEMATCH, MCTREEMATCH
  . Add the helper function mcMatch

- In LoKiGen v8r7, LoKiMC v8r7, LoKiPhys v8r9
  . Add useful typedefs

- In RichKernel v7r26
  . Added functions to give the dimensions of the a RICH panel in x and y.
  . Move Linker library source files to src/lib/ directory
  . Slight simplification of the booking methods in RichHistoBase.icpp
  . globalPixelX() and globalPixelY() in RichSmartIDCnv.h updated to display
	  correct hitmaps
  . Remove ICameraTool.h - Now part of Online/Camera
  . Add new pixelCreator type "AllMCRichHits" to RichTools() Configurable.
  . Add hash functions for Rich::DAQ::HPDCopyNumber in RichDAQDefinitions.h

- In RichRecBase v3r25
  . Add protected method to pixel creator base class to allow derived classes
    access to the geometry tool.

- In STKernel v1r17
  . Add STXMLUtils functions
  . Add ISTRawADCInfo interface
  . Add method to Beetle representation to decompose to beetle/strip
  . Add TTDetectorPlot class
  . Add pragmas to avoid warning from windows for alg base classes

- In CondDBUI v2r22
  . Modified function in ReleaseNotes class for local tag homogeneity case
    detection in the release_notes.xml file.
  . Modified addNote function to contain functionality for merging homogeneous
    local tags entries in the release_notes.xml file.
  . Improved addGlobalTag function.
  . Added function to ReleaseNotes class for global tag homogeneity case
    detection in the release_notes.xml file.
  . Modified addGlobalTag function to contain functionality for merging
    homogeneous global tags entries in the release_notes.xml file.

- In TrackInterfaces v4r7
  . Add collect method to IVeloExpectation interface

- In CaloDAQ v4r13, RichDet v12r1p1, RichKernel v7r26, RichRecBase v3r25
  . Replaced all endreq by endmsg

- In CaloDAQ v4r13, EventAssoc v4r7, PackedEvent v3r6
  . Removed hack for Gaudi v21r1 to link dictionary on Windows

- In CaloDAQ v4r13, Magnet v5r4, RichDet v12r1p1, STDet v4r13,
     LoKiArrayFunctors v8r5, LoKiCore v9r4, LoKiGen v8r7, LoKiMC v8r7,
     LoKiPhys v8r9, LoKiPhysMC v8r4, RichKernel v7r26, MuonDet v8r5p2
  . Removed obsolete file _dll.cpp

2009-07-30 LHCbSys v27r5

This version uses Gaudi v21r3 and LCG_56b

- Packages added:    DaVinciInterfaces - IAlgTools+IInterfaces from DaVinciKernel
- Packages modified: CaloInterfaces v7r13, MDF v3r19, RichDet v12r1, STDet v4r12,
    VeloDet v13r8, DigiEvent v2r12, L0Event v17r7, RecEvent v2r21,
    IOExample v3r1, GaudiConf v12r8, LHCbMath v3r11p1, PartProp v1r4,
    L0Interfaces v1r5, OTDAQ v7r5p2, DaVinciKernel v8r0, DaVinciMCKernel v4r0,
    RichKernel v7r25, STKernel v1r16, STTELL1Event v1r9, CondDBUI v2r21,
    TrackInterfaces v4r6

- In CaloInterfaces v7r13
  . CaloInterafces/IL0Calo2Calo.h: new interface

- In MDF v3r19
  . Build MDF header bank using ODIN information if present.

- In RichDet v12r1
  . Add new base class 'DeRichBase' that implements various common
    functionality for all RICH detector elements.
  . Small change in DeRichSphMirror to pick up the Surface location
    from a user parameter (rather than trying to guess it).

- In STDet v4r12
  . Add  tolerance to globalInActive method

- In VeloDet v13r8
  . Prevent creation of local MsgStream objects by caching one per detector
    element

- In DigiEvent v2r12
  . CaloDigit.xml: add default location for HLT1 partial digit decoding

- In L0Event v17r7
  . Implement RAMBCID data

- In RecEvent v2r21
  . CaloReco/Hypo.xml : add default locations for HLT1 Cluster/Photon
    (needed for L0Confirmation)
  . Reorder the Status bit field in MuonPID to preserve DC06/MC09 compatibility

- In IOExample v3r1
  . Update QMTest references for Gaudi v21r3 statistics of Info() messages

- In GaudiConf v12r8
  . In LHCbExclusions.py, remove exclusion of Exceptions/Errors/Warnings
    summary message, following migration to Gaudi v21r3

- In LHCbMath v3r11p1
  . python/LHCbMath.py: Comment out line that causes debug and windows seg fault

- In PartProp v1r4
  . Kernel/ParticleID.h: fix threeCharge/jSpin/sSpin/lSpin/isMeson bypasses for
                         B0L & B0H
  . Provide python iterator for the service
  . Provide python decorators for Decays::Symbols

- In L0Interfaces v1r5
  . IL0CondDBProvider : implement RAMBCID data provider

- In OTDAQ v7r5p2
  . Add missing dependency on LoKiCore

- In DaVinciKernel v8r0
  . Major change: Move all interfaces to Phys/DaVinciInterfaces
  . Add Kernel/TransporterFunctions.h:  Namespace DaVinci::Transporter with
    particle transport free functions. Taken from Phys/DaVinciTransporter.
  . src/Lib/DVAlgorithm.cpp:
    o Add data member P2PVInputLocations, to mirror that of PhysDeksktop
    o Tidy up some of the related PV finding code
  . Move ProtoParticle classes to Phys/ProtoParticleFilter package.
  o Update ProtoParticleSelection code to implement new Cuts based on the
    IsMuon and IsMuonLoose flags in the MuonPID information.
    IsMuonLoose requires post-MC09 data.

- In DaVinciMCKernel v4r0
  . cmt/requirements: Use Phys/DaVinciInterfaces instead of Phys/DaVinciKernel.

- In RichKernel v7r25
  . Add new common base class (RichHistoBase) for all histogramming
    components that implement some common methods. In particular methods
    that make pre-booking histograms during initialise more convenient by
    implementing various RICH convections on the naming structure for
    histograms and the path in which they are stored in the persistent
    output ROOT file.
  . Downgrade warning messages about changed tool types to Info in
    RichToolRegistry.
  . Fix minor bug in Rich::Geom::AngleBetween

- In STKernel v1r16
  . Add ITDetectorPlot class, to draw nice IT 2D plots

- In STTELL1Event v1r9
  . Add method to return valid pp in STTELL1Event
  . Bug fixed in STTELL1Eventfo linkEnabled, add enabled() function

- In CondDBUI v2r21
  . Modified the new CondDBBrowser to work with zipped Python directories
  . Added fragment to convert the Qt Designer .ui files to Python modules.

- In TrackInterfaces v4r6
  . Add collect method to IHitExpectation interface

- In DigiEvent v2r12, L0Interfaces v1r5, OTDAQ v7r5p2
  . requirements: remove hack for Gaudi v21r1 to link dictionary on windows

2009-07-15 LHCbSys v27r4

This version uses Gaudi v21r3 and LCG_56b

- Packages added: Tr/TrackKernel v1r0
- Packages modified: DDDB v1r20, DetDescChecks v4r11, MuonDet v8r5p1,
    STDet v4r11, DAQEvent v8r0, EventPacker v1r6, MCEvent v2r15p1,
    RecEvent v2r20p1, TrackEvent v4r22, IOExample v3r0, GaudiConf v12r7,
    LHCbAlgs v2r28, LHCbKernel v11r5p1, LHCbMath v3r11, L0MuonKernel v8r7,
    LoKiGen v8r6, LoKiMC v8r6, LoKiPhys v8r8, RichKernel v7r24,
    RichRecBase v3r24, SimComponents v2r19, STKernel v1r15, CondDBUI v2r20,
    TfKernel v2r11p2, TrackInterfaces v4r5

- In DDDB v1r20
  . Changed default tags for 2009 data:
    o head-20090713         for DDDB
    o head-20090713         for LHCBCOND
    o sim-20090713-vc-md100 for SIMCOND

- In DetDescChecks v4r11
  . Added test for 2009 data type.

- In STDet v4r11
  . DeTTSector: Corrected small bug building of conditionsPathName.

- In DAQEvent v8r0, LHCbAlgs v2r28
  . Renamed the values (enum) for the beam crossing type in the ODIN class from
    Left/Right to 1/2.

- In EventPacker v1r6
  . Add DumpTracks algorithm, previously in Ex/IOExample
  . Replace all endreq by endmsg
  . Fix untested StatusCode on a Warning() method call

- In TrackEvent v4r22
  . Add constructor with 'location' to State and Node
  . Bug fix: sort lhcbids in Track::setLhcbIDs

- In IOExample v3r0
  . Move DumpTracks algorithm to EventPacker package and remove component library
  . In QMTests, include the LHCbExclusions file for the validation with reference

- In GaudiConf v12r7
  . In LHCbExclusions.py: temporary exclusion of Exceptions/Errors/Warnings
    summary message, to facilitate migration of reference files to Gaudi v21r3
  . In Configurable:
    o Change default DataType to 2009
    o If DDDB tags not explicitly set, use DDDBConf defaults for given DataType
      (previously setting of DDDBtag and CondDBtag was compulsory)

- In LHCbMath v3r11
  . In MatrixTransforms.h, use std::sqrt, std::abs instead of sqrt, fabs
  . Cleanup requirements (remove linkopts for ROOT < 5.19)
  . Fix some doxygen warnings

- In L0MuonKernel v8r7
  . Fix bug in emulator without M1

- In LoKiGen v8r6, LoKiMC v8r6
  . Minor fix to please Bender

- In LoKiPhys v8r8
  . Add additional indices for CHILD and CHILDCUT functors

- In RichKernel v7r24
  . Add RichTrackSegment::StateErrors constructor from double values
    (avoids double -> float conversion warnings).
  . Add new Rich::Converter base class that extends the basic Converter
    class adding various additional RICH functionality as implemented in
    Rich::CommonBase. Needed to eventually remove code duplication in
    various Panoramix packages.

- In RichRecBase v3r24
  . Fix bug in RichRecTrack where NDOF and charge data members were floats
    instead of ints !

- In SimComponents v2r19
  . MCReconstructible : return false for pz < 0 in neutral_accept ! Ecal
    geometrical parameters from CaloDet

- In STKernel v1r15
  . Moved method to retrieve TELL1 number from a SourceID from STCommonBase to
    the readout tool.

- In CondDBUI v2r20
  . Improvements to the new CondDBBrowser:
    o better look of the list of IoVs
    o cache the tags of the already viewed folder to improve responsiveness

- In TrackInterfaces v4r5
  . Added ITrackKalmanFilter

- In TfKernel v2r11p2, TrackInterfaces v4r5
  . Remove requirements hack for windows and Gaudi v21r1

- In EventPacker v1r6, LHCbAlgs v2r28,  SimComponents v2r19
  . Remove _dll.cpp file, no longer needed with Gaudi v21r2

- In MuonDet v8r5p1, MCEvent v2r15p1, RecEvent v2r20p1, LHCbKernel v11r5p1,
     LHCbMath v3r11, TfKernel v2r11p2
  . Fix Windows compilation warnings

2009-07-01 LHCbSys v27r3

This version uses Gaudi v21r2 and LCG_56b

- Packages modified: CaloDAQ v4r12, CaloInterfaces v7r12, DDDB v1r19,
    RichDet v12r0, DAQEvent v7r21, EventPacker v1r5, L0Event v17r6,
    TrackEvent v4r21, GaudiConf v12r6, GaudiObjDesc v11r8, LHCbMath v3r10,
    L0MuonKernel v8r6p1, LoKiCore v9r3, LoKiGen v8r5, LoKiHlt v2r3, LoKiMC v8r5,
    LoKiPhys v8r7, RichKernel v7r23, STTELL1Event v1r8, CondDBUI v2r19,
    TrackInterfaces v4r4

- In CaloDAQ v4r12
  . (I)Calo(L0)DataProvider(FromTES) :
    new method for partial CaloBank decoding from a vector of sourceIDs

- In CaloInterfaces v7r12
  . ICaloClusterisation tool new virtual method

- In DDDB v1r19
  . Set initial event time for DC06 data (avoids problems with ONLINE snapshots)

- In RichDet v12r0
  . New transform from the global frame to the photodetector panel frame that
    can cope better with misalignments. Method globalPosition removed from
    DeRichHPDPanel.

- In DAQEvent v7r21
  . Add src/component/RawEventSelectiveCopy for copying selected RawBanks
  . Add RawEventLocation::Copied in Event/RawEvent.h

- In EventPacker v1r5
  . Add the packing of RawEvent in WriteDst: All banks are copied from the input
    RawEvent to the output one, and the list of added banks kept in the output.
  . Add the reading of banks from a RawEvent object in ReadPackedDst
  . Fix the coding of the momentum error in PackedTracks in case of saturation.
  . Schema version update for PackedTrack: from version 2 onward, LHCb ids on
    track are sorted.
  . In UnpackTrack.cpp, collect all LHCbIDs before adding them to track
    (slightly faster than adding them one-by-one)

- In L0Event v17r6
  . L0DUReport.xml/L0DUConfig.xml : map assignation const referenced

- In TrackEvent v4r21
  . Added method to set all LHCbIDs on track at once
  . Added method to compute overlap in sets of LHCbIDs
  . LHCbIDs on track are now sorted
  . Added State locations for vertex and last measurement

- In GaudiConf v12r6
  . Replace LHCbApp().Quiet property with LHCbApp().OutputLevel
  . In DstConf.py:
    o Add pRec/RawEvent to RDST (contains copy of HLT and L0 raw banks)
    o Force RDST to be packed

- In GaudiObjDesc v11r8
  . In importUtils.py, disable warning C4800 on Windows when including
    HepMC/GenEvent.h

- In LHCbMath v3r10
  . In python/LHCbMath.py, add some LorentzVectors and 3D rotation types.

- In LoKiCore v9r3
  . add the patch to #bug 48914
  . LoKi/ConstReference.h  : new concept of "const-reference"
                             (instead of Reference)
  . LoKi/Field.h  : make proper disptach to ConstReference

- In LoKiCore v9r3, LoKiGen v8r5, LoKiMC v8r5, LoKiPhys v8r7
  . Improvements for DecayFinder

- In LoKiHlt v2r3
  . Add many "re&re-like" functors

- In RichKernel v7r23
  . Update tool handling to base classes to propagate OutputLevel to
    public tools that do not explicitly have it set. Uses the value as
    set in the tool registry that 'owns' that tool.
  . Update python Configuration to set OutputLevel of all tools when set.

- In L0MuonKernel v8r6p1, STTELL1Event v1r8
  . Fix compilation warnings for Windows

- In CondDBUI v2r19
  . Merged (some of) the functionalities fo dump_db_to_files.py into
    CondDBAdmin_MakeSnapshot.py, for a simpler user interface.
  . Modified copy_files_to_db.py to be able to specify an interval of validity
    for the new data.
  . Essentially completed the "browsing" part of the CondDBBrowser.
  . Fixed a problem with user specified options in CondDBAdmin_MakeSnapshot.py
  . Changes in the prototype for the new CondDBBrowser:
    o Added a CMT fragment to generate PyQt resource modules
    o Moved the resources to a dedicated directory and added a .qrc file
    o Re-implemented the CondDBStructureModel to take into account channels

- In TrackInterfaces v4r4
  . Fix interface of ITrackCloneFinder


2009-06-22 LHCbSys v27r2

This version uses Gaudi v21r1 and LCG_56a

- Packages modified: GaudiConf v12r5, LHCbKernel v11r5, LHCbMath v3r9,
    L0MuonKernel v8r6, RichKernel v7r22, DDDB v1r18, DetCond v12r7,
    DetDesc v18r14, Magnet v5r3, RichDet v11r5p1, VeloDet v13r7, HltEvent v8r18,
    LumiEvent v2r1, MCEvent v2r15, PhysEvent v11r9, PartProp v1r3,
    DaVinciKernel v7r7, LHCbAlgs v2r27, LoKiCore v9r2, LoKiGen v8r4, LoKiMC v8r4,
    LoKiPhys v8r6, MCInterfaces v1r9, RichRecBase v3r23, SimComponents v2r18

- In GaudiConf v12r5
  . In LHCbExclusions.py: ignore changes in name of latest ONLINE snapshot
  . In Configuration.py:
    + add LHCbApp().Quiet option to suppress all except most useful INFO messages
    + add LHCbApp().TimeStamp option to add a time stamp to all messages

- In LHCbKernel v11r5
  . Fixed bug in HitPattern for muon hits

- In LHCbMath v3r9
  . add new classes:
      Gaudi::Math::ValueWithError
      Gaudi::Math::Point3DWithError
      Gaudi::Math::Vector3DWithError
      Gaudi::Math::LorentzVectorWithError
      Gaudi::Math::SVectorWithError
  . LHCbMath/Kinematics.h
      sigmamass: use invalid return values for invalid arguments

- In L0MuonKernel v8r6
  . MonUtilities : function depending on the quarter to offset coordinate
                   for 2D histos

- In RichKernel v7r22
  . Suppress WIN32 warning 4661 (incomplete explicit templates)
  . Add properties to all 'Histo' and 'Tuple' classes to set the number
    of histogram bins.
  . Add an undefined setting to the Rich::DAQ::BankVersion enum

- In DDDB v1r18
  . Update 2009 default tags to latest tags in SQLDDDB v5r8:
    head-20090617 for DDDB

- In DetCond v12r7
  . Changes in the CondDB ConfigurableUser:
    + Fixed a bug causing a failure when using SQLite local copies and
      CondDBTimeSwitchSvc.
    + Changed the policy when both UseOracle and SQLiteLocalCopiesDir are active:
      issue a warning and ignores SQLiteLocalCopiesDir instead of raising an
      exception.

- In DetDesc v18r14
  . add missing classes into the dictionary:
        ILVolume::PVolumes
        ILVolume::PVolumePath, etc...

- In Magnet v5r3
  . Added MultipleMagneticFieldSvc. This service takes other magnetic field
    services as input and calculated the vector sum of the fields when
    fieldVector() is called. To be used when MBXW fields are needed.

- In VeloDet v13r7
  . The velo sensors now know whether they are top or bottom cabled.

- In HltEvent v8r18
  . Add missing dictionaries for
      std::pair
      std::vector >
      LHCb::HltDecReports::Container
  . Add numericalInfoKeys() method to HltObjectSummary

- In LumiEvent v2r1
  . LumiFSR        : add + and += operators
  . LumiIntegral   : new class, holds integrated FSR from different files

- In MCEvent v2r15
  . Make MCVertex::position4vector() method const
  . Add two more ghost types in GhostTrackInfo

- In PhysEvent v11r9
  . Changed xml/Tagger.xml to pass pointer to Particle instead of the object

- In PartProp v1r3
  . Further polishing of nodes & service

- In LHCbAlgs v2r27
  . Reduce functionality of DeterministicPrescaler to the strictly needed
    in order to speed it up furhter...

- In LoKiCore v9r2
  . Allow to reduce printout
  . Kernel/BiFunctions.h: Fix for win32 platform
  . Polishing for trees
  . Fix error for gcc4.3 compiler
  . Add the default node & default tree properties
  . python/LoKiCore/Vectors.py: helper module to simplify operations with
                                Gaudi::XYZPoint/XYZVector/LorentzVector
- In LoKiGen v8r4
  . LoKi::GenDecay: new HepMC-decay finder tool

- In LoKiMC v8r4
  . LoKi::MCDecay: new decay finder tool

- In LoKiPhys v8r6
  . LoKi::Decay: new decay finder tool

- In MCInterfaces v1r9
  . Add a new method to Rich::Rec::MC::IMCTruthTool to return the associated
    MCParticle for a given RichRecRing

- In RichRecBase v3r23
  . Update default value of track GhostProbability to -1
  . Improvements to the track selector classes for the upcoming track changes.
  . Add ghost probability variable to RichRecTrack object.
  . Use vector typedef in RichRecRing
  . Add reserve calls when filling X and Y vectors in FastRingFitter

- In SimComponents v2r18
  . MCEventTypeFinder. Added rare Tau decays, as in LHCbNote 2009-001

- In RichDet v11r5p1, DaVinciKernel v7r7
  . Fix WIN32 warnings

- In Magnet v5r3, MCEvent v2r15
  . Replace endreq by endmsg


2009-06-02 LHCbSys v27r1

This version uses Gaudi v21r1 and LCG_56a

- Packages modified: GaudiConf v12r4, GaudiObjDesc v11r7, LHCbKernel v11r4,
    LHCbMath v3r8, Relations v5r8, DDDB v1r17, DetCond v12r6, DetDesc v18r13p1,
    STDet v4r10, DigiEvent v2r11p1, EventAssoc v4r6p1, HltEvent v8r17,
    PackedEvent v3r5p1, PartProp v1r2, CaloInterfaces v7r11, CaloUtils v8r5,
    CondDBUI v2r18, DaVinciKernel v7r6, DaVinciMCKernel v3r3, CaloDAQ v4r11p1
    LinkerInstances v3r5, LoKiArrayFunctors v8r4, LoKiCore v9r1,
    LoKiGen v8r3, LoKiHlt v2r2, LoKiMC v8r3, LoKiNumbers v8r2, LoKiPhys v8r5,
    LoKiPhysMC v8r3, L0Interfaces v1r4p1, MCInterfaces v1r8p1, MDF v3r18,
    RecInterfaces v1r0p1, RichRecBase v3r22, STKernel v1r14, TfKernel v2r11p1,
    TrackInterfaces v4r3p1, TsaKernel v3r5p1, VeloEvent v16r7p1,
    LumiEvent v2r0p1, MuonDAQ v4r6p1, OTDAQ v7r5p1, PatKernel v2r3p1,
    DetCondExample v11r8, EventBase v2r5p1

- In GaudiConf v12r4, v12r3
  . Add LHCbKernel dependency, for LHCbConfigurableUser used by Configuration.py
  . Remove obsolete options files SimDicts.opts, SimContents.opts,
    DigiContent.opts, DstContent.opts
  . Add DstConf().DstType = "XDST", extended DST containing also MCHits and
    RICH extended information
  . Add GaudiConf/QMTest/LHCbExclusions.py containing a QMTest preprocessor that
    can be given to the QMTest ValidateWithReference function to exclude lines
    expected to change in the QMTest output

- In GaudiObjDesc v11r7
  . In importUtils.py, add temporary workaround for windows: define NOMINMAX
    when including GaudiKernel/boost_allocator.h, to avoid conflict with max()
    macro defined in windows.h. To be removed with Gaudi v21r2
  . Removed the override of the LD_LIBRARY_PATH env variable in obj2doth and
    obj2dict. They are not needed and cause problems when cross-compiling
    slc4 on the slc5 architecture.

- In LHCbKernel v11r4
  . Some improvements to the ostream operator overloading for enums
  . In LineTraj.h, CircleTraj.h, ParapolaTraj.h, MemPoolAlloc.h:
    add same temporary workaround for windows.h problem as in GaudiObjDesc

- In LHCbMath v3r8
  . src/Lomont.cpp: use unions instead of reinterpret_cast to avoid gcc4 problems
  . Add tests for Lomont-compare

- In Relations v5r8
  . Relations/Get.h: Add new methods getUniqueFrom

- In DDDB v1r17
  . Update 2009 default tags to latest tags in SQLDDDB v5r7
  . Add default tags for MC09

- In DetCond v12r6
  . In Configurable, do not access MessageSvc() directly, use instead
    getConfigurable("MessageSvc"), allow to replace MessageSvc instance online
  . Modified the way CondDBAccessSvc::finalize() synchronizes with the second
    thread.
  . Updated the usage of the Boost Thread module (use more recent classes).
  . Added a test triggering the connection time-out.

- In DetDesc v18r13p1
  . Add a missing include for Windows compilation

- In STDet v4r10
  . DeSTSector: Status conditions are now updated using the setXxxStatus methods.
  . StatusMap: removed set-protection for Open, Short and Pinhole channels.
  . Replaced all endreq with endmsg.

- In HltEvent v8r17
  . Reassign bits in HltDecReports to create more 'stages' and less dynamic range
    on # of candidates
  . Rename selectionID to decisionID, but keep backwards compatibility accessor
    function (selectionID will become computable from decisionID + stageID)
  . Add configuredTCK in HltDecReports, and reserve one 32 bit word to identify
    the task in the online farm

- In PartProp v1r2
  . New class Decays::Symbols, which contains the information about the
    allowed symbols for decay descriptors.
  . Substitute SubNodes with NodeList
  . Kernel/Nodes.h: Move unnecessary concrete symbols into a separate file
  . ParticlePropertySvc.cpp: Remove the duplicated list of symbols

- In CaloInterfaces v7r11
  . Remove unnecessary dependence on PhysEvent

- In CaloUtils v8r5
  . CovarianceEstimator : fix parameter index
  . CaloMomentum : invariant mass error relies on Gaudi::Math::sigmamass
  . Calo2Dview : fix bug in getCaloParam() - affecting L0CaloMonitoring only
  . Add the dictionary for CaloMomentum/CaloParticle classes (needed for python)
    and polish a bit these classes
  . SpreadEstimator: Put more protection for evaluation of cluster covariance
    ("spread") matrix. To decrease the influence of numerical uncertanties a
    temporary coordinate bias is introduced..

- In CondDBUI v2r18
  . Ported the CondDBBrowser to PyQt4 using the pyqt_compat package (which
    provides the Qt3Support module). Note: there are a couple of bugs in the
    pyqt_compat package distributed with LCGCMT 56a (work-around added here).
  . Added the function CondDBUI.Admin.ReleaseNotes.addGlobalTag.

- In DaVinciKernel v7r6
  . IRelatedPVFinder.h: Add methods accepting LHCb::VertexBase* containers.

- In DaVinciMCKernel v3r3
  . Fixed a gcc43 compilation warning in Particle2MCLinker.icpp, algMgr now
    accessed via a SmartIF
  . Added two new categories to IBackgroundCategory.h

- In LinkerInstances v3r5
  . Added support for ContainedObject to dict, required for OTChannelID
    linking and removed obsolete dict of OTTime linker

- In LoKiArrayFunctors v8r4, LoKiCore v9r1, LoKiGen v8r3, LoKiHlt v2r2,
     LoKiMC v8r3, LoKiNumbers v8r2, LoKiPhys v8r5, LoKiPhysMC v8r3
  . Remove unnecessary std::unary/binary_function bases

- In LoKiCore v9r1, LoKiGen v8r3, LoKiMC v8r3, LoKiPhys v8r5
  . Clean up the trees

- In LoKiGen v8r3, LoKiMC v8r3, LoKiPhys v8r5
  . Fix for changes in Kernel/PartProp

- In LoKiCore v9r1
  . Eliminate duplicated lines
  . Decrease the dictionary

- In LoKiHlt v2r2
  . Adapt to changes in HltDecReport(s)
  . HDRFilter.cpp, L0Filter.cpp, ODINFilter.cpp: Fix typo in name of HltFactory

- In LoKiMC v8r3
  . Improve the printout of MC decay (add []os for oscillated particles)
  . Change the default printout, now "decayOnly" flag is "true"

- In LoKiPhys v8r5
  . Patch to fix the conflict between SmartIF & LoKi::Interface

- MDF v3r18
  . In RawDataCnvSvc, use SmartDataPtr to retrieve RawEvent, avoids pointer type
    conversion warning from gcc43 -O2
  . Change RawEventCopy to be a GaudiAlgorithm (was Algorithm). Component
    library now depends on GaudiAlg

- In RichRecBase v3r22
  . Improvements to track selector base class (add likelihood cuts)
  . Add definitions to RichRecRing for ENN ring finder
  . Add likelihood to RichRecTrack
  . Improvements to enum ostream operator << overloading

- In STKernel v1r14
  . Bug fix in TTNumberToSourceIDMap

- In TsaKernel v3r5p1
  . In SeedStub.h and SeedTrack.h, do not include boost_allocator.h on Win32
    since it's not needed and brings in unnecessarily windows.h

- In DetCondExample v11r8
  . Add missing Boost_linkopts_date_time, needed on Windows

- In DigiEvent v2r11p1, EventAssoc v4r6p1, HltEvent v8r17, PackedEvent v3r5p1,
     CaloInterfaces v7r11, LinkerInstances v3r5, L0Interfaces v1r4p1,
     MCInterfaces v1r8p1, RecInterfaces v1r0p1, TfKernel v2r11p1,
     TrackInterfaces v4r3p1, VeloEvent v16r7p1, LoKiNumbers v8r2,
     CaloDAQ v4r11p1, LumiEvent v2r0p1, MuonDAQ v4r6p1, OTDAQ v7r5p1,
     PatKernel v2r3p1, EventBase v2r5p1
  . In requirements, add hack for Gaudi v21r1 to link dictionary on Windows


2009-05-11 LHCbSys v27r0

This version uses Gaudi v21r0 and LCG_56
It is released together with TCK/L0TCK v1r2 and Det/SQLDDDB v5r4
First release supporting slc5 and gcc43.
Not built on windows due to problems in LCG_56

- Packages removed:  GaudiPatches (all patches applied to Gaudi v21)
- Packages modified: LHCbKernel v11r3, LHCbMath v3r7, Relations v5r7,
    RichKernel v7r21, BcmDet v1r3, CaloDet v10r2, DetCond v12r5p3,
    DetDesc v18r13, DetDescCnv v4r9, DetDescSvc v2r3p1, MuonDet v8r5,
    RichDet v11r5, STDet v4r9, VeloDet v13r6, XmlTools v6r3, DAQEvent v7r20,
    EventAssoc v4r6, GenEvent v5r6, LumiEvent v2r0, L0Event v17r5, MCEvent v2r14,
    RecEvent v2r20, TrackEvent v4r20, VeloEvent v16r7, PartProp v1r1,
    MuonDAQ v4r6, CaloDAQ v4r11, CaloInterfaces v7r10, CaloUtils v8r4,
    CondDBUI v2r17, DaVinciKernel v7r5, DaVinciMCKernel v3r2, LHCbAlgs v2r26,
    LoKiArrayFunctors v8r3, LoKiCore v9r0, LoKiGen v8r2, LoKiMC v8r2,
    LoKiPhys v8r4, LoKiPhysMC v8r2,  L0Interfaces v1r4, MDF v3r17p1,
    PatKernel v2r3, RichRecBase v3r21, STKernel v1r13, TfKernel v2r11,
    TrackInterfaces v4r3, IOExample v2r9

- In LHCbKernel v11r3
  . CaloCellID.xml: + new method isPin() return true if cellID is a pin ID
                    + make setCalo() method public
                    + change fillstream output
  . CaloCellCode.h: + new static method CaloAreaFromNum(calo, num) return the
                      area for a given calo as string
  . Add remainder and risetime functions to ISiAmplifierResponse

- In LHCbMath v3r7
  . LHCbMath/Digit.h: Fix compilation warning for Win32 platform

- In Relations v5r7
  . Introduce new methods for each relation object:
     i_add ( Entry )  - inlined  (TABLE::i_add)
       add ( Entry )  - virtual  (TABLE::add)
  . Reimplement i_relate in term of i_add
  . Add public type "Entry" for each relation object (TABLE::Entry)
  . Specify boolean enum for compile-time recoginition of weighted/unweighted
    relations (TABLE::TypeTraits::weighted ). Set to "true" for weighted and
    "false" for ordinary relations)
  . src/Relations.cpp: remove local instances of relation tables, was causing
                       problem with compilation of PHYS with SUSE
  . tests/RelationsTests.cpp
    add the auxillary test for queich checks of compilation problems.
  . Fix dependencies of RelationsTest, for make -j

- In RichKernel v7r21
  . Add nickname mapping for cluster finding tool
  . Add a new photon predictor type to RichTools() python configuration,
    that use MC information to selet photons.

- In BcmDet v1r3
  . Call the base class constructor in DeBcm and DeBcmSens

- In CaloDet v10r2
  . CellParam : + adapt to change in condDB format/content
                  ( getQuality() and getCalibration() )
                + Fix bug in addQualityFlag() method
  . New getter methods corresponding to digitization parameters now in condDB
  . Improve DeCalib.cpp algorithm
  . references -> const in *.h
  . DeCaloCalib.cpp : allow to re-update (mis)calibration at each event

- In DetDesc v18r13
  . Added another virtual function hook to AlignmentCondition to allow
    special condition update for VeloAlignCondition

- In DetDescCnv v4r9
  . Create a MsgStream in XmlGenericCnv in initialize(), add methods to print
    like in GaudiAlgorithm: info(), debug(),.... They are available in all
    converters as they all inherit from XmlGenericCnv.
  . If the file name ends with '.xml[' + something + ']' then the part between
    bracket is removed to get the file, and in the file itself the string
    '--KEY--' is replaced by the string which was between brackets.
    This '--KEY--' string must be at the end of the names. This works ONLY for
    geometry, i.e. logical and physical volumes. This avoids re-parsing the file.
  . Use SmartIF to for the cached pointer to IXmlSvc in XmlGenericCnv to solve
    a compatibility problem with the HEAD version of Gaudi.
  . Removed a dynamic_cast that should have not been there.

- In MuonDet v8r5
  . Renamed interface IMuonPosTool to IMuonFastPosTool
  . Cleaned up printout

- In RichDet v11r5
  . Introduce condition to scale refractivity (n-1) of the gas radiators
  . Sort inactive HPD lists
  . Include P and T values in message printed when a refractive index
    update occurs.

- In STDet v4r9
  . In DeSTSector:
    o Add access to Noise and status conditions
    o Add methods to read the noise per sector / beetle / beetle port and strip
    o Add toElectron, toADC, prodID methods DeSTSector
    o Clean up printout in case try to make invalid traj
  . Add access to ProdID condition in DeITSector and DeTTHalfModule
  . Add halfModuleType to DeTTSector class
  . Move contains function to DeSTBaseElement class + make virtual

- In VeloDet v13r6
  . Added VeloAlignCond::updateParams, overloads AlignmentCondition::updateParams
    and corrects for the motion system position when updating the condition.
  . Added VeloAlignCond::motionSystemTransform which actually defines the
    transform.
  . Updated the reference file of the test velodet.veloaligncond.updates because
    the output changed after the above changes
  . Added free functions to convert chip channel to TELL1 channel.  The
    conversion is simply inverting the order of the four blocks of 512 channels.

- In XmlTools v6r3
  . Single instantiation of MsgStream. Methods a la GaudiAlgorithm to print.
  . Increase preference for Conditions in the cache. This avoids re-parsing the
    same (usually big) file.

- In DAQEvent v7r20
  . src/components/OdinTypesFilter : improve finalize printout

- In EventAssoc v4r6
  . Add a dictionary for LHCb::Relation1D

- In GenEvent v5r6
  . Make method GenHeader::numOfCollisions() const

- In LumiEvent v2r0
  . Change default location of LumiFSR to be under /FileRecords instead of
    /RunRecords, following reimplementation of FileRecordSvc in Gaudi v21

- In L0Event v17r5
  . xml/L0DUChannel.xml : fix harmless repetition

- In MCEvent v2r14
  . Make method MCHeader::numOfPrimaryVertices() const
  . Fix a typo in MCTrackInfo

- In RecEvent v2r20
  . Add bit in the muonPID for the IsMuonLoose bool condition

- In TrackEvent v4r20
  . Added Track AdditionalInfo enums: nPRVeloRZExpected and nPRVelo3DExpected

- In VeloEvent v16r7
  . Add new TES location for Tell1ADCs - after the decoding it is necessary
    to add dummy strips in order to perform the processing correctly

- In PartProp v1r1
  . ParticleProperty:
    o Add a few symbols, protected for cc-operations
    o Add selfcc and threeCharge methods
  . Add the nodes for evaluation of SSpin, LSpin & Nucleus
  . Modify a little bit the test/demo algorithm LHCb::Example::PartPropAlg
  . python/PartProp/decorators.py: Instrument LHCb.ParticleProperty.__getattr__
    to delegate the search for attributes to underlying LHCb.ParticleID object.

- In MuonDAQ v4r6
  . Add MuonTAE Rec algo for reconstruction in TAE events.
    Also strips belonging to different BX are matched.

- In CaloDAQ v4r11
  . Adapt to change in CaloDet
  . CaloReadoutTool : reduce verbosity

- In CaloInterfaces v7r10
  . New interface : ICaloGetterTool
  . ICalo2Calo/ICaloHypo2Calo : virtual methods set to const

- In CaloUtils v8r4
  . Calo2Dview:
    o Add protection + 1D profile allowed
    o Fix bug in 'electronics' 2D view for Spd
    o Add new 2D views (crate-feb vs channels)
    o Add possibility to split the view per area
  . CaloUtils/CaloTrackMatch.h: change Error to Warning

- In CondDBUI v2r17
  . Allow multi-line release notes comments in CondDBAdmin_Commit.py.

- In DaVinciKernel v7r5
  . src/Lib/DVAlgorithm.cpp:
    o Add few more default nicknames for various tools
    o Fix bug obtaining dangling references into a temporary instance of
      Particle2Vertex::LightTable.
    o More debug printout
  . Removed FilterCriteria
  . Added setDecayDescriptor(std::string)
  . New method setInputLocations for PhysDeskop, set by DVAlgorithm
    This allows the new recommnded syntax:
    MyAlg.InputLocations =  [ 'MyPreviousAlg' ]
  . ICaloParticlemaker : use ConstVector of Particles

- In DaVinciMCKernel v3r2
  . IParticle2MCAssociator.h now only has simple one-to-one association methods.
  . IParticle2MCAssociator, Particle2MCAssociatorBase:
    o Add virtual const LHCb::MCParticle* operator()(const LHCb::Particle*) const
    o Add associationWeight method
  . Particle2MCAssociatorBase:
    o Inherits from IParticle2MCWeightedAssociator, which inherits from
      IParticle2MCAssociator
    o Protect when TES MCParticle container location returns null pointer
    o Declare both abstract interfaces in constructor
    o Add relatedMCPsImpl, method to be implemented by derived classes. Default
      implementation uses associationWeight and isAssociated methods
    o associationWeight now private
    o Add method to normalise weights in Particle2MCParticle::ToVector
    o Add private virtual method to allow for some filtering:
      bool isAssociated(const LHCb::Particle*, const LHCb::MCParticle* ) const
    o Add checking for empty association ranges when returning "best" MCParticle
    o  Remove obsolete relations table related methods
  . Particle2MCParticle:
    o Add typedef for weighted Particle -> MCParticle relations table.
    o Avoid associations filtering when reference MCParticle container is empty.
    o Add static method to filter out MCAssociations that don't have MCParticles
      coming from an MCParticle container
    o FilterMCAssociations method not static
    o Add functor to filter out MCAssociations whose MCParticle* are not
      inside a given MCParticle* container.
    o Add functors for summing and sorting MCAssociation by weight
  . Add IParticle2MCWeightedAssociator.h, inherits from IParticle2MCAssociator.h
  . Particle2MCWeightedAssociator.h
    o Do not inherit from IAlgTool since IParticle2MCAssociator already does.
  . Add dictionaries for:
    o Particle2MCParticle::ToVector (std::vector
    o All classes and structs in Particle2MCParticle namespace
    o Classes MCAssociation, IParticle2MCWeightedAssociator
  . MCAssociation.h
    o Add non-const reference access to weight

- In LHCbAlgs v2r26
  . speed up DeterministicPrescaler
  . AlgorithmCorrelations : check for duplicate entries
  . OdinTimeDecoder : make the tool ODINDecodeTool private
  . Fix TESCheck.cpp for Gaudi v21 (backward compatible)

- In LoKiArrayFunctors v8r3
  . Remove some unnecessary dictionaries
  . Simplify a bit all *DOCA*-related stuff & eliminate duplicates
  . Add "fake" dictionaries to please new ROOT/Gaudi, to be removed with next
    Gaudi/LCG release

- In LoKiCore v9r0
  . Fix misprint for the default CoreFactory
  . More flexible&robust monitoring
  . LoKi/HistoBook.h: Add more methods for histogram booking
                      (needed for monitoring functors)

- In LoKiMC v8r2
  . BuildTrees{.h, .cpp}: Add LHCb::MCParticle::ConstVector
    LoKi::MCTrees::buildTrees( const LHCb::MCParticle::Container& input ) ;

- In LoKiPhys v8r4
  . New symbols for vertex/mass/lifetime/direction (re)fits:
    REFIT_ , MFIT_, REFIT, REFITTER, MFIT, MFITTER, MASSFIT
  . New symbols: BPVDVDOCA, LTIMEERR, BPTLTERR, DOCA, DOCACHI2, DOCAMAX,
    DOCAMAXCHI2, DOCAMAX_, DOCAMAXCHI2_
  . LoKi/Particles26.h: bug fix in DOCA::docamax & DOCA::docamaxchi2

- In LoKiPhysMC v8r2
  . MCMatchObj.cpp: fix to speed-up drastically the Monte Carlo Truth Matching

- In LoKiCore v9r0, LoKiGen v8r2, LoKiMC v8r2, LoKiPhys v8r4
  . Few improvements for new decay finder

- In L0Interfaces v1r4
  . IL0DUFromRawTool : new virtual method

- In PatKernel v2r3
  . New interface IPatDebugTrackTool to debug track properties inside pattern
    algorithms.

- In RichRecBase v3r21
  . Add support for PatSeeding T Station tracks (cosmics).
  . Minor improvement to pixel maker base class. Check HPD status once per HPD
    instead of once per pixel.
  . Enable HPD status checks by default.

- In STKernel v1r13
  . Added method to STCommonBase class to return SourceID to TELL1 defined in
    STBoardMapping.h
   . Add dict for std::pair

- In TfKernel v2r11
  . Modify the VeloRHit and VeloPhiHit constructors to define the width as
    sqrt(12) * pitch, not taking into account the cluster size.

- In TrackInterfaces v4r3
  . Add ISTClusterCollector interface
  . TrackInterfaces/IFunctionTool.h
    Add unique interface IDs (and destructors) to I*FunctionTool classes

- In IOExample v2r9
  . Update QMTest references for Gaudi v21 RunRecords -> FileRecords name change

- In BcmDet v1r3, DetDescCnv v4r9
  . Removal of unneeded creation of MsgStream

- In BcmDet v1r3, CaloDet v10r2, DetCond v12r5p3, DetDescCnv v4r9,
     DetDescSvc v2r3p1, DAQEvent v7r20, LumiEvent v2r0, PartProp v1r1,
     LHCbAlgs v2r26, LoKiCore v9r0, MDF v3r17p1
  . Replaced all endreq by endmsg, obsolescent in Gaudi v21

- In DetDesc v18r13, DetDescSvc v2r3p1, PartProp v1r1
  . Fixed many doxygen warnings

2009-04-07 LHCbSys v26r3

This version uses Gaudi v20r4 and LCG_55c
It is released together with TCK/L0TCK v1r1 and Det/SQLDDDB v5r3

- Packages modified : GaudiConf v12r2, LHCbKernel v11r2, RichKernel v7r20,
    DDDB v1r16, DetCond v12r5p2, STDet v4r8, DAQEvent v7r19, DigiEvent v2r11,
    GenEvent v5r5, HltEvent v8r16, L0Event v17r4, MCEvent v2r13, RecEvent v2r19,
    TrackEvent v4r19, EventPacker v1r4, DaVinciKernel v7r4, DaVinciMCKernel v3r1,
    LHCbAlgs v2r25, MCInterfaces v1r8, RichRecBase v3r20, SimComponents v2r17,
    STKernel v1r12, TrackInterfaces v4r2, DetDescChecks v4r10p1

- In GaudiConf v12r2
  . Replace bool DstConf().Simulation property with string DstConf().SimType.
    Possible values are:
	  o "None" (same as Simulation=False)
    o "Full" (same as Simulation=True)
    o "Minimal" (same as "None" plus Gen/Header, MC/Header, pSim/Vertices)
  . DstConf() configurable now prints Dst content
  . Add DigiConf() configurable, to set up Boole output
  . Remove obsolete option files DigiContent.opts, ExtendedDigi.opts
  . Update PoolCopy.opts to include directly GaudiPoolDbRoot.opts
  . Remove LHCbApp().UseOracle property. Use CondDB().UseOracle instead

- In LHCbKernel v11r2
  . Add bool option LbAppInit().PrintEventTime, if True prints the event time
    together with the run and event number
  . Extended IEvtTypeSvc. allTypes returns a set of all known types
	  Added typdefs LHCb::EventTypeSet, as an ordered set of types
  . CaloCellID.xml : make setCalo() method public
                     change fillstream output
  . CaloCellCode.h : new static method : CaloAreaFromNum( calo, num) return
                     the area for a given calo as string

- In RichKernel v7r20
  . Updates to RichSmartIDCnv to inline more functions.

- In DDDB v1r16
  . Requires SQLDDDB v5r3 or greater
  . Add 2009 data type and corresponding tags
  . New default tags for 2008:
    o head-20090330 for DDDB
    o head-20090402 for LHCBCOND
  . Remove obsolete file options/DDDB.py
  . Remove property DDDBConf().UseOracle, use CondDB().UseOracle instead

- In DetCond v12r5p2
  . Add options/UseOracle.py: additional options for gaudirun.py command line
    to get conditions from Oracle DB

- In STDet v4r8
  . Add findTopElement method to DeSTDetector

- In DAQEvent v7r19
  . src/components/RawBankReadoutStatusMonitor : implement automatic bin labels +
    few minor fixes
  . cmt/requirements : explicit link libHist in ROOT_linkOpts

- In DigiEvent v2r11
  . Remove unused constructor and set functions from STCluster
  . Add setDepositedCharge method to STDigit
  . Add clone and copy constructor to VeloDigit

- In GenEvent v5r5
  . Add two new data members to GenHeader, the total inelastic cross section
    and frequency of crossing of filled-filled bunches. Also add short-cut
    method for number of collisions

- In HltEvent v8r16
  . create custom dictionary for HltObjectSummary::Info

- In L0Event v17r4
  . Event/L0DUBase.h : define hardware limitation parameters
  . xml/L0DUTrigger.xml & xml/L0DUReport.xml : minor fix

- In MCEvent v2r13
  . Add short-cut method for number of primary vertices to MCHeader

- In RecEvent v2r19
  . Add ST event size in bytes, #full + # pedestal banks to STSummary

- In TrackEvent v4r19
  . Add enums for extra info for the muon tracks

- In EventPacker v1r4
  . Fix the hack in ReadPackedDst.cpp : Use a std::vector as temporary

- In DaVinciKernel v7r4
  . Added Kernel/DaVinciFun.h with useful free functions
  . src/Lib/DVAlgorithm.cpp
    o Fix problem with pointer to related vertex getting lost in PV re-fit case.
    o Use Kernel/DaVinciFun.h functions
    o getRelatedPV(const LHCb::Particle* part): Add protection for null particle*
      being passed as argument. Print 10 warnings if no PV found, instead of
      infinite errors.

- In DaVinciMCKernel v3r1
  . dict/DaVinciMCKernelDict.*
      Add IParticle2MCAssociator to reflex dictionaries
  . Kernel/IParticle2MCAssociator.h, Particle2MCAssociatorBase
      Deal with unweighted relations now.
  . Kernel/IDaVinciSmartAssociator.h
      Removed. Superseded by IParticle2MCAssociator.h

- In LHCbAlgs v2r25
  . Added FilterByBankType algorithm. Can be used to select events based
    on which banks are present in the RawEvent.

- In MCInterfaces v1r8
  . Added an interface, IMCEventTypeFinder, to define a tool allowing us to
    search for a given event type. Implemented in Sim/SimComponents

- In RichRecBase v3r20
  . Extend definitions in RichRecRing for new 'Template' ring finding

- In SimComponents v2r17
  . Added implementation of MCEventTypeFinder tool.
    This new tool allows to search the MCTruth of an event for any event type.
    Or to construct the event type based on lhcb-note 2005-034
	. Added method to EvtTypeSvc to get all known types
  . In MCDecayFinder, added sanity checking of the decay string, and use of ppSvc
    to get charge conjugated associates. Fixed some dereferencing segfaults.

- In STKernel v1r12
  . Bug fix in TTNumberToSourceIDMap

- In TrackInterfaces v4r2
  . Add new interfaces for PatVeloTTFit, PatSeedFit, TrackStateInitTool

- In DetDescChecks v4r10p1
  . Fix example for using Oracle CondDB

2009-02-23 LHCbSys v26r2

This version uses Gaudi v20r4 and LCG_55c

- Packages added    : GaudiPatches v1r0 - patches from next Gaudi release
                      LumiEvent v1r0    - To handle luminosity accounting
- Packages modified : GaudiConf v12r1, KernelSys v12r0, LHCbKernel v11r1,
    LHCbMath v3r6, DDDB v1r15, DetCond v12r5p1, DetDesc v18r12, DetDescCnv v4r8,
    DetDescSvc v2r3, Magnet v5r2, STDet v4r7, EventSys v25r0, DAQEvent v7r18,
    GenEvent v5r4, HltEvent v8r15, MCEvent v2r12, PackedEvent v3r5,
    PhysEvent v11r8, TrackEvent v4r18, STTELL1Event v1r7, EventPacker v1r3,
    PartProp v1r0p1, DAQSys v6r0, OTDAQ v7r5, CaloDAQ v4r10, CondDBUI v2r16,
    DaVinciKernel v7r3, DaVinciMCKernel v3r0, LHCbAlgs v2r24, LoKiPhys v8r2,
    MCInterfaces v1r7, MDF v3r17, SimComponents v2r16, STKernel v1r11,
    TfKernel v2r10, TrackInterfaces v4r1, DetCondExample v11r7, IOExample v2r8

- In GaudiConf v12r1
  . Backward compatible fix to GaudiMain.cpp for Gaudi v21
  . Remove extended RICH information from DIGI and DST contents. Now stored
    entirely in the SIM files.
  . Modifications in DstContent to use the packed TwoProngVertex.
  . Modifications in DstConf to allow writing RDST in MDF format.
  . Add PreloadUnits.opts, previously in $DAVINCIROOT, to allow import of
    units.opts file from Python.
  . In LHCbApp configurable, add Gaudi auditors to list of possible Monitors:
    KnownAuditors = ["NameAuditor","MemoryAuditor","ChronoAuditor"]
    If given as a Monitor, the auditor is enabled (assumes AuditorSvc is loaded)

- In KernelSys v12r0, EventSys v25r0, DAQSys v6r0
  . Remove explicit versions from requirements

- In KernelSys v12r0
  . Add STKernel, TfKernel

- In LHCbKernel v11r1
  . Added HitPattern class
  . In LHCbConfigurableUser, reimplement setOtherProp and setOtherProps
    functions to delegate to ConfigurableUser implementation (propagateProperty,
    propagateProperties). Also fixes a bug in propagation of defaults
  . Add toString method in STChannelID
  . Add channelToString and stringToChannel to IT and TTNames.
  . Added a direct accessor to FastClusterContainer (requires container sorted)
    and a Less_By_Channel to SiDataFunctor to sort the container

- In LHCbMath v3r6
  . Fixed usage of GSL (-no-as-needed).
  . Add function to get width of the half sample in ModeFunctions

- In DDDB v1r15
  . New default tag for 2008:
    o head-20090213 for DDDB and LHCBCOND
    o sim-20090212 for SIMCOND

- In DetDesc v18r12
  . Extended the RunChangeIncident to contain the run number too (avoid
    dependency on ODIN).
  . Fixed usage of GSL (-no_auto_imports).
  . Added the header DetDesc/RunChangeIncident.h (was in Event/DAQEvent).
  . Fixed some return type qualifiers that were causing problems in the
    dictionaries with the head version of ROOT.

- In DetDescCnv v4r8
  . Remove ifdefs for gcc 2.95

- In DetDescSvc v2r3
  . Using the extended RunChangeIncident in RunChangeHandlerSvc to get the run
    number (avoid dependency on ODIN).
  . Added RunChangeHandlesSvc. It listens for a RunChangeIncident and change the
    source of a set of Condition objects in the Detector Transient Store
    notifying the UpdateManagerSvc (was in Event/DAQEvent)
  . Fixed a memory leak occurring when registering without condition but passing
    the pointer to be filled (happens in GeometryInfoPlus after some recent
    changes).
  . Added hash maps in UpdateManagerSvc to speed-up registration of conditions.
  . Added usage of GSL (with -no_auto_imports). Not inherited anymore from
    DetDesc.

- In Magnet v5r2
  . Fix a releaseTool()

- In STDet v4r7
  . Add conditionPathName method for Sectors
  . Add nickname find by nickname functions
  . Add setters for beetle and strip update functions
  . Clean up initialize stage to make it few mus faster

- In EventSys v25r0
  . Add LumiEvent

- In DAQEvent v7r18
  . Moved:
    o RunChangeIncident to Det/DetDesc
    o RunChangeHandlerSvc to Det/DetDescSvc
    o OdinTimeDecoder, RunChangeTest, TestTimeDecoderOdin to Kernel/LHCbAlgs
    o Moved and modified the tests accordingly to the changes.
  . Removed dependency on Det/DetDesc.
  . Added the method setEventTime to ODIN.
  . Add new bank types for MDF Dst writing: DstBank, DstData, DstAddress

- In GenEvent v5r4
  . Add missing dictionary for GenVertex.

- In HltEvent v8r15
  . Move HltLumiSummary to LumiEvent

- In MCEvent v2r12
  . Add method to return fraction of hits due to noise in GhostTrackInfo
  . Add isX methods to MCOTDeposit
  . Add type enum to MCOTDeposit

- In PackedEvent v3r5
  . New class for PackedTwoProngVertex.
  . Remove version from Track, CaloHypo, Protoparticle and Vertex:
    This exists in all DataObjects
  . Some new methods to access internal arrays.

- In PhysEvent v11r8
  . In xml/FlavourTag.xml added information relative to opposite side taggers
    decision alone, with decisionOS() categoryOS() and omegaOS() methods.

- In TrackEvent v4r18
  . Added Velo "Lite" measurements to the list of measurement types
  . Fix compilation warning (from OSX gcc 4.0.01)

- In STTELL1Event v1r7
  . Printout flat Tell1 number in error bank streamer
  . Add fillStream methos to STTELL1Data and STTELLEventInfo classes
  . Add vector of which PPs were sent to STTELL1Data

- In EventPacker v1r3, v1r2
  . Fix gcc43 and slc4_ia32_gcc34 compilation warnings
  . New algorithms to pack, unpack and compare TwoProngVertex.
  . New algorithms ReadPackedDst adn WritePackedDsr to write in a RawEvent the
    RDST content. This allows writing a RDST in MDF format.
  . Change the coding of cov_44 in track state, to be dp/p with a scale factor.
    Affects PackTrack.cpp, UnpackTrack.cpp and CompareTrack.cpp

- In PartProp v1r0p1
  . Do not print message about missing anti-particle if extraBits() are set
    (nuclei, geantino etc.)

- In OTDAQ v7r5
  . OTMultiRawBankDecoder:
    o check that banks exist before decoding them
    o add missing retrieve/release of ToolHandle
  . Fix TELL1 id encoding, should be hex not decimal
  . Print ids in hex
  . Decrease verbosity: use Warning function, change debug -> verbose,
    remove warning about empty Gol Headers (Headers can be empty)
  . Only set the headers for known bank versions
  . Fix unchecked status code

- In CaloDAQ v4r10
  . CaloDigitFromRaw : bug fix when both ADC &Digits are requested to be stored

- In CondDBUI v2r16
  . Fix in CondDBAdmin_MakeSnapshot.py to be able to use LFC-based authentication
    for the connection (not directly supported by PyCoolCopy).
  . Modified dump_db_to_files.py to make the reference to /Conditions/Online
    always point to the database.

- In DaVinciKernel v7r3
  . Kernel/IPhysDesktop.h
    o Add const accessor to IRelatedPVFinder.
      virtual const IRelatedPVFinder* relatedPVFinder() const = 0 ;
    o Add  virtual const LHCb::RecVertex* keep( const LHCb::RecVertex* input )
      to keep re-fitted PVs.
    o Add methods to access Particle->PV relations tables.
    o relatedVertex is now const method.
    o virtual const LHCb::RecVertex* keep( const LHCb::RecVertex* input ) = 0;
      The vertices stored with this method should only be stored to the TES if
      they are related to a particle that is being saved to the TES.
  . Kernel/DVAlgorithm.h, .cpp
    o Add const accessor to IPhysDesktop's IRelatedPVFinder.
    o Add const accessor to IPhysDesktop's primary vertex container.
    o Add method to get the best related PV for a given LHCb::Particle.
    o Add ToolMap for IPVReFitters.
    o Add accessor method primaryVertexReFitter().
    o Add methods
       void storeRelationWithOverwrite(const Particle2Vertex::LightTable& table);
       void relateWithOverwrite(const LHCb::Particle*   part,
                                const LHCb::VertexBase* vert,
                                const double weight=1.);
       const LHCb::VertexBase* getRelatedPV(const LHCb::Particle* p) const
    o Add property "ReFitPVs" controlling whether PVs are re-fitted when the
      "best" PV for a particle is asked for, default false.
    o Test whether P->PV relations table is empty before returning related PV.
    o calculateRelatedPV now returns newed pointer to related PV. The pointer is
      either from the TES (in the case where no PV re-fitting is done) or stored
      in the PhysDesktop's local vectors. Thus memory management is taken care of

- In DaVinciMCKernel v3r0
  . Add some doxygen documentation
  . Add src/Lib/Particle2MCAssociatorBase.cpp, Kernel/Particle2MCAssociatorBase.h
      Base class with common implementation for IParticle2MCAssociator interface.
  . Add Kernel/Particle2MCParticle.h
      Namespace containing types corresponding to the Particle -> MCParticle
      uni-directional weighted relationship.
  . Kernel/IDaVinciAssociatorsWrapper.h
    o Add default value to const std::vector< std::string >& myLocations argument
    o IDaVinciAssociatorsWrapper::linker takes arguments by const reference.
  . Kernel/Particle2MCLinker.h
      Remove MCAssociation class
  . Add Kernel/MCAssociation.h with MCAssociation class
  . Add Kernel/IParticle2MCAssociator.h
    o Tool interface to get one to many or many to many Particle->MCParticle
      associations.
  . New interface IMCParticleTupleTool for plotting MCParticle-related quantities
  . Added IDaVinciSmartAssociator, the interface to a new ``smart'' association
    tool which works for any kind of Particle.

- In LHCbAlgs v2r24
  . Added EventCountHisto.{h,cpp} an algorithm which adds a histogram with
    one entry, which is the number of events seen by this algorithm.
  . Protect against eccessive warnings in TrajPoca.cpp
  . Relaxed the check on the ODIN bank size for version < 3 to take into account
    an old bug in BooleInit.
  . Using the extended RunChangeIncident (DetDesc) in OdinTimeDecoder to pass
    the run number.
  . Added OdinTimeDecoder, RunChangeTest, TestTimeDecoderOdin and corresponding
    tests. (were in Event/DAQEvent)
  . Added the tools ODINDecodeTool and ODINEncodeTool, both inheriting from
    ODINCodecBaseTool, which contains the implementation of the ODIN -> RawBank
    and RawBank -> ODIN functions. Added a test too (lhcbalgs.odin_codec).
  . Added dependencies on Det/DetDesc to compile RunChangeTest, and to
    Det/DetDescSvc and Det/DetCond for the tests.

- In LoKiPhys v8r2
  . Add new functors:
      HASTRACK  to check the validity of the track fore the particle
      TINFO/TRACKINFO to access "extra-info" for the underlying track

- In MCInterfaces v1r7
  . Extend IGhostTrackClassification interface with isGhost methods

- In MDF v3r17
  . Split the MDF library into a pure linker library (MDFLib) and a components
    library (MDF).
  . Add status code checks in MDFWriter
  . Add references to MDF file implementation.

- In SimComponents v2r16
  . Add printout of half sample width
  . Fix memory leak in MCReconstructible

- In STKernel v1r11
  . Add ISTChannelIDSelector, ISTClusterSelector interfaces
  . Make source id to number mappings static
  . Add print function for map
  . Add helper find function to map
  . Changed maxErrorBankWords to 56
  . Add toString functions for printing in python
  . Improve STTell1Board printout
  . Add Safety [exception catching] to STLexicalCastor from string to Primitive
    type

- In TfKernel v2r10
  . Add missing virtual destructor to Tf::IStationSelector (OSX/gcc4.0 warning)

- In TrackInterfaces v4r1
  . Added "lite" options to IVeloClusterPosition tool interface

- In DetCondExample v11r7
  . Remove an unneccessary service->release() from DumpDetectorStore.cpp

- In IOExample v2r8
  . Add conditional use of Castor in QMTest, to run tests on slc5
  . Protect unpackdst test against 10**-8 differences in some variables on
    slc4_ia32_gcc34 platform
  . Change input file of unpackdst test, to follow fix in track momentum error
    packing in EventPacker v1r2

- In GaudiConf v12r1, LHCbKernel v11r1, DetDesc v18r12, DetDescCnv v4r8,
     DetDescSvc v2r3, Magnet v5r2, DAQEvent v7r18, MDF v3r17,DetCondExample v11r7
  . Backward compatible fixes for Gaudi v21

- In DetCond v12r5p1, DetDescSvc v2r3
  . Fix compilation warning from Boost 1.38

2009-01-13 LHCbSys v26r1

This version uses Gaudi v20r4 and LCG_55c

- Packages added    : PartProp v1r0 - LHCb implementation of ParticlePropertySvc
- Packages modified : GaudiConf v12r0, KernelSys v11r0, LHCbKernel v11r0,
    LHCbMath v3r5, L0MuonKernel v8r5, ProcessorKernel v5r3p1, Relations v5r6,
    RichKernel v7r19, DetSys v17r0, CaloDet v10r1, DDDB v1r14, DetCond v12r5,
    DetDesc v18r11, DetDescSvc v2r2, RichDet v11r4, VeloDet v13r5,
    EventSys v24r11, DAQEvent v7r17, HltEvent v8r14, LinkerEvent v3r6,
    MCEvent v2r11, PhysEvent v11r7, RecEvent v2r18, TrackEvent v4r17,
    VeloEvent v16r6p1, EventPacker v1r1, DAQSys v5r4, MuonDAQ v4r5p1, OTDAQ v7r4,
    CaloDAQ v4r9, CaloInterfaces v7r9, CaloUtils v8r3p1, CondDBUI v2r15,
    DaVinciKernel v7r2, HltInterfaces v2r0, LHCbAlgs v2r23, LoKi v8r1,
    LoKiAlgo v8r1, LoKiAlgoMC v8r1, LoKiArrayFunctors v8r1, LoKiCore v8r1,
    LoKiGen v8r1, LoKiGenMC v8r1, LoKiHlt v2r1, LoKiMC v8r1, LoKiNumbers v8r1,
    LoKiPhys v8r1, LoKiPhysMC v8r1, L0Interfaces v1r3, MCInterfaces v1r6,
    MDF v3r16, PatKernel v2r2, RichRecBase v3r19, SimComponents v2r15,
    STKernel v1r10, TrackInterfaces v4r0, DetCondExample v11r6, IOExample v2r7

- In LHCbSys v26r1
  . Fix DoxyLHCbCommon.cfg and DoxyFile.cfg for use directly with CMT
    (without makedoc.py). N.B.: makedoc.py still needed to set LHCBVERS,
    GAUDIVERS set for the tag file URLs, and to use /tmp or /build for the
    temporary doxygen database files

- In GaudiConf v12r0
  . LHCbApp configurable now exits if DDDBtag and CondDBtag properties have not
    been explicitly set
  . Add a configurable DstConf to set up DST content. Replaces DstContent.opts,
    MCDstContent.opts, rDstContent.opts, which have been removed. Also allows
    to enable packed DST (default) and to set up DataOnDemand service for
    unpacking
  . Add Rec/Vertex/V0 to (r)DST.

- In LHCbKernel v11r0
  . Added the cluster size as data the SiPositionInfo struct.
  . Fix NULL implementation of FPEGuard.
  . AlignTraj : changed m_traj from reference to pointer to fix genreflex warning
    during compilation.
  . Remove the logPacked methods from StandardPacker.h, put new methods fltPacked
    to store the float of a double in an int.
  . LHCbID : add the comparison "less"-operator
  . Remove Kernel/Decay.h, xml/ParticleID.xml, src/ParticleID.cpp
    (moved to PartProp)
  . Add interface functions for robust estimation of the mode in Silicon
    [SiChargeFun.h]
  . Add functors for sorting +accumulating by charge [SiDataFunctor.h]
  . In Configurable, fix setOtherProp to work also for property types for
    which hasattr is True even if property has not been set (lists, dicts etc.)

- In LHCbMath v3r5
  . LHCbMath/Digit.h: Make drastic simplification of argument for
    BOOST_STATIC_ASSERT macro, to please genreflex on Windows and OSX
  . LHCbMath/Kinematics.h: fix the bugs...
  . Tests/kinematics.cpp: new test-file
  . Add robust functions to calculate mode or MPV [ModeFunctions.h]
  . Add list to the dictionary

- In L0MuonKernel v8r5
  . Implement new L0Buffer frame for the CU/SU L0buffer converter
  . Fix bug in the encoding parameter
  . Improve encapsulation of DOM parser
  . Implement compression algorithm for L0MuonProcData Bank

- In RichKernel v7r19
  . Extend tool interface IRichRefractiveIndex with new methods to
    calculate the effective index for a set of radiator intersections.
  . Add new tool mapping to RichToolRegistry.
  . Set custom NTuple LUN in tupling base classes.
  . Add new MC photon creator options that cheats the track direction at
    the emission point.

- In DetSys v17r0
  . Remove explicit versions from requirements

- In CaloDet v10r1
  . Fix FPE in DeCalorimeter.cpp

- In DDDB v1r14
  . New default tags for 2008:
    o head-20090112 for DDDB and LHCBCOND
    o sim-20090112 for SIMCOND
  . DDDBConf now issues a warning if default tags are being used. Previously
    warning was issued when default tag was NOT used
  . Default tag is used if DetCond().Tags has not been set for a given partition,
    or if it has been set to the string "default" (case insensitive)
  . Add ParticlePropertiesFile location for new LHCb::ParticlePropertySvc

- In DetCond v12r5
  . Improvements to the CondDB configurable:
    o added the possibility to use local copies of the SQLite databases (through
      CondDBSQLiteCopyAccSvc)
    o added the possibility of specifying alternatives and layers with only the
      connection string or the SQLite filename

- In RichDet v11r4
  . Add new virtual method to DeRichRadiator base class to return the
    refractive index for a given photon energy. Implemented in both the single
    and multi gas radiator derived classes.

- In VeloDet v13r5
  . Fixed bug in DeVeloRType::rPitch() that caused non-sensical results in 3
    sectors.

- In DAQEvent v7r17
  . Fix bug in OdinTypesFilter.cpp

- In HltEvent v8r14
  . Create custom dictionary for std::vector

- In LinkerEvent v3r6
  . Make the error message when template doesn't match the stored class ID more
    explicit, i.e. the two class ID are printed.

- In MCEvent v2r11
  . Add MCParticle::betaGamma() method

- In PhysEvent v11r7
  . Add dictionary for std::vector::iterator

- In RecEvent v2r18
  . Add fillStream to STSummary object

- In TrackEvent v4r17
  . Track::stateAt and Track::measurement(id) now return pointers

- In EventPacker v1r1
  . Fix a loop test condition in CompareTrack.cpp
  . Change logPacked to fltPacked in all occurences

- In MuonDAQ v4r5p1
  . Fix unitialized variable

- In OTDAQ v7r4
  . Change TELL1 numbering from 1-48 to 0x0TLQ where (T = {1,2,3}, L={0,1,2,3},
    and Q={0,1,2,3}
  . Also encode empty banks and empty gols
  . Added option to add empty banks ( default == true )
  . Put OTBank and OTGol in OTDAQ namespace, to avoid gcc 4.3 warning
  . Fix doxygen warnings
  . Added OTMultiBXRawBankDecoder, for 'merging' data from different BX

- In CaloDAQ v4r9
  . Calo(L0)DataProvider : protect against abusive warning in case of
                           0-suppressed data

- In CondDBUI v2r15
  . Added support for savannah patches in release_notes.xs[ld] to
    CondDBUI.Admin.ReleaseNotes and CondDBAdmin_Commit.py.

- In DaVinciKernel v7r2
  . Added new function Decays::escape that replaces special characters
    by something liked by root. Taken from DecayTreeTuple.
  . In DVAlgorithm :
    o modify the method ppSvc to return the pointer to new particle
      property service
    o add method "pid" which returns particleproperty by name and ID
  . Adapt to namespace change LHCb::Decay -> Decays::Decay
  . IDecodeSimpleDecayString.h : Remove public global typedefs for strings&ints

- In HltInterfaces v2r0
  . Remove some obsolete methods from IHltSummaryTool

- In LHCbAlgs v2r23
  . TESCheck : issue setFilterPassed(false) when location is not found in
               Stop = false mode.
  . DeterminsticPrescaler: replace custom statistics with StatEntity
  . Added doxygen comments to FilterByRunEvent

- In LoKi v8r1
  . List all Loki packages
  . Remove the library and its code

- In LoKiAlgo v8r1, LoKiAlgoMC v8r1, LoKiArrayFunctors v8r1, LoKiHlt v2r1
  . use new decorators

- In LoKiCore v8r1
  . Add the dictionaries for the trees
  . Fix many tiny bugs
  . LoKi/iTree.h : Add typedef for the actual particle type
  . LoKi/Filters.h : add Empty&Size functors
  . src/FilterAlg.cpp : enforce the execution of "decode" method within the
                        AlgContext guard
  . src/HybridBase.cpp : substitute WARNING-messages for PyLocals/PyGlobals
                         with INFO-messages

- In LoKiGen v8r1
  . Many fixes for trees
  . Add new symbols: GDECNODE, GDECTREE
  . New functors: GSIZE, GEMTPTY, GOSCILLATED1, GOSCILLATED2
  . Better treatment  of "CutVals"

- In LoKiMC v8r1
  .  add the trees

- In LoKiNumbers v8r1
  . Add more improvements for vector->bool functors

- In LoKiPhys v8r1
  . Add the first tree-functions
  . New symbols:
    o  DWMASS &  DWM : delta wrong mass
    o ADWMASS & ADWM : absolute value for delta wrong mass
  . Polish filters

- In MCInterfaces v1r6
  . Remove obsolete hack for Windows from requirements
  . Remove unneccessary dependency on RichKernel

- In MDF v3r16, v3r15
  . Fix bug in RawDataSelector.cpp for support for FileID bank
  . Add support for FileID bank
  . Add DAQ Bank versions to MDFHeader

- In PatKernel v2r2
  . Add IPatDebugTool and IPatDebugTTool interfaces and corresponding dictionary,
    moved from TrackInterfaces to reduce package dependencies

- In RichRecBase v3r19
  . Add new tool interface to calculate the effective radiator refractive
    index as seen by a given RichRecSegment.

- In SimComponents v2r15
  . Adapt DumpHepMCDecay, DumpHepMCTree, MCDecayFinder, PrintMCDecayTreeTool,
    PrintMCTree to use new LHCb::IParticlePropertySvc implementation of particle
    properties
  . Remove unnecessary releaseTool from PrintMCTree::finalize()
  . Various cosmetic cleanups of above files
  . In ForcedBDecayTool, protect hepmcp->print() with msgLevel(MSG::DEBUG) test
  . In MCParticleSelector.cpp, do not check betaGamma for particles with zero
    mass, to avoid FPE
  . Update MCHitMonitor: make all histogram ranges sensible
                         remove unneeded histos
                         add summary printout in finalize
  . Make default in MCParticleSelector really do nothing
    [was not quite case before

- In STKernel v1r10
  . Add uniquePort and uniqueBeetle functions
  . Add specializations for STDigit charge manipulation

- In TrackInterfaces v4r0
  . Remove IPatDebugTool and IPatDebugTTTool interfaces (moved to PatKernel) and
    remove PatKernel dependency

- In DetCondExample v11r6
  . Added a missing return in TestCacheInjection.cpp.

- In LoKiAlgo v8r1, LoKiAlgoMC v8r1, LoKiArrayFunctors v8r1, LoKiCore v8r1,
     LoKiGen v8r1, LoKiGenMC v8r1, LoKiHlt v2r1, LoKiNumbers v8r1, LoKiPhys v8r1,
     LoKiPhysMC v8r1, IOExample v2r7
  . Add or update QMtests

- In LoKiAlgo v8r1, LoKiAlgoMC v8r1, LoKiGenMC v8r1, LoKiMC v8r1, LoKiPhysMC v8r1
  . Add usage of CLHEP for OSX

- In LoKiAlgo v8r1, LoKiAlgoMC v8r1, LoKiHlt v2r1, LoKiNumbers v8r1
  . Add -no_auto_imports to GaudiPython usage, import it only for the dictionary
    if necessary

- In MCEvent v2r11, RecEvent v2r18, DaVinciKernel v7r2
  . Add PartProp dependency, to pick up ParticleID from new location

- In L0MuonKernel v8r5, ProcessorKernel v5r3p1, Relations v5r6, DetDesc v18r11,
     DetDescSvc v2r2, VeloEvent v16r6p1, CaloInterfaces v7r9, CaloUtils v8r3p1,
     DaVinciKernel v7r2, LoKiCore v8r1, L0Interfaces v1r3, MCInterfaces v1r6,
     SimComponents v2r15
  . Fixes for gcc 4.3


2008-11-20 LHCbSys v26r0

This version uses Gaudi v20r3 and LCG_55b

- Packages added: EventPacker v1r0 - Algorithms to pack/unpack persistent classes
- Packages modified: GaudiConf v10r13, GaudiObjDesc v11r6, KernelSys v10r0,
    LHCbKernel v10r0, LHCbMath v3r4, CaloKernel v5r2, L0MuonKernel v8r4,
    ProcessorKernel v5r3, Relations v5r5, RichKernel v7r18, DetSys v16r1,
    BcmDet v1r2, CaloDet v10r0p1, DDDB v1r13, DetCond v12r4, DetDesc v18r10,
    DetDescCnv v4r7p1, DetDescSvc v2r1p1, Magnet v5r1p2, MuonDet v8r4,
    OTDet v8r2, RichDet v11r3, STDet v4r6, VeloDet v13r4, XmlTools v6r2,
    EventSys v24r10, DAQEvent v7r16, DigiEvent v2r10, EventAssoc v4r5,
    L0Event v17r3, MCEvent v2r10, PackedEvent v3r4, RecEvent v2r17,
    TrackEvent v4r16, DAQSys v5r3, MuonDAQ v4r5, OTDAQ v7r3, CaloDAQ v4r8,
    CaloUtils v8r3, CondDBUI v2r14, DaVinciKernel v7r1, DaVinciMCKernel v2r11p1,
    HepMCBack v1r1, LHCbAlgs v2r22, LoKi v8r0, LoKiAlgo v8r0, LoKiAlgoMC v8r0,
    LoKiArrayFunctors v8r0, LoKiCore v8r0, LoKiGen v8r0, LoKiGenMC v8r0,
    LoKiHlt v2r0, LoKiMC v8r0, LoKiNumbers v8r0, LoKiPhys v8r0, LoKiPhysMC v8r0,
    MDF v3r14, RichRecBase v3r18, SimComponents v2r14, STKernel v1r9,
    Tell1Kernel v1r6, TfKernel v2r9, TrackInterfaces v3r18, TsaKernel v3r5,
    DetCondExample v11r5, DetDescChecks v4r10, DetDescExample v7r7p1,
    IOExample v2r6

  . Fix DoxyLHCbCommon.cfg and DoxyFile.cfg for use directly with CMT
    (without makedoc.py).
    N.B. still needs LHCBVERS, GAUDIVERS set externally for the tag file URLs

- In GaudiConf v10r13
  . Changes to LHCbApp() configurable:
    o Add LHCbApp().DataType option
    o Delegate handling of database tags to CondDB and DDDBConf configurables
    o Capitalize name of all options
    o Adapt to changes in Gaudi v20r3
  . Remove DecodeRawEvent.opts - replace with DecodeRawEvent.py
  . Remove gaudirun.py script, to take fixed version from Gaudi v20r3

- In GaudiObjDesc v11r6
  . Modified the way destination directories are created.

- In LHCbKernel v10r0
  . New methods logPacked in StandardPacker to put the log of a value and
    keep a 10-7 accuracy for double of unknown range.
  . Fixes to python Configurable for latest Gaudi changes
    o Remove setProp and getProp functions (now in ConfigurableUser base class)
    o Reverse logic of setOtherProp(s): now if both self and other class have
      the same property set, self property takes precedence
  . Fix for python bug https://savannah.cern.ch/bugs/index.php?43179
  . Switch off custom vector allocators in FastAllocVector when the flag
    GOD_NOALLOC is set.

- In LHCbMath v3r4
  . LHCbMath/Lomont.h, src/Lomont.cpp: new equality functions for float&doubles
    using very efficient implementation of Bruce Dawson's algorithm by Chris
    Lomont. See documentation and usage details in release notes.
  . In requirements: Add -no_auto_imports to GaudiPython use
  . In LHCb::Math::equal_to_int : fix an error "integral constant overflow"

- In L0MuonKernel v8r4
  . Remove pt encoding parameters : they are fixed by the version number

- In Relations v5r5
  . python/Relations/Rels.py: Remove unnecessary "operator=" from many objects
  . Relations/*.h: Fix compiler ambiguity for "merge" family in the case
                   of FROM==TO by introduction of "imerge" function.
  . For each concrete type add the method "merge" to merge with the sorted range
    and the corresponding shortcut: 'operator+='. Usage details in release notes

- In RichKernel v7r18
  . Add a component library containing the ToolRegistry (moved from RichTools)
  . Fixes to python Configurable for latest Gaudi changes
  . Update tools configuration in python configurable
  . Update requirements to properly use GOD_NOALLOC flag with genreflex
  . Add new tool interface for adding background to the raw decoded data
  . Update IRichRawBufferToSmartIDsTool.h with flag to create missing HPD
    data blocks on demand.

- In DDDB v1r13
  . Added the ConfigurableUser DDDBConf to replace all the option files for the
    configuration of the detector description.
    o Re-implementeed the old option files in terms of the new ConfigurableUser.
    o Add automatic loading of HepMCBack Dll for DC06 case
    o Tell ParticlePropertySvc to get ParticleTable.txt from CondDB

- In DetCond v12r4
  . Add LoadDDDB algorithm, moved from DetDescChecks to avoid tests dependency
    on DetDescChecks package
  . Added the ConfigurableUser CondDB for the high level configuration of the
    conditions database. The old configuration function (addCondDBLayer etc.) are
    still available for backward compatibility, but implemented using the new
    configurable which allows to specify local tags too.
  . In Configurable, set up VFSSvc, e.g. for use by ParticlePropertySvc
  . In requirements:
    o Follow the changes in the CORAL interface package (LCGCMT 55b)
    o Fix to avoid warnigs when making configurables database
    o Add missing dependencies for QMTest

- In DetCond v12r4, VeloDet v13r4
  . Fixed configuration problems in the test after the changes in DDDB.

- In DetDesc v18r10
  . Fix a missing dictionary instantiation
  . Clean up includes in DetectorElement.h

- In MuonDet v8r4
  . Fix compilation warnings

- In OTDet v8r2
  . Truncated distance at rmax in RtRelation::driftTime( distance )
  . Fixed bug in RtRelation::initRTable
  . Fix inefficient region around y = 0 in F-modules in odd layers see
    http://www.nikhef.nl/pub/experiments/bfys/lhcb/outerTracker/NamingConventions/Modules/index.html
  . Added accessor for vector of T0s from conditions

- In STDet v4r6
  . Make findSector method const in DeSTDetector
  . Add middleSensor method to DeSTSector
  . Improve print methods
  . Bug fix in findSectors method
  . Add missing entries to StatusMap

- In XmlTools v6r2
  . Fixed a problem in the evaluator on windows: Linux strtod understands hex
    constants, while windows' one not. Added a work-around using strtol.

- In DAQEvent v7r16
  . new component algorithm 'OdinBCIDFilter' : allow to filter on BCID
    o default : filter odd-parity BCID (can be inverted to even-parity setting
                the 'Revert' property to 'true')
  . Add L0PUFull and L0PUError bank types
  . Update test.ref reference file for Gaudi v20r3
  . Add missing dependency of dictionary generation on header file generation

- In DigiEvent v2r10
  . Add STChannelID ent to STDigit
  . Add XXXname() functions to STChannelID.ent
  . Add functionality to STCluster class [overlap, contains, ...]
  . Add spill to STCluster class
  . Make streamers for ST classes more friendly

- In EventAssoc v4r5
  . Regenerate the files using the updated Kernel/Relations package

- In L0Event v17r3
  . Fix a wrong comparison in L0DUReport::triggerDecision()
  . Change type of first argument of L0DUReport::triggerDecision() to unsigned

- In MCEvent v2r10
  . Add 3 new vertex types in MCVertex.xml:
    o GenericInteraction to assign to intermediate particles
    o KinematicLimit for particles stopped in detector
    o WorldLimit for particles stopped at the "world" geant4 volume

- In PackedEvent v3r4
  . Add PackedProtoParticle, PackedRecVertex, PackedTrack, PackedCaloHypo

- In RecEvent v2r17
  . In VertexBase, the 'extraInfo()' method returns a reference, not a copy
    of the extraInfo.
  . Remove unneccessary includes from CaloDataFunctor.h

- In TrackEvent v4r16
  . Add lite measurement types to enum
  . Anable string to enum conversion in State, Node and Measurement
  . Add constructors to track
  . fix method that computes number of outliers
  . protect Track::probchi2 against ndof=0

- In MuonDAQ v4r5
  . Change the default of muon raw data format from DC06 to Real data.
    To get DC06 use   MuonDigitToRawBuffer.VType=1
  . Add readoutbankerror to flag corrupted events to avoid execute() failure
  . Fix for unchecked StatusCode in MuonDigitToRawBuffer

- In OTDAQ v7r3
  . Use Warning(..) method to suppress OTSpecificHeader error bit message

- In CaloDAQ v4r8
  . New tool : CaloDataProviderFromTES produce CaloDigits/CaloAdcs from the TES
               (using the same interface than CaloDataProvider)
  . Adjust verbosity in CaloZsupAlg and CaloDigitsFromRawAlg.
  . Make the string 'outputType' property case-independant in CaloZsupAlg
    and CaloDigitsFromRawAlg.
  . CaloDigitsFromRawAlg : allow to write pin-diode ADC in the same container
                           as PMT ADC
  . New algorithm : CaloMergeTAE produce CaloDigits/CaloAdcs as the sum over a
                    given TAE sequence

- In CondDBUI v2r14
  . Fixed some python code that was using obsolete functions.
  . Added a work-around to dump_db_to_files.py to support system entities like
    "conddb:DTD/structure.dtd".

- In DaVinciKernel v7r1
  . Fix problem with unwanted dependencies in ITriggerTisTos
  . Kernel/ITriggerTisTos.h ITriggerSelectionTisTos.h
    o Remove obsolete input parameters and methods.
    o Add new functionality with hltObjectSummaries() method.
  . src/OnOffline.h: Add const std::string& trunkOnTES() const method
  . Kernel/IPhysDesktop.h
    o getOutputLocation() is now const, and returns a const std::string&
    o primaryVertices() in now const, and returns const RecVertex::Container*
    o Remove Particle2Vertex::Table Table() method
  . Kernel/IContextTool.h
    o primaryVertices() in now const, and returns const RecVertex::Container*
  . Kernel/Particle2Vertex.h: Add some useful typedefs
  . Kernel/IRelatedPVFinder.h
    o Backwards-incompatible changes, interface now contains three simple methods
      taking a particle, some primary vertices, and an empty range of
      weighted Particle->VertexBase relations, to be filled according to some
      "bestness" logic.
    o Interface methods no longer take IDistanceCalculator* as argument.
      Implementation should now take care of getting its own IDistanceCalculator.
    o Make all methods const.
  . src/Lib/DVAlgorithm.cpp: Adapt to changes in IOnOffline interface.
  . Kernel/IOnOfflineTool.h
    o Clean up interface. Now it only gives the names of some tool
      implementations and PV location to be used by the parent algorithm or tool.

- In LoKiAlgo v8r0, LoKiPhys v8r0
  . src/Algo.cpp : Adapt to new IPhysDesktop::primaryVertices() method

- In HepMCBack v1r1
  . Fix to remove "Warning in " message in case when the
    Dll has been properly loaded. Now this message appears only when there is a
    real problem (i.e. reading HepMC 1 data without HepMCBack loaded)

- In LHCbAlgs v2r22
  . Fix untested StatusCode in EventNodeKiller
  . Protect debug() in DeterministicPrescaler
  . AlgorithmCorrelations : Remove all references to SelResult

- In LoKi v8r0
  . suppress the library (add more tests later)

- In LoKiCore v8r0
  . Bug fixes in LoKi/BiFunctions.h, LoKi/iTree.h
  . MANY improvements in the area of functors which gets 'void' ( "sources")
  . Redesign of python decorators
  . "algorithm"-functors
  . "CoreFactory" for following functors:
       void -> bool
       void -> double
       double -> bool
       double -> double
       std::vector -> std::vector
       std::vector -> double
       void -> std::vector
  . Generic "LoKi::VoidFilter" algorithm, based on "CoreFactory"
  . src/HybridBase.cpp: add some treatment for python  code strings, namely the
                        strings are trimmed and the paired quotes are removed.
  . LoKi/FuncOps.h:  add possibility to create "binary"-switches in python,
                     condition ? condidition1 : condition2

- In LoKiArrayFunctors v8r0, LoKiGen v8r0, LoKiMC v8r0, LoKiPhys v8r0
  . Adapt to changes in LoKiCore v8r0

- In LoKiGenMC v8r0
  . Workaround for ambiguous setProperty specialisations on Windows
  . Remove .opts-files (and the whole options directory)
  . Provide "configurables" for Data-On-Demand configuration of
      LCHb::MCVertex       --> LHCb::GenCollision and
      HepMC::GenParticle <---> LHCb::MCParticle   relation tables
      (python/LoKiGenMC/MC2Collision_Configuration.py
       python/LoKiGenMC/HepMC2MC_Configuration.py)
  . Resurrect & redesign MC -> GenCollision stuff

- In LoKiHlt v2r0
  . add dictionaries for 'algorithm'-related functors
  . functors and helper functions are defiend in the separate module:
    python/LoKiHlt/algorithms.py

- In LoKiMC v8r0
  . Fixes for very strange messages about "unknown type z" ???

- In LoKiNumbers v8r0
  . New module python/LoKiNumbers/sources.py with basic "void"-functors

- In LoKiPhys v8r0
  . LoKi/Particles23.h, src/Particle23.cpp, python/LoKiPhys/functions.py :
    New functor  WM & WMASS  LoKi::Particles::WrongMass
       evaluate the mass of mother particles taking the alternative
       'wrong'-mass hypotheses for daughter particles

- In LoKiPhysMC v8r0
  . Remove all opts files ( and the directory)
  . Add the configurations to tun 'on-demand'
      Track -> MC relation tables
      Primary Vertices ---> Monte Carlo Vertices
      Primary Vertices ---> Generator Collisions  relation tables
      (python/LoKiPhysMC/Track2MC_Configuration.py
       python/LoKiPhysMC/PV2MC_Configuration.py )
  . Resurrect & redesign all PV -> MCV stuff

- In MDF v3r14
  . Add standard (dummy) properties to event selector
  . Add missing status code checks in MDFIO.cpp

- In SimComponents v2r14
  . Remove the Pack, Unpack and Compare for MC particles and vertices
    and move them to a new package Event/EventPacker with reconstruction packers
  . Add sanity check in MCParticleSelector.cpp, to avoid FPE on ia32
  . Improve underflow protection for MCVertex times, to work also on ia32

- In STKernel v1r9
  . Add bank version to dictionary
  . Make DAQToOffline method safer in STTell1Board
  . Tidy getting service box name
  . Add method to return list of all flippables in CommonBase
  . Add method to return sector corresponding to channel in CommonBase
  . Remove toString method from CommonBase class
  . Add toString and fromString templates in STLexicalCaster.h
  . Add setDetType
  . Bug fix in retrieval of readout tool
  . Add new STAlgorithm base classes
  . Add explicit dependencies on GaudiAlg and Boost

- In Tell1Kernel v1r6
  . Add new part of the pedestal update engine interface compatible
    with the latest tell1lib firmware release

- In TfKernel v2r9
  . Add fill stream method to STHit
  . Add some useful shortcuts to STHit

- In TrackInterfaces v3r18
  . Added IPromoteClusters to allow the "promotion" of Lite clusters to
    full clusters

- In DetCondExample v11r5
  . Updated to compile with COOL 2.6.0

- In DetDescChecks v4r10
  . Move LoadDDDB algorithm to Det/DetCond
  . Add missing dependency on HepMCBack for QMTest
  . Modified the option file LoadDDDB.py to use the configurable DDDBConf and
    updated the tests.

- In IOExample v2r6
  . Add a library of tests for reading/writing event model objects. Currently
    contains an algorithm to dump Tracks
  . Update QMTest reference files for Gaudi v20r3

- In LoKiAlgo v8r0, LoKiAlgoMC v8r0, LoKiArrayFunctors v8r0, LoKiCore v8r0,
     LoKiGen v8r0, LoKiGenMC v8r0, LoKiHlt v2r0, LoKiMC v8r0, LoKiPhys v8r0,
     LoKiPhysMC v8r0
  . Fixes for Reflex in LCG-55b

- In LHCbMath v3r4, DetDesc v18r0
  . In requirements, add link to libGenVector when using ROOT_GE_5_19

- In LHCbKernel v10r0, CaloKernel v5r2, ProcessorKernel v5r3, Relations v5r5,
     RichKernel v7r18, BcmDet v1r2, CaloDet v10r0p1, DetCond v12r4,
     DetDesc v18r0, DetDescCnv v4r7p1, DetDescSvc v2r1p1, Magnet v5r1p2,
     MuonDet v8r4, OTDet v8r2, RichDet v11r3, STDet v4r6, VeloDet v13r4,
     XmlTools v6r2, DAQEvent v7r16, L0Event v17r3, RecEvent v2r17, MuonDAQ v4r5,
     OTDAQ v7r3, CaloDAQ v4r8, CaloUtils v8r3, DaVinciMCKernel v2r11p1,
     LHCbAlgs v2r22, LoKiAlgo v8r0, LoKiAlgoMC v8r0, LoKiCore v8r0, LoKiGen v8r0,
     LoKiGenMC v8r0, LoKiHlt v2r0, LoKiMC v8r0, LoKiNumbers v8r0, LoKiPhys v8r0,
     LoKiPhysMC v8r0, MDF v3r14, RichRecBase v3r18, SimComponents v2r14,
     STKernel v1r9, TfKernel v2r9, TsaKernel v3r5, DetDescExample v7r7p1
  . Fixes for gcc 4.3

- In L0MuonKernel v8r4, ProcessorKernel v5r3
  . Add doxygen documentation


2008-10-07 LHCbSys v25r2

This version uses Gaudi v20r2 and LCG_55a

- Packages added:    LoKiHlt v1r0 - functors for L0, ODIN, HLT
- Packages modified: GaudiConf v10r13, GaudiObjDesc v11r5, KernelSys v9r2,
    LHCbKernel v9r2, LHCbMath v3r3, L0MuonKernel v8r3, RichKernel v7r17,
    DetSys v16r0, CaloDet v10r0, DDDB v1r12, DetCond v12r3, DetDesc v18r9,
    Magnet v5r1p1, OTDet v8r1, RichDet v11r2, EventSys v24r9, DAQEvent v7r15,
    DigiEvent v2r9, HltEvent v8r13, L0Event v17r2, RecEvent v2r16,
    TrackEvent v4r15, CaloUtils v8r2, CaloInterfaces v7r8, CondDBUI v2r13,
    DaVinciMCKernel v2r11, LoKiAlgo v7r6, LoKiCore v7r8, LoKiPhys v7r8,MDF v3r13,
    RichRecBase v3r17, SimComponents v2r12p1, STTELL1Event v1r6, TfKernel v2r8,
    TrackInterfaces v3r17, DetDescChecks v4r9, DetDescExample v7r7

- In GaudiConf v10r13
  . LHCbApp() now automatically includes $DDDBROOT/options/DDDB.py
  . Added option file to write out muon-long tracks for alignment
  . Added Tae_ondemand.py : decoding (except for Rich and L0) for time align
                            events of all slots

- In GaudiObjDesc v11r5
  . In GenClasses.py: change ifndef around boost allocators to GOD_NOALLOC
  . In requirements: define -DGOD_NOALLOC in debug and WIN32 cases

- In LHCbKernel v9r2
  . Make GOD_NOALLOC flag public and use it to switch off custom allocators in
    classes not generated by GaudiObjDesc
  . Remove space in string "below threshold" in RichParticleIDType.cpp as
    it was causing problems elsewhere with component names.

- In LHCbMath v3r3
  . Add the functions for comparison of double and int, double and unsigned int:
    LHCb::Math::equal_to_int, LHCb::Math::equal_to_uint
  . LHCbMath/{MatrixInversion.h,SymMatrixInverter.h,SymPosDefMatrixInverter.h}
    Add matrix inversion routines for symmetric and symmetric positive definite
    matrices based on Cholesky decomposition for the positive definite case (or
    a variant thereof for the general symmetric case). These routines have
    template specializations for different matrix sizes for better performance.

- In L0MuonKernel v8r3
  . MonUtilities : add new names for histograms
  . ProcDataCnv : bug fix in the decoding of PU errors
  . CtrlCanCnv : bug fix in the decoding of bank header

- In RichKernel v7r17
  . Added functions to return the maximum local coordinates in the x and y axis.
  . Update Raw Buffer tool interfaces (IRichRawBufferToSmartIDsTool.h and
    IRichRawDataFormatTool.h) for improved TAE event support.
  . Adapt python configurable to changes in DAQ tools

- In CaloDet v10r0
  . Important change in DeCalorimeter + friend classes :
    o implementation of the updateManagerSvc for all conditions
    o review the code structure accordingly + renaming + cosmetics
    o add new conditions : (L0)calibration, channel quality
    -> NEEDS SQLDDDB v5r*
  . DeCalorimeter.h:
    o add new inline method 'cellEnergy(adc, cellId)', converts adc to calibrated
      Energy in Mev for a given cell
    o Check condition existence with hasCondition(name) to follow change in
      DetDesc v18r9
  . DeCaloCalib: New alg allow to generate Calo (mis)-calibration
                 (similar to DeCaloTiming)
  . Update CaloDetTest.opts
  . Reduce verbosity

- In DDDB v1r12
  . Change requirements to look for SQLDDDB v5r*, due to incompatibility between
    new ONLINE implementation and previous software releases missing the bug fix
    in DetCond v12r3
  . New default tag for 2008 (head-20081002).
  . New default tag for DC06 (DC06-20081002).
  . Force positive magnet polarity for DC06 (i.e. don't take default from ONLINE)
    N.B. MagneticFieldSvc warnings are suppressed in DC06 case, to avoid warning
    from manual setting of polarity
  . In DDDB.py, ensure that DetectorDataSvc is loaded as first ExtSvc

- In DetCond v12r3
  . Fixed a bug in CondDBCommon::generateXMLCatalog, failing for folders with
    names shorter than 4 chars.

- In DetDesc v18r9
  . Extended IDetectorElement with the function hasCondition(name) to check if
    the conditionref with the specified name is defined in the XML.
  . Modified the behavior of IDetectorElement::condition() to throw an exception
    if the requested condition is not known.

- In Magnet v5r1p1
  . Fix bug in updateTool( int polarity ) where m_fieldTool was only updated on
    the first instance for each field configuration change due to a scoping error
  . Add finalize() method to release used tools
  . Fix an untested StatusCode

- In OTDet v8r1
  . Default tofs weren't filled (caused Brunel to crash)
  . Check condition existence with hasCondition(name) to follow change in
    DetDesc v18r9
  . Added some more checks to get/set methods
  . Added method to set default RT-relation and T0s if claibration condition
    doesn't exist. For backwards compatibility with DC06.
  . Add missing include and namespace
  . Added callbacks for calibration conditions. T0s and RTs are now in CONDDB.
    Modified set functions to reflect this.
  . Changed definition of coefficients t(r) and sigma_t(r) in RtRelation.h:
    Those coefficiencts now define a polynomial in r/rmax, such that they all
    have unit [ns].

- In RichDet v11r2
  . Protect use of condition() method following changes to DetDesc
  . Add method (request from monitoring) to access the HPD hardware ID
    associated to a given L1 Hardware ID + L1 input number

- In DAQEvent v7r15
  . Add 'MissingStatus' in RawBankReadoutStatus type
  . modify RawBankReadoutStatus algo accordingly

- In DigiEvent v2r9
  . Changes to STCluster class: Add clone/copy constructor+ contains method
                                Add method to return max adc value of a cluster

- In HltEvent v8r13
  . Removed HltEnums
  . Added executionStage field in HltDecReports

- In L0Event v17r2
  . Add some missing dictionaries
  . L0DUXXX.xml : convert all '(unsigned) long' into 'unsigned int'
  . L0DUReport.xml : reference access to configuration->data() map

- In RecEvent v2r16
  . Remove CaloDataFunctor (moved to CaloUtils)

- In TrackEvent v4r15
  . Make computation of probChi2 of track safe for FPE
  . Enable string <-> enum conversion in Track.xml
  . Fix uninitialized data members in Measurement constructor

- In CaloUtils v8r2
  . Calo2Dview.cpp : add new features (Flux and energyWeighted properties)
  . add new class : CellSelector to handle the various CellMatrix methods
  . add CaloDataFunctor.h (moved from RecEvent)

- In CaloInterfaces v7r8
  . ICaloClusterization : add iterations() virtual method
  . ICalo2Calo : add multiplicity virtual methods
  . new interface : ICaloHypo2Calo

- In CondDBUI v2r13
  . Modified PyCoolDiff to truncate the IOVs to the selection range when writing
    to the output database.
  . Moved time related functions from MakeSnapshot to _internals.
  . Extended CondDBAdmin_Commit to accept an IOV for the conditions to insert.

- In DaVinciMCKernel v2r11
  . Particle2MCLinker.{h,icpp} : make context() to be contagious from the mother
                                 alg/tool to the associating method algorithm

- In LoKiAlgo v7r6
  . python/LoKiAlgo/decorators.py: add start/stop functions for python algorithm

- In LoKiCore v7r8
  . LoKi/FilterAlg.h, src/Filteralg.cpp
    o add the property "Preambulo" to provide few python lines to be executed
      BEFORE the evaluation of the actual code
    o New helper base class LoKi::FilterAlg for the implementation of various
      C++-algorithms which require access to LoKi/Bender "hybrid" factories.
  . Add function for evalaution of Armenteros-Podolaski variable
  . Comparisons with integers

- In LoKiPhys v7r8
  . new functors
    D2DVVD          LoKi::Particles::DaughterVertexVertexDistance:
      3D-vertex-vertex distance between vertices in the cascade decay
    D2DVVDCHI2      LoKi::Particles::DaughterVertexVertexDistanceChi2:
      chi2-vertex-vertex distance between vertices in the cascade decay
    D2DVVDCHI2SIGN  LoKi::Particles::DaughterVertexVertexDistanceSignedChi2:
      signed chi2-vertex-vertex distance between evrtices in the cascade decay,
      the sign is according to (v1-v2)*p1
    D2DVVDDOT      LoKi::Particles::DaughterVertexVertexDistanceDot:
      'dot'-vertex-vertex distance between vertices in the cascade decay
      (== projected distance on the momentum direction of the first component)
    D2DVVDSIGN  LoKi::Particles::DaughterVertexVertexSignedDistance:
      signed 3D-vertex-vertex distance between vertices in the cascade decay,
      the sign is according to (v1-v2).Z()
    NMASS     LoKi::Particles::NominalMass          : get Nominal/PDG mass
    DPDGM     LoKi::Particles::DeltaNominalMass     : get (mass-nominal_mass)
    DPDGMASS  LoKi::Particles::DeltaNominalMass     : get (mass-nominal_mass)
    ADPDGM    LoKi::Particles::AbsDeltaNominalMass  : get |mass-nominal_mass|
    ADPDGMASS LoKi::Particles::AbsDeltaNominalMass  : get |mass-nominal_mass|
    CHI2PDGM  LoKi::Particles::DeltaNominalMassChi2 : get chi2(mass-nominal_mass)
    CHI2PDGMASS
              LoKi::Particles::DeltaNominalMassChi2 : get chi2(mass-nominal_mass)
    ARMENTEROS for evaluation of armenteros-podolanski variable
  . new files LoKi/Particle22.h, src/Particles22.cpp

- In MDF v3r13
  . Add deep copy of raw event structure to helpers.

- In RichRecBase v3r17
  . Add dependency of reflex dictionary on god_headers, needed for make -j
  . Update FastRingFitter with a constructor from a RichRecRing

- In SimComponents v2r12p1
  . Improve FPE protection of CompareMCVertex (was failing on ia32)

- In STTELL1Event v1r6
  . Add fractionOK functions to STTELL1Error, STTELL1BoardErrorBank
  . bug fix in STTELL1Error::linkInfo

- In TfKernel v2r8
  . fix in LineHit (FPE in computation of cos of stereo angle)

- In TrackInterfaces v3r17
  . Extended interface of ITrackProjector

- In DetDescChecks v4r9
  . Clean up LoadDDDB.py options
  . Add a test for 2008 geometry

- In DetDescExample v7r7
  . Adapt to changes in CaloDet v10r0

2008-09-08 LHCbSys v25r1

This version uses Gaudi v20r2 and LCG_55a

- Packages modified: GaudiObjDesc v11r4, KernelSys v9r1, LHCbKernel v9r1,
    LHCbMath v3r2, L0MuonKernel v8r2, ProcessorKernel v5r2, RichKernel v7r15,
    DetSys v15r1, DDDB v1r11, Magnet v5r1, MuonDet v8r3, OTDet v8r0,
    RichDet v11r1, STDet v4r5, EventSys v24r8, DAQEvent v7r14, DigiEvent v2r8,
    HltEvent v8r12, L0Event v17r1p1, MCEvent v2r9p1, RecEvent v2r15,
    VeloEvent v16r6, STTELL1Event v1r5, DAQSys v5r2, MuonDAQ v4r4, OTDAQ v7r2,
    CaloUtils v8r1p1, LHCbAlgs v2r21, LoKiCore v7r7, LoKiGen v7r6, LoKiMC v7r6,
    LoKiPhys v7r7, RichRecBase v3r16, SimComponents v2r12, STKernel v1r8,
    TfKernel v2r7

- In GaudiObjDesc v11r4
  . Fixed fragment to create target directory if not already existing

- In LHCbKernel v9r1
  . Add some missing dictionaries and missing includes
  . Extend functionality in TT and ITNames
    [add methods to return station, layer, ... names + all valid possibilities]
  . Add python/LHCbKernel/Configurable.py containing base class Configurable
  . Kernel/Inspectors.h, src/Inspectors.cpp, python/LHCbKernel/Inspector.py
    New utility class LHCb::Inspector for (recursive) inspection of the
    major properties of various Gaudi components, including  the application
    itself. It is especially suited for inspection of the "algorithmic" part.
  . Small update for LHCb::ParticleID::digit function to follow updated
    Gaudi::Math::digit function (Least significant digit now numbered as #0)

- In LHCbMath v3r2
  . LHCbMath/Bit.h, LHCbMath/Digit.h
    Add functionality to get the RANGE of bits (or decimal digits) from
    unsigned integral type. See details in LHCbMath release notes

- In L0MuonKernel v8r2
  . Add decoding of the L0Muon compressed mode + transparent mode v2
  . Bug fix in the handling of status error
  . Minor bug fix in the handling of decoding error counter

- In ProcessorKernel v5r2
  . Allow a 3rd instance of Register Factory (to run L0MuonFromRawTrans)

- In RichKernel v7r15
  . Update interface to HPDDisableTool and add method based on minimal
    information required
  . Import tool interface header files from Rich/RichMonitoringTools
  . Add python configuration files
  . Change ToolRegistry names from Offline.XXX to Offline_XXX to avoid
    problems with python configurables

- In DDDB v1r11
  . New default tags for DC06 (DC06-20080904) and 2008 (head-20080908)

- In Magnet v5r1
  . Add an option UseSetCurrent to get Set instead of Measured current from
    CondDB (default false)
  . Remove a duplicate registration to a condition
  . Fix a bug in use case without condDB (was crashing if scale factor was set)
  . If MagneticFieldSvc.UseConstantField option is set, all other options are
    ignored
  . Fix uninitialised pointer to Real field map tools
  . Remove unneccessary TestMagnet.exe. Test can be run with
    "Gaudi.exe ../options/job.opts" or  "gaudirun.py ../options/job.opts"
  . Improve messages when scaling factor changes

- In MuonDet v8r3
  . Fix a FPE in MuonChamberGrid::listOfPhysChannels()

- In OTDet v8r0
  . Fix staggering of straws in a module. The offsets are retrieved from DDDB.
    Affects digitization, for 2008 geometry this is not backward compatible with
    digis produced with older version of Boole.

- In RichDet v11r1
  . Add method to DeRichRadiator to provide interpolated function for the
    effective absorption length, as a function of photon energy.
  . Make sure interpolators in DeRichRadiator are re-initialised when the
    underlying tables are updated.
  . Move the method initTabPropInterpolators() to the DeRichRadiator base class.
  . Add the public method initInterpolator to Rich::TabulatedProperty1D to
    allow the forced re-initialisation of the interpolator.

- In STDet v4r5
  . Add many dictionaries

- In DAQEvent v7r14
  . bankKiller can now work in exclusion mode (kill all that is not specified)
  . OdinTypeFilter : extend to ReadoutType and TAEWindow

- In DigiEvent v2r8
  . Add custom dictionary, and populate it with FastClusterContainers
  . Add shortcuts to station, layer etc to STCluster classes
  . Add accessor to liteCluster form Cluster class

- In HltEvent v8r12
  . LumiResult container added to hold "R" results in extraInfo
  . LumiSummary container is now a single object
  . added HltVertexReports.xml

- In L0Event v17r1p1
  . Bug fix to L0MuonError.cpp : correct the pu index computation

- In MCEvent v2r9p1
  . Add a dictionary

- In RecEvent v2r15
  . Add list of recovered banks to STSummary class
  . RichPID:
    o Extend type flags in RichPID
    o Remove LHCb::RichPID(const LHCb::RichPID*) copy constructor.
    o Add LHCb::RichPID(const LHCb::RichPID&) copy constructor.
  . MuonPID: Add LHCb::MuonPID(const LHCb::MuonPID&) copy constructor.

- In VeloEvent v16r6
  . Modified VeloErrorBank class that stores information from VeloError bank

- In STTELL1Event v1r5
  . add method to test if link is enabled to STTell1Error
  . Add ErrorInfo method to STTell1BoardErrorBank
  . Change location of error bank
  . Cleanup/bug fix in STTELL1Error bankLink method

- In MuonDAQ v4r4
  . Fix for empty raw bank during check of tell1 headers (version and source id)

- In OTDAQ v7r2
  . Added method to get total number of hits (without 'decoding' the full bank)

- In CaloUtils v8r1p1
  . Calo2Dview.cpp : remove verbose line

- In LHCbAlgs v2r21
  . Make sure DeterministicPrescaler does not crash on events without ODIN

- In LoKiCore v7r7
  . LoKi/Trees.h, LoKi/Trees.icpp: fix wrong signature of constructor for Marked_
  . src/Component/LoKiSvc.cpp: add more "protected" words/symbols for CC-utility
  . fix LaTeX expresssions inside Doxygen comments
  . Many improvemens to LoKi::Tensors utilities
  . LoKi::Kinematics::<...> : use explicit Lorentz-invariant expressions for
    evaluation of (sin/cos/angle) chi.
  . LoKi/Kinematics.h, src/Kinematics.cpp
    o reimplement of 2-argument LoKi::Kinematics::decayAngle in terms
      of 3-argument form in terms of Lorentz invariants (no "boost" are used).
      The old implementation is available as LoKi::Kinematics::decayAngle_
    o Add new functions for evaluation of angle "chi" between the decay planes:
      LoKi::Kinematics::cosDecayAngleChi, sinDecayAngleChi, decayAngleChi
    o Add new functions for evaluation of energy and 3-momentum magnitude of one
      particle in the reference system of another particle:
      LoKi::Kinematics::restMomentum, restEnergy
  . LoKi/Report.h, LoKi/ErrorReport.h: some ironing of status codes

- In LoKiGen v7r6
  . LoKi/GenDecays.h, src/GenDecays.cpp:
    o make more uniform interface for LoKi::Decays::Trees::Gen*
    o improve Doxygen comments

- In LoKiMC v7r6
  . LoKi/MCDecays.h: improve Doxygen comments

- In LoKiPhys v7r7
  . python/LoKiPhys/functions.py: add missing LV0, LV01, LV02, LV03, LV04 symbols

- In RichRecBase v3r16
  . Resurrect the old FastRingFitter class, that provides a simple and fast
    circle fit to a set of (x,y) data points.
  . Remove redundant method from IRichSellmeirFunc interface
  . Improve default property values in various base classes
  . use of the god_headers pattern instead of the plain obj2doth document.

- In SimComponents v2r12
  . Fix ForcedBDecayTool.cpp to work with CheatedSelection

- In STKernel v1r8
  . Add Strip, Beetle and PPRepresentation classes
  . Bug fix in STBoardMapping.h (first IT TELL1 number is 1, not 0)
  . Add functionality to STTell1Board
  . Add functionality to ITSTReadoutTool, STTell1Board related to service box
    mapping
  . Add dictionary stuff [lots done, but still incomplete !]

- In TfKernel v2r7
  . Add methods to HitCreator interfaces to reset hit used flag, add method to
    HitBase to reset used flag

2008-07-29 LHCbSys v25r0

This version uses Gaudi v20r2 and LCG_55a

 - Packages added:    Gen/HepMCBack v1r0 - Streamer to read HepMC 1.26 event
 - Packages modified: GaudiConf v10r12, GaudiObjDesc v11r3, KernelSys v9r0,
     LHCbKernel v9r0, L0MuonKernel v8r1, RichKernel v7r14, DetSys v15r0,
     DDDB v1r10, DetCond v12r2, DetDesc v18r8, DetDescSvc v2r1, Magnet v5r0,
     RichDet v11r0, STDet v4r4, VeloDet v13r3, EventSys v24r7, DAQEvent v7r13,
     GenEvent v5r3, HltEvent v8r11, L0Event v17r1, VeloEvent v16r5,
     STTELL1Event v1r4, DAQSys v5r1, OTDAQ v7r1, CaloDAQ v4r7, CondDBUI v2r12,
     LHCbAlgs v2r20, LoKiCore v7r6, LoKiGenMC v7r1p1, LoKiPhysMC v7r4, MDF v3r12,
     SimComponents v2r11, STKernel v1r7, TfKernel v2r6, TrackInterfaces v3r16,
     DetCondExample v11r4, DetDescChecks v4r8, IOExample v2r5

- In GaudiConf v10r12
  . Added the script gaudirun.py including work-arounds for
    o Gaudi bug #39117: incorrect handling of ToolHandles
    o Gaudi bug #39116: bad comment sign when exporting to old-opts
  . Removed obsolete explicit loading of Reflex dictionaries from SimDicts.opts.
  . In Configurable:
    o Removed handling of MagneticFieldSvc fieldmap file, will be done via CondDB
    o Added function to return knownMonitors and use it to test monitors option
    o Added "useOracleCondDB" option, default is False
  . Removed /Event/Rec/Rich/RichOfflineSummaryTracks from default DST

- In GaudiObjDesc v11r3
  . Fixed dependency problems in the fragments to allow parallel compilation
    with "make -j"

- In LHCbKernel v9r0
  . Remove Kernel/IEventTimeDecoder.h, IGenericTool.h, now in GaudiKernel
  . Remove Kernel/IDetElemFinder.h,    moved to Det/DetDesc
  . Add Kernel/ILHCbMagnetSvc.h : LHCb extensions to Gaudi IMagneticFieldSvc i/f
  . src/ParticleID.cpp: use more efficient algorithm (from LHCbMath) to extract
    the Nth decimal digit from the integral type (introduces LHCbMath dependency)
  . Add ITNames, TTNames to python dict

- In L0MuonKernel v8r1
  . Add MonUtilities : contains functions usefull for the monitoring
  . Bug fix : correct a bug introduced in the previous release affecting
              the decoding of the DC06 banks

- In RichKernel v7r14
  . Added logical and hardware Level1 ID classes
  . Added HPDCopyNumber class in DAQDefinitions

- In DDDB v1r10
  . In LHCb-2008.py:   change default 2008 tag to head-20080729
  . In DC06.py, .opts: change default DC06 tag to DC06-20080725
  . In DDDB.opts, DDDB.py: ONLINE partition now enabled
  . Remove Magnetic field options from DC06.opts, DC06.py, LHCb-2008.py,
    now taken from ONLINE condDB partition
  . In DDDB.py, use new "useOracleCondDB" property of LHCbApp configurable to
    access Oracle CondDB instead of SQLDDDB. Default is SQLDDDB

- In DetCond v12r2
  . Changed the type of CondDBDispatcherSvc.Alternatives from list of strings
    to map.
  . Added tests for DetCond.Configuration.
  . Fixed a problem with conversion between 'double' and 'long long' in
    CondDBTimeSwitchSvc.
  . Added a function to DetCond.Configuration (configureOnlineSnapshots) to
    prepare the configuration using monthly snapshots of the ONLINE partition.
    The first and last snapshot used extend their validity to 0 and +infinity
    respectively.

- In DetDesc v18r8
  . Add DetDesc/IDetElemFinder.h, previously in LHCbKernel
  . Remove from DetDescDict.h the hack for an obsolete gccxml problem on Win32

- In DetDescSvc v2r1
  . Modified the EventClockSvc to use the current time as initial guess for the
    event time.
  . Pick up interfaces previously in LHCbKernel from their new locations in
    GaudiKernel, GaudiAlg, DetDesc (needs Gaudi v20r2)
  . Remove LHCbKernel dependency

- In Magnet v5r0
  . Revised implementation of MagneticFieldSvc (see release notes for details)
    o Now implements ILHCbMagnetSvc interface, with added methods scaleFactor()
      and useRealMap()
    o Service now gets names of field map files from CondDB
    o Handling of changes in magnet conditions during the job
    o Reading and caching of field map delegated to a IMagFieldTool, with two
      implementations: MagFieldTool, MagFieldToolDC06 for the real and DC06 maps
  . Fixed options/UseRealMap.py for consistency with above changes. This file
    should now only be used if not using the CondDB.
  . Fixed option/job.opts with use with new DDDB+SQLDDDB options

- In RichDet v11r0
  . Add to DeRichSystem mapping between L1 hardware and logical IDs
  . Added HPDCopyNumber to DeRichSystem
  . Required changes for R2 mirrors now using framework alignment conditions
    (DeRich2, DeRichSphMirror)
  . In DeRichHPDPanel:
    o Added method to retrieve the local z offset of the detection plane.
    o Removed method globalToPDPanel.
    o Fixed problem with local x/y offset.
  . Remove obsolete object locations in DeRichLocations.h

- In STDet v4r4
  . Add some info to printouts
  . Add NotBonded to enum in DeSTSector

- In VeloDet v13r3
  . Changed the names in the test for VeloAlignCond to match the final names.

- In DAQEvent v7r13
  . Added RawBank::HltLumiSummary bank type
  . Renamed HLT, HltSelCandidates, HltPrimaryVertex bank types to HltDecReports,
    HltSelReports and HltVertexReports respectively
  . Made OdinTimeDecoder issue a "RunChange" incident when the run number
    obtained from ODIN is different from the previous one.
  . Added a test for the "RunChange" incident.
  . Added a service (RunChangeHandlerSvc) to intercept "RunChange" incidents and
    replace the path of the source XML files of objects in the DetectorDataSvc
    according to new run number.
  . Pick up IEventTimeDecoder.h from GaudiKernel and remove LHCbKernel dependency
  . Move tests/src/RawEventCreator (renamed DummyRawEventCreator) and
    tests/src/ByteStreamTests to src/components
  . Remove TestRawEvent.exe (use gaudirun.py instead)
  . Update test/options/test.opts and qmtest files accordingly

- In GenEvent v5r3
  . Add GenEvent/HepMCUtils.h, previously in Gen/Generators

- In HltEvent v8r11
  . Added HltDecReports and HltSelReports, containers of Hlt decisions and
    selections respectively - keyed with string, thus cannot rely on standard
    containers.
  . Added HltObjectSummary, summaries to get restored to a standard container
  . Added HltLumiSummary class
  . See detailed description in
    talk at T-Rec on 2009-07-28

- In L0Event v17r1
  . Add methods to L0MuonError

- In VeloEvent v16r5
  . Modifications to switch on creation of dictionaries

- In STTELL1Event v1r4
  . Remove xml/STTELL1BoardError.xml (duplicate def. of STTELL1BoardErrorBank)
  . Change STELL1Error and STTELL1ErrorBank class IDs to 9012 and 9013
    respectively, to avoid duplicates
  . Add god_dictionary pattern to generate a Reflex dictionary for these classes
  . Remove xml/gdd.dtd, this file is provided automatically by GaudiObjDesc
  . Remove obsolete file Event/STProcessInfo.h
  . Check of all reserved words implemented
  . Add PCN check methods in STTELL1EventInfo
  . Add kCorruptedBank FailureMode in STTELL1Error

- In OTDAQ v7r1
  . Added bank version for simulation (SIM=63). Currently the decoding of
    SIM is the same as for real data (v3).
  . Make OTRawBankDecoder less verbose concerning empty GOL headders.

- In CaloDAQ v4r7
  . CaloZSupAlg : protect against large negative noise in 2D 0-sup method
                  (via ZsupNeighbor property)

- In CondDBUI v2r12
  . Work around for a problem with the LCG interface package for sip (affecting
    the distributed version of LCG 55a).
  . Minor fixes in CondDBUI.Management (CondDBAdmin_Commit.py).
  . Added the connection string to the opened database in the status bar of
    CondDBBrowser.py.
  . Bug-fixes in CondDBAdmin_Commit.py and PyCoolDiff to support local tags.
  . Modified CondDBAdmin_MakeSnapshot.py to accept interval of validity as UTC.
  . Allow ONLINE-YYYYMM as partition alias in CondDBBrowser.py and
    CondDBAdmin_MakeSnapshot.py.

- In LHCbAlgs v2r20
  . Adapt to new locations of IEventTimeDecoder and IGenericTool interfaces

- In LoKiCore v7r6
  . Extract the type definitions from LoKi/Knematics into separate file
    LoKi/KinTypes.h
  . Add LoKi/Tensors.h, src/Tensors.cpp, implementation of Levy-Civita symbols.
  . Add functionality to build "charge-conjugated" strings, decays, etc...

- In LoKiGenMC v7r1p1
  . Trivial fix in ForcedBDecayTool.cpp to use a Gaudi::Unit:: instead of CLHEP::

- In LoKiPhysMC v7r4
  . LoKi/DecayChain.h: remove obsolete CLHEP methods (not needed with new HepMC)

- In MDF v3r12
  . Update RawEventPrintout.cpp with latest RawBank types

- In SimComponents v2r11
  . Improve protection against crazy vertex times in PackMCVertex
  . Add DumpHepMCDecay, DumpHepMC, DumpHepMCTree algorithms, previously in
    Gen/Generators as DumpMCDecay, DumpMC, DumpHepMCTree
  . Fix ForcedBDecayTool.cpp for HepMC 2
  . Fix a doxygen warning

- In STKernel v1r7
  . Bug fix in validChannel function
  . Add sameID function to STTell1Board
  . Change printout from hex to dec in STell1Board

- In TfKernel v2r6
  . Tf::IStationSelector and Tf::XYSearchWindow exposed to python
  . TStationHitManager.h: add validity range to IStationSelector

- In TrackInterfaces v3r16
  . Unification of interfaces for FastMomentumEstimate and TrackPtKick

- In DetCondExample v11r4
  . Removed the algorithm LoadDDDB which is now in DetDescChecks.

- In DetDescChecks v4r8
  . Replace LoadDDDDB.opts by LoadDDDB.py
  . Add example option for accessing Oracle CondDB instead of SQLDDDB

- In IOExample v2r5
  . Add HepMCBack Dll to options reading HepMC 1.26 data
  . Remove IOMin.exe, use gaudirun.py instead
  . Add QMTests, to write/read a .sim, .digi, .dst file,
    and to read and write a HepMC event record

2008-07-18 LHCbSys v24r1

This version uses Gaudi v20r1 and LCG_55

- Packages modified: GaudiConf v10r11, KernelSys v8r1, LHCbKernel v8r6,
    LHCbMath v3r1, L0MuonKernel v8r0, ProcessorKernel v5r1p1, DetSys v14r0,
    CaloDet v9r0, CaloDetXmlCnv v3r2, DDDB v1r9, DetCond v12r1, DetDesc v18r7,
    Magnet v4r0, MuonDet v8r2, STDet v4r3, VeloDet v13r2, XmlTools v6r1,
    EventSys v24r6, DAQEvent v7r12, DigiEvent v2r7, L0Event v17r0,
    RecEvent v2r13, TrackEvent v4r14, STTELL1Event v1r3, DAQSys v5r0,
    MuonDAQ v4r3, OTDAQ v7r0, CondDBEntityResolver v5r1, CondDBUI v2r11,
    DaVinciKernel v7r0, DaVinciMCKernel v2r10, LoKiCore v7r5, LoKiGen v7r5,
    LoKiMC v7r5, LoKiPhys v7r6, L0Interfaces v1r2, MDF v3r11,
    SimComponents v2r10p2, STKernel v1r6, Tell1Kernel v1r5

- In GaudiConf v10r11
  . DecodeRawEvent.opts : include L0 on-Demand options from L0DU package
    (and remove L0DUReport specific line)

- In LHCbKernel v8r6
  . Protect FPEGuard for multiple definitions, i.e. add 'inline' keyword
  . Fix FPEGuard implementation for Windows

- In LHCbMath v3r1
  . Add LHCbMath/MatrixInversion.h: matrix inversion for pos-def
        symmetric matrices based on cholesky decomposition.
  . Add LHCbMath/Digit.h:
        Templated function to get the Nth decimal digit for integer type
  . Add LHCbMath/Bit.h: Function to check Nth bit of the integer type

- In L0MuonKernel v8r0
  . Encoding of L0MuonProcData part 1 without compression
  . Encoding of L0MuonCtrlCand
    o Possibility to zero-supress bank with candidates
    o By default, use the status to compute the number of candidates
  . Decoding of bank version 2 without Zero suppression, improve error management
  . Possibility to run witout M1 or M2
  . Bug fixes and improvements
  . Fix some compilation warnings

- In ProcessorKernel v5r1p1
  . Fix compilation warning (RegisterFactory.cpp)

- In CaloDet v9r0 (needs SQLDDDB v4r6)
  . Adapt to new DDDB structure  : Calo / Calo-halves / Calo_area as DetElem
    o new DeSubSubCalorimeter  detElement (CaloArea)
    o DeSubCalorimeter detElement (CaloSide was CaloArea with previous structure)
    o adapt DeCalorimeter methods (buildCells, Cell_(), ...) to the change in DE
      structure
  . Fix uninitialised m_pinArea in case of SPD

- In CaloDetXmlCnv v3r2
  . Adapt to new structure in Calo DDDDB (add src/XmlDeSubSubCalorimeterCnv.cpp)

- In DDDB v1r9 (needs SQLDDDB v4r6)
  . In DC06.py, .opts: Change default DC06 tag to DC06-20080716
                       Do not use conditions for DC06 magnetic field scaling
  . In LHCb-2008.opts: Change default 2008 tag to head-20080716

- In DetCond v12r1
  . Fixed a tiny memory leak introduced in COOLConfSvc during the deSEALing.

- In DetDesc v18r7
  . Minor fix to the computation of the molar weight for computation of dE/dx
    constants for mixtures
  . Minor changes to AlignmentConditions to be able to subclass it
  . Removed CLID for ParamValidDataObject (not used and unusable).
  . In requirements, remove dependency on LHCbKernel, not needed

- In Magnet v4r0
  . Current and polarity now read from Conditions, used to calculate scaling
    factor. Option exists to not use conditions (e.g. for DC06)
  . Clean up warnings

- In MuonDet v8r2
  . Add ODE name in number translation
  . MuonReadoutCond : add protection to avoid FPE check to signal inexact FPE

- In STDet v4r3
  . Bug fixes in dead strip handling
  . Add some information in DeSTSector printout
  . Add active fraction functions
  . Bug fix in trajectory
  . Change way interact with update service

- In VeloDet v13r2
  . Added the specialized alignment condition "VeloAlignCond", which is able to
    get X and Y offsets from another condition (namely the one containing the
    stepping motors informations).
  . The directory tests/data contains a minimal XML detector description (used
    for the test) that can be seen as an example of how to use VeloAlignCond.
  . Changed StripInfo class to store real strip conditions data from construction
    and in situ tests before data taking. Strip can be LOWGAIN, NOISY, STRIPOK,
    DEAD, OPEN, PINHOLE, SHORT where the assumption is STRIPOK is the only
    useful sort of strip

- In XmlTools v6r1
  . Fixed bug #38890: XmlParserSvc does not work with default options.

- In DAQEvent v7r12
  . Added HltSelCandidates, HltPrimaryVertex, HltRoutingBits bank types
  . Fixed the range of bits tested in OdinTypesFilter.cpp

- In DigiEvent v2r7
  . Add Tell1 strip number to STCluster class

- In L0Event v17r0
  . L0DUReport.xml : add new attribute valid() (validity of the report)
  . L0MuonError : new object to contain errors for the L0Muon
  . L0MuonInfo  : add a global status word
  . L0DUConfig.xml : add new attribute recipe() (recipe name as std::string)
  . Remove cmt/version.cmt file, breaks cmt when running with version directory!

- In RecEvent v2r13
  . Add new attributes to STSummary class

- In TrackEvent v4r14
  . Use GaudiObjDesc to generate Measurement::detectorElement

- In  STTELL1Event v1r3
  . Add source id to eventinfo
  . Changes in printout
  . Bug fix in fillErrorInfo
  . Tidy up in STTELL1BoardErrorBank
  . Bug fix in findPCN [STTELL1Error]
  . Remove cmt/version.cmt file, breaks cmt when running with version directory!

- In MuonDAQ v4r3
  . Add check that all tell1 headers are consistent ( version and source id)
  . Improve the Tell1 header decoding, statistics is printed and end of job in
    case of errors

- In OTDAQ v7r0
  . Fix tables for Hardware to Software conversion. N.B., this change breaks
    the decoding of any data encoded with OTDAQ v6r0

- In CondDBEntityResolver v5r1
  . Fixed a problem in the implementation of the IFileAccess interface.

- In CondDBUI v2r11
  . Added method CondDB.isMultiVersionFolder.
  . Removed some obsolete files:
    o cmt/dblookup.xml
    o scripts/create_SQLDDDB.py
  . Converted the python module CondDBUI.Admin to a module with sub-modules
  . Added the scripts
    o CondDBAdmin_Commit.py: takes user-provided patches and apply them to
                             official database.
    o CondDBAdmin_MakeSnapshot.py: simple script to make CondDB snapshots.
    o CondDBAdmin_Commit.py: takes user-provided patches and apply them to
                             official database.
  . Modify CondDBBrowser.py to accept on the command line the name of a CondDB
    partition and open the corresponding database (guessed from SQLDDDB options)
  . Minor improvements in other scripts

- In DaVinciKernel v7r0
  . Kernel/ISetInputParticles.h, src/Lib/ISetInputParticles.cpp:
    new interface to allow some "tool-like" usage of CombineParticle algorithm.
    the related function
  . Make IGeomDispCalcularor obsolete in DVAlgorithm, but keep it for the time
    being, reflect this in IOnOffline and IContextTool
  . Remove IParticle2VertexAsct tool.

- In DaVinciMCKernel v2r10
  . Updated IDaVinciAssociatorsWrapper.h to allow a default argument of 0 for
    the container containg particle to be associated.

- In LoKiCore v7r5
  . LoKi/shifts.h: fix the  shifting function for signed types
  . Many fixes for decay finder
  . New algorithms for "inclusive" matching

- In LoKiGen v7r5
  . Many changes for (Gen) Decay Finder

- In LoKiMC v7r5
  . Add the function LoKi::MCVertices::decayVertex to access the decay vertex
  . Many changes for (MC) Decay Finder

- In LoKiPhys v7r6
  . Many changes for Decay Finder

- In L0Interfaces v1r2
  . IL0DUFromRawTool : new virtual method roStatus() that returns the
                       RawBankReadoutStatus
  . Remove cmt/version.cmt file, breaks cmt when running with version directory!

- In MDF v3r11
  . Fix bug in ALDER 32 checksum calculation.

- In SimComponents v2r10p2
  . Fix compiler warning in mclexer.icpp

- In STKernel v1r6
  . Be more friendly for python
  . Extend ISTReadoutTool interface
  . Add dictionaries for STTell1Board and STTell1ID

- In Tell1Kernel v1r5
  . Remove cmt/version.cmt file, breaks cmt when running with version directory!

2008-07-04 LHCbSys v24r0

This version uses Gaudi v20r1 and LCG_55

- Packages added:    HltInterfaces v1r0 - Interfaces for Hlt tools
                     STTELL1Event  v1r2 - ST Raw Bank descriptions
- Packages modified: GaudiConf v10r10, GaudiObjDesc v11r2p1, KernelSys v8r0,
    LHCbKernel v8r5, LHCbMath v3r0, RichKernel v7r13, DetSys v13r0, DDDB v1r8,
    DetCond v12r0, DetDesc v18r6, DetDescCnv v4r7, DetDescSvc v2r0, Magnet v3r10,
    MuonDet v8r1, OTDet v7r9, RichDet v10r12, STDet v4r2, XmlTools v6r0,
    EventSys v24r5, DAQEvent v7r11p1, HltEvent v8r10, LinkerEvent v3r5,
    L0Event v16r11, MCEvent v2r9, RecEvent v2r13, DAQSys v4r1, MuonDAQ v4r2,
    OTDAQ v6r0p1, CaloDAQ v4r6, SiDAQ v2r1, CaloInterfaces v7r7, CaloUtils v8r1,
    CondDBEntityResolver v5r0, CondDBUI v2r10, DaVinciKernel v6r15,
    DaVinciMCKernel v2r9, LHCbAlgs v2r19, LoKi v7r1, LoKiAlgo v7r5,
    LoKiAlgoMC v7r2, LoKiCore v7r4, LoKiGen v7r4, LoKiMC v7r4,
    LoKiNumbers v7r3p1, LoKiPhys v7r5, LoKiPhysMC v7r3, L0Interfaces v1r1p1,
    MDF v3r10, RichRecBase v3r15, SimComponents v2r10p1, STKernel v1r5,
    Tell1Kernel v1r4, DetDescChecks v4r7, DetCondExample v11r3

- In GaudiConf v10r10
  . In Configuration.py:
    o Add support for SIMCOND
    o Initialize TES (replaces similar options in LHCbApplication.opts)
    o Do not evaluate $FIELDMAP environment variable, must be done at runtime
      to work on the grid

- In GaudiObjDesc v11r2p1
  . Add dependency on GaudiPolicy to allow running of QMTest macros

- In LHCbKernel v8r5
  . Moved IHltSummaryTool to HltInterfaces
  . Add TTNames.xml, ITNames.xml [turn STChannelID into readable names,
    provide some enums for parts of the detector]
  . Make STChannelID constructor from int explicit
  . Clean up some implicit conversions in LHCbID class
  . Add FPEGuard: Allows to enable/disable trapping of floating point exceptions

- In LHCbMath v3r0
  . Add default c'tor of MD5 which is required if you want a vector in
    a dictionary...
  . In Line.h, LineTypes.h: Change namespace from Gaudi:: to Gaudi::Math::
  . Add Python dictionaries
  . Add python/LHCbMath.py: Module to ease use of Lines & GeomFun free functions

- In RichKernel v7r13
  . Update RichSmartIDCnv for RICH1
  . Extend the L0Header words to allow full decoding of the information
    contained in the various bits.

- In DDDB v1r8
  . In DDDB.py, LHCb-2008.py: add support for SIMCOND
  . In LHCb-2008.py: get fieldMap options from $MAGNETROOT/options/UserRealMap.py
                     change default tag to head-20080702 (from SQLDDDB v4r5)
  . In DC06.py, LHCb-2008.py: Do not expand environment variables in options
  . The name of the component to be passed to XmlParserSvc.EntityResolver has
    changed from CondDBEntityResolverSvc to CondDBEntityResolver.

- In DetCond v12r0
  . Introduced a work-around for COOL bug #38422, which was preventing the usage
    of local tags as overlays.
  . Introduced the ICondDBReader implementation CondDBTimeSwitch.
    o it allows to use different partitions for different IOVs
    o added a simple test for it (using a test algorithm added to the package:
      DetCondTest::TestConditionAlg).
  . Improved direct mapping between the COOL hierarchy and transient store one:
    o direct mapping enabled by default (can be turned off via options to improve
      the performances of CondDBLayeringSvc and CondDBDispatcherSvc)
    o correct mapping in CondDBDispatcherSvc and CondDBLayeringSvc:
      - CondDBDispatcherSvc: add entries implied by alternatives
      - CondDBLayeringSvc: expose all the possible entries
    o modified ICondDBReader (needed for a generic implementation of the mapping)
    o added tests for foreseen use-cases
    o the code to generate the XML catalog has been moved to a separate file to
      be shared among the implementations of ICondDBReader
  . Added dictionaries for few CORAL interfaces that are not available through
    COOL.
  . Fixed a bug in the direct mapping between the hierarchy of the COOL
    database and the transient store one.
  . Adapted to the new SEAL-less COOL and CORAL. Needs LCG_55 (Gaudi v20r0)

- In DetDesc v18r6
  . Fix division by zero errors in Solidbase.h
  . Remove some multiple return statements in SolidBase.h (prevents inlining).

- In DetDescCnv v4r7
  . Modified the XmlGenericCnv to allow generic URLs in the href attributes
    (like "http://" etc.).

- In DetDescSvc v2r0
  . Adapt to new state machine in Gaudi v20

- In Magnet v3r10
  . Fix compilation warning
  . Add options/RealMap.py (options to use measured field map)

- In MuonDet v8r1
  . Fix for Tell1 firmware limitation when >1 TsMap in ODE
  . Fix for zero division

- In OTDet v7r9
  . Change all Gaudi::XYZLine for Gaudi::Math::XYZLine

- In RichDet v10r12
  . Added method to retrieve the local z offset of the detection plane.
  . Removed method globalToPDPanel.
  . fixed problem with local x/y offset.
  . Remove obsolete object locations in DeRichLocations.h

- In STDet v4r2
  . Add nickname to detector elements

- In XmlTools v6r0
  . Renamed the IXmlEntityResolverSvc to IXmlEntityResolver.
    The code now requires that it is implemented by a tool and not a service.

- In DAQEvent v7r11p1, v7r11
  . Fixed the reference file for the test daqevent.basictest.
  . Add 'L0DUError' in RawBank types enum
  . Add 'ErrorBank' in RawBankReadoutStatus type

- In HltEvent v8r10
  . HltSelectionSummary : make it very simple: a string, a bool, the candidates.
  . Removed all Hlt2 enums

- In LinkerEvent v3r5
  . Add a missing apply_pattern

- In L0Event v16r11
  . Add a dummy cmt/version.cmt file to make cmt happy when running without
    version directory (otherwise it thinks the version is 'L0Event')
  . L0DUReport.xml: fix clear() method (clearing tck/configuration was missing)

- In MCEvent v2r9
  . Bug fix in MCTrackGeomCriteria (hasTT, accTT functions were wrong)

- In RecEvent v2r13
  . Add default locations for CaloCluster and CaloHypo within HLT processing

- In MuonDAQ v4r2
  . Add Tell1 header decoding

- In OTDAQ v6r0p1
  . Fixed an uninitialized variable

- In CaloDAQ v4r6
  . CaloZSupAlg : allow 2D suppression over calo area (as now 0-sup is software)
  . Check whether ErrorBank is present or not in CaloReadoutTool
    (RawBankReadoutStatus updated accordingly)

- In SiDAQ v2r1
  . Bug fix in SiHeaderWord decoding

- In CaloInterfaces v7r7
  . Add virtual kernel() in ICaloCosmicsTool interface

- In CaloUtils v8r1
  . Calo2Track.h : add default locations for PID object within Hlt processing
  . CaloTrackAlg : select tracks with fit status =  Track::FitStatusUnknown
                   in Hlt context
  . Change Gaudi::Line for Gaudi::Math::Line
  . Threshold and offset as double in Calo2DView

- In CondDBEntityResolver v5r0
  . Modified the CondDBEntityResolver to be a tool instead of a service and
    extended it to implement the IFileAccess interface.

- In CondDBUI v2r10
  . Adapted to work with the new SEAL-less COOL and CORAL too.
    (Only for the LFCReplicaService)

- In DaVinciKernel v6r15
  . In Kernel/IPVReFitter.h
    o Make all methods const.
    o Make first argument of IPVReFitter::remove a const LHCb::Particle*

- In DaVinciMCKernel v2r9
  . Added interface for new DaVinci Associators wrapper tool,
    IDaVinciAssociatorsWrapper.h

- In LHCbAlgs v2r19
  . Many improvements to FPEAuditor

- In LoKi v7r1
  . Remove duplicated documentation for namespaces, fixes many Doxygen Warnings.

- In LoKiAlgo v7r5
  . From now, the macro LOKI_ALGORITHM put the algorithm into LoKi namespace
    Therefore the algorithm LOKI_ALGORITHM( AAA ) appears as C++ type: LoKi::AAA
  . In LoKi/TupleDicts.h, src/TupleDicts.h, python/LoKiAlgo/fArrayP.py
    Provide way to fill variable-size array for N-tuples in python

- In LoKiAlgoMC v7r2
  . From now LOKI_MCALGORITHM puts the algorithm into namespace LoKi

- In LoKiCore v7r4
  . Change the default name for reporter from "LoKiSvc.ERROR" to "LoKiSvc.REPORT"
  . Add new classes, needed for implementation of various decay-finders
    in particular "nodes" (small functors, which act on LHCb::ParticleID objects)
    and the interface for "trees" (the functors which act on decay trees)
  . Fix many Doxygen warnings

- In LoKiGen v7r4
  . In LoKi/CmtBarCode.h
    o new utility LoKi::GenParticles::CmpBarCode
      to compare HepMC::GenParticle by barcode
    o new typedef for the std::set of particles using CmtBarCode
      as the ordering criteria
  . In LoKi/GenDecays.h, src/LoKiGenDecays.cpp
    . Implementation of HepMC-trees (functors which acts on the decay
      structure), needed for new (HepMC)DecayFinder

- In LoKiMC v7r4
  . Implement the MC-trees (functors which acts on the decay structure),
    needed for implementation of new (MC)DecayFinders
  . Fix many Doxygen warnings

- In LoKiNumbers v7r3p1
  . In dict/LoKiNumbers.xml: fix a warning from Reflex

- In LoKiPhys v7r5
  . In LoKi::*::*Sources:  suppress warning messages for the used DVAlgorithms,
    use "alg->debug()" instead
  . add new function LoKi::Vertices::VertexChi2PerDoF for evaluation of chi2/nDoF
    C++ symbol VCHI2PDOF and python symbol VCHI2PDOF are introuded
  . LoKi/Decays.h, src/Decays.h
    Implementation of "trees" (functors which acts on the decay structure),
    needed for new implementation of DecayFinders

- In LoKiPhysMC v7r3
  . Update the components

- In L0Interfaces v1r1p1
  . Add a cmt/version.cmt file to make cmt happy when running without
    version directory (otherwise it thinks the version is 'L0Interfaces')

- In MDF v3r10
  . Improve printout of corrupted records for MEP data.

- In RichRecBase v3r15
  . Add some new methods to RichRecRing (for trackless ring studies)
  . Add protection in the pixel creator base class against invalid HPD IDs.

- In SimComponents v2r10p1
  . Fixed doxygen for MCDecayFinder

- In STKernel v1r5
  . Merge STTELL1Constants.h with STDAQDefinitions.h
  . Move STRawBankMap code here from STOnline and STDAQ

- In Tell1Kernel v1r4
  . Add a cmt/version.cmt file to make cmt happy when running without
    version directory (otherwise it thinks the version is 'Tell1Kernel')
  . Include second order header corrections

- In DetDescChecks v4r7
  . In requirements, do not build .exe application (can use gaudirun.py) and
    removed obsolete PYTHONPATH directives
  . In VolumeCheck.py, replace initialization to use importOptions, for ease of
    maintenance
  . Added a QMTest-based test for LoadDDDB.

- In DetCondExample v11r3
  . Removed dependency on SEAL

2008-06-04 LHCbSys v23r7

This version uses Gaudi v19r9 and LCG_54e.

- Packages modified: GaudiConf v10r9, KernelSys v7r5, LHCbMath v2r8,
    RichKernel v7r12, DetSys v12r1, DDDB v1r7, CaloDet v8r7, DetDesc v18r5,
    DetDescCnv v4r6, DetDescSvc v1r17, Magnet v3r9, MuonDet v8r0p1, OTDet v7r8,
    EventSys v23r4, L0Event v16r10, TrackEvent v4r13, DAQSys v4r0, CaloDAQ v4r5,
    MuonDAQ v4r1, OTDAQ v6r0, STDet v4r1, VeloDet v13r1, CaloInterfaces v7r6,
    CaloUtils v8r0p1, CondDBEntityResolver v4r1p1, DaVinciKernel v6r14,
    DaVinciMCKernel v2r8, LHCbAlgs v2r18, LoKiAlgo v7r4p1, LoKiAlgoMC v7r1p1,
    LoKiArrayFunctors v7r4, LoKiCore v7r3, LoKiGenMC v7r1, LoKiPhys v7r4,
    LoKiPhysMC v7r2, MDF v3r9, RichRecBase v3r14, SimComponents v2rr10,
    TfKernel v2r5, TrackInterfaces v3r15, TsaKernel v3r3

- In GaudiConf v10r9
  . Add MDFCopy.opts: example options for copying an MDF (raw data) file
  . Add FPEAudit.opts: example options for Floating Point Exception auditor
  . Add "FPE" as possible LHCbApp().monitor, includes FPAudit.opts
  . Improved handling of CondDBtag and DDDBtag in LHCbApp configurable. Now,
    if the string contains "default" and one of "DC06" or "2008", the tags are
    taken from the corresponding DDDB/options defaults. Otherwise the tag is
    used as given.

- In LHCbMath v2r8
  . Avoid a comparision of == of doubles in round function
  . Add MD5.h src/MD5.cpp: class to compute an MD5 digest of strings, or objects
    which can be streamed into strings

- In RichKernel v7r21
  . Minor change to decoded data structures, to allow storage of
    inhibited HPDs (unknown RichSmartID).

- In DDDB v1r7
  . In LHCb-2008.py to change default tags to head-20080603.
    Requires SQLDDDB >= v4r4

- In CaloDet v8r7
  . Allow Readout channel re-mapping in FEB (mapping table from condDB >= v4r4)

- In DetDesc v18r5
  . Add computation of mean excitation energy and density effect correction
    parameters to elements and materials
  . Clean up some == comparisions with doubles

- In DetDescCnv v4r6
  . Add read in for mean excitation potential

- In DetDescSvc v1r17
  . Added '-' and ':' to the list of allowed characters that the ConditionParser
    of the UpdateManagerSvc allows in the name of a condition (option
    UpdateManagerSvc.ConditionsOverride).

- In Magnet v3r9
  . Moved analytical parameterization files to FieldMap/cdf (from FieldMap v5r1)

- In VeloDet v13r1
  . Made DeVeloPhiType::phiOfStrip() public

- In L0Event v16r10
  . new object description : L0DUTrigger.xml  for  "sub-trigger"
    (i.e. 'OR' of several channels)
  . change few method names to avoid confusion :
    "PreDecision" = decision not including downscaling
                    (was previously tagged as "Trigger")
    "Decision" == decision including downscaling
  . adapt L0DUConfig/L0DUReport
  . fix uninitialised data member in L0DUReport
  . fix bug concerning the creation of compound data with operator "-" in
    xml/L0DUElementaryData.xml
  . fix bug in L0DUConfig::clearDataValue() [DO NOT reset the constant data]

- In TrackEvent v4r13
  . Add flags and enum values for Calo cosmics reconstruction

- In CaloDAQ v4r5
  . reduce WARNING verbosity in CaloReadoutTool
  . fix Missing banks summary in ReadoutStatus setting (CaloReadoutTool.cpp)

- In MuonDAQ v4r1, OTDAQ v6r0, TfKernel v2r5
  . Move cleaning of internal buffers from EndEvent to BeginEvent

- In OTDAQ v6r0, OTDet v7r8, STDet v4r1
  . Removed float variables, changed them into double

- In OTDAQ v6r0, v5r7
  . Added interface IOTRawBankEncoder and tool OTRawRawBankEncoder
    o Encodes channel ids and puts them in the RawBuffer
    o Used to encode MCOTTimes and can be used to encode OTTime
  . Modified RawHit: Added constructor for word channel and time
  . Make RawBankDecoder suitable for reading real data
  . Check for duplicate hits in OTTimeCreator
  . Made decoder tool private in OTTimeCreator
  . Made raw bank location property of rawbankdecoder
  . Changed errors into warnings in rawbankdecoder
  . Added access to L0 event id in OTSpecific header
  . Fixed bug in decoding of hits in short modules
  . Added access function to list of raw hits
  . Added data structures for decoded raw event
  . Added interface to decoded raw event in OTRawBankDecoder

- In CaloInterfaces v7r6
  . Add new interfaces for cosmics reconstruction tool:
    ICaloCosmicsTool, ICaloCosmicsTrackTool

- In CaloUtils v8r0p1
  . Minor change in Calo2Dview (debug printout)

- In CondDBEntityResolver v4r1p1, LoKiCore v7r3
  . Fix trivial compilation warning

- In DaVinciKernel v6r14
  . Add the file GetDecay.cpp, adds methods lost in move of Decay to LHCbKernel

- In DaVinciKernel v6r14, DaVinciMCKernel v2r8
  . New version on IP2VV interfaces adding methods for the transversity basis.

- In LHCbAlgs v2r18
  . Add FPEAuditor, which can configure the FPU to trap a specified set of
    Floating Point Exceptions, and generate a SIGFPE (which leads to Gaudi
    providing a traceback and aborting the job)

- In LoKiAlgo v7r4p1, LoKiAlgoMC v7r1p1, LoKiCore v7r3
  . Add hack to suppress _POSIX_C_SOURCE redefinition warning

- In LoKiArrayFunctors v7r4
  . src/Components/TupleTool.cpp
     a) fix a stupid error/typo for "initialize"
     b) use the conventions proposed by Vava for the column name: "head+'_'+name"

- In LoKiCore v7r3
  . In Primitives.h: fix typo (bug) in a constructor

- In LoKiGenMC v7r1, LoKiPhysMC v7r2
  . Change the handled incidents from EndEvent to BeginEvent

- In LoKiPhys v7r4
  . New files LoKi/Legacy1.h, src/Legacy1.cpp, to add legacy function for
    incorrect DC04 evaluation of "vertex separation significance", needed
    for detailed comparison with DC04 selections.

- In MDF v3r9
  . Improve error printouts in the event the raw bank structure is corrupted.
    Add printout of last known good bank.

- In RichRecBase v3r14
  . Adapt to changes in RICH decoded data format

- In SimComponents v2r10
  . Protect division by zero in MCReconstructible
  . Protect underflow in PackMCVertex and CompareMCVertex, due to crazy
    vertex times in DC06 simulation

- In TfKernel v2r5, TsaKernel v3r3
  . Fix for float/double conversion issues in the rest of the tracking.

- In TrackInterfaces v3r15
  . Add IFunctionTool.h and ITrackMatch.h, previously in HltBase
  . In IFunctionTool.h rename IVertexFunctionTool to IRecVertexFunctionTool
  . Extended interface of ITrackVertexer

- In TsaKernel v3r3
  . Fix dictionary selection file

- In MuonDAQ v4r1, MuonDet v8r0p1
  . Fix untested StatusCode

- In DaVinciKernel v6r14, DaVinciMCKernel v2r8, DetDesc v18r5, DetDescSvc v1r17,
     LHCbMath v2r8, LoKiAlgoMC v7r1p1, LoKiArrayFunctors v7r4, LoKiCore v7r3,
     LoKiGenMC v7r1, LoKiPhysMC v7r2, MDF v3r9, RichKernel v7r12,
     RichRecBase v3r14, STDet v4r1
  . Fix doxygen warnings

2008-05-19 LHCbSys v23r6

This version uses Gaudi v19r9 and LCG_54e.

- Packages modified: GaudiConf v10r8, KernelSys v7r4, LHCbKernel v8r4,
    LHCbMath v2r7p1, DetSys v12r0, DDDB v1r6, DetCond v11r11, Magnet v3r8,
    STDet v4r0, EventSys v24r3, DigiEvent v2r6, HltEvent v8r9, RecEvent v2r12,
    VeloEvent v16r4, DAQSys v3r9p1, CaloDAQ v4r4p1, MuonDAQ v4r0p1,
    CaloUtils v8r8, DaVinciKernel v6r13, LHCbAlgs v2r17, LoKiAlgo v7r4,
    LoKiAlgoMC v7r1,  LoKiArrayFunctors v7r3, LoKiGen v7r3, LoKiMC v7r3,
    LoKiPhys v7r3, LoKiPhysMC v7r1, MDF v3r8, RichRecBase v3r13,  STKernel v1r4,
    Tell1Kernel v1r3, TrackInterfaces v3r14

- In GaudiConf v10r8
  . RawData.opts: remove redundant (obsolete) options
  . Add "monitors" property to LHCbApp configurable. When set to ["SC"] performs
    StatusCode check
  . Add possibility to use 2008 default geometry and magnetic field in LHCbApp
    configurable

- In LHCbKernel v8r4
  . Add 'numberOfPieces' and 'print' to PiecewiseTrajectory
  . Add Kernel/Decay.h, src/Decay.cpp, moved from DaVinciKernel, to represent
    one-step decay

- In DDDB v1r6
  . Change default DC06 tag (in DC06.opts, DC06.py) to DC06-20080516, for use
    with STDet v4r0. Requires SQLDDDB >= v4r3
  . Add LHCb-2008.py to describe default tags for real 2008 detector. Current
    default tag is head-20080516. Requires SQLDDDB >= v4r3

- In DetCond v11r11
  . Added the possibility of direct mapping between the hierarchy of the COOL
    database and the transient store one. Disabled by default, but needed to use
    the Online partition of the condition database.

- In Magnet v3r8
  . Add capability to use measured field map in MagneticFieldSvc (available in
    FieldMap v5r0). Default is still DC06 field map

- In STDet v4r0
  . Major changes to add new level (DeSTSensor and derived classes)
    Interface and functionality of DeSTSector has changed.
    o See talk in ST software meeting 13/03/08
    o Requires SQLDDDB >= v4r3
  . Avoid double counting bondgap

- In DigiEvent v2r6
  . Add source id to STCluster class

- In HltEvent v8r9
  . In HltSummary, replace the integer ID with a string ID which better matches
    the vast majority of its use

- In RecEvent v2r12
  . Add new attributes to STSummary class

- In VeloEvent v16r4
  . New functionality added for VeloTELL1Data, allow to:
    1) set up reordering flag when the data are reordered - strip ordering
       this allows to propagate the information about reordering to other
       algorithms - needed when order of the processing changes
    2) it is no longer possible to access data by alinks after the
       reordering (the notion of alink has no sense once the ordering
       has been performed)
    3) access to data after the reordering can be done sequentially by
       using data() method or randomly by using stripADC(int strip) method
  . new location for added for data processed by MCMS algorithm

- In CaloDAQ v4r4p1
  . In CaloBankHandler.opts, remove some whitespace causing problems to Python

- In MuonDAQ v4r0p1
  . Remove two obsolete lines causing a crash on Windows

- In CaloUtils v8r0
  . Removed Calo2Calo, CaloElectron, Part2Calo, Track2Calo2 components, moved
    to new CaloTools package
  . _setProperty() method restored in CaloTrackAlg and CaloTrackTool
    (check StatusCode)

- In DaVinciKernel v6r13
  . Move DaVinci::Decay into LHCbKernel package (and rename it to LHCb::Decay)
  . IPhysDesktop: remove save() method
  . ProtoParticleFilterBase.cpp : reduce verbosity

- In LHCbAlgs v2r17
  . Add rate prescaling based on run#, event#, gpsTime and algorithm instance
    name to DeterministicPrescaler
  . Add some comments to FilterByRunEvent pointing out that event# is NOT a
    32 bit number -- fixing this properly requires adding a new property type.

- In LoKiAlgo v7r2p1, v7r3, v7r4
  . Follow change of DaVinci::Decay into LHCb::Decay
  . In LoKi/ExtCalls.h: fix the missing "__rshift__"
  . Follow change in IPhysDesktop interface

- In LoKiAlgo v7r4, LoKiArrayFunctors v7r3, LoKiPhys v7r3
  . Remove all occurences of IGeomDispCalculator and substitute them with
    IDistanceCalculator

- In LoKiAlgoMC v7r1
  . Resurrect old (DC04) algorithm LoKi::DecayTruth for the study of MC-truth
    for the selected particles
  . Add the component library

- In LoKiGen v7r3
  . LoKi/GenSections.h, src/GenSections.cpp
    new files with functions which produce "sections" for the decay trees.
  . In GenChild: Add "daughters" to the list of the available functions

- In LoKiMC v7r3
  . LoKi/MCSections.h, src/MCSections.cpp:
    Add functions to produce "sections" for the decay trees
  . in MCChild:    Add "daughters"

- In LoKiPhys v7r3
  . LoKi/Sections.h, src/Sections.cpp: Add "sections" for the decay trees
  . fix a stupid bug with ISLONG/ISDOWN/IS functors

- In LoKiPhysMC v7r1
  . DechayChain: various minor changes to improve printout, in particular
                 now all colors work nicely
   . New algorithm LoKi::DumpMC for detailed printout of MC information
   . New algorithm LoKi::DumpHepMC for detailed printout of  HepMC information

- In MDF v3r7, v3r8
  . Fix a duplicated function definition
  . Fix initialization of MEPWriter, which got broken in v3r6.Used for tests only
  . Fix bug when reading MEP events from MBM.

- In RichRecBase v3r13
  . Adapt to remove of some obsolete RichDet locations
  . Add a new method to the IRichSellmeirFunc interface
  . Usability improvements to IStereoFitter tool interface + add dict entries
    for the interface
  . Add new tool interface IRichPIDPlots.h which is used to make 'standard' PID
    plots for calibration etc.
  . Add a new interface from isolated track tools
  . Add some additional debug printout to track selector base class
  . Add configuration option to stereographic fitter allow the user to decide
    if the segment and fitted photons are updated or not following the fit.

- In STKernel v1r4
  . Add invalid pcn constant
  . Modifications to Tell1Board:
    o Cleanup [orientation data member was public]
    o Improve mapping printout
    o Add validChannel function
    o Give access to list of sectors on a Tell1 board

- In Tell1Kernel v1r3
  . Add stuff that helps to run Vetra (Velo part) with condition DB

- In TrackInterfaces v3r14
  . Added IHltV0Upgrade.h
	. Added IMatchTool.h: Interface for new tool implementation of PatMatch
	. Added IPtTransporter.h: Interface for tool which transports pt to the origin
  . Update of ITrackCloneFinder.h for speed
  . Updated IPatSeedingTool to match changes in Tf/PatAlgorithms

- In LHCbMath v2r7p1, LoKiAlgo v7r2p1, LoKiAlgoMC v7r1, LoKiGen v7r3,
     LoKiMC v7r3, LoKiPhysMC v7r1, MDF v3r7
  . Fix some doxygen comments

2008-04-22 LHCbSys v23r5

This version uses Gaudi v19r9 and LCG_54e.

- Packages added:    BcmDet v1r1 - BCM detector element
- Packages modified: GaudiConf v10r7, KernelSys v7r3, LHCbKernel v8r3,
    LHCbMath v2r7, L0MuonKernel v7r4, RichKernel v7r12, DetSys v11r4,
    CaloDet v8r6, DDDB v1r5, DetCond v11r10, DetDesc v18r4p1, MuonDet v8r0,
    RichDet v10r11, VeloDet v12r5, XmlTools v5r2, EventSys v24r2, DAQEvent v7r10,
    DigiEvent v2r5, HltEvent v8r8, LinkerEvent v3r4, L0Event v16r9, MCEvent v2r8,
    RecEvent v2r11, TrackEvent v4r12, DAQSys v3r9, CaloDAQ v4r4, MuonDAQ v4r0,
    CaloInterfaces v7r5, CaloUtils v7r9, CondDbEntityResolver v4r1,
    CondDBUI v2r9, DaVinciKernel v6r12, DaVinciMCKernel v2r7, LHCbAlgs v2r16,
    LoKiAlgo v7r2, LoKiArrayFunctors v7r2, LoKiCore v7r2, LoKiGen v7r2,
    LoKiMC v7r2, LoKiNumbers v7r3, LoKiPhys v7r2, L0Interfaces v1r1,
    MCInterfaces v1r5, MDF v3r6, PatKernel v2r1, RichRecBase v3r12,
    SimComponents v2r9, STKernel v1r3, Tell1Kernel v1r2, TfKernel v2r4,
    TrackInterfaces v3r13, TsaKernel v3r2, DetDescChecks v4r6

- In GaudiConf v10r7
  . Add LHCbApp configurable with default options for LHCb applications

- In LHCbKernel v8r3
  . Updates to PiecewiseTrajectory
  . In LbAppInit.cpp, create CondDBCnvSvc if not existing
  . In xml/ParticleID.xml: Add non-equality and comparison (ordering) operators

- In LHCbMath v2r7
  . LHCbMath/MatrixTransforms.h
    Added many new operators into namespace Gaudi::Math::Operators
  . Fix a bug in Gaudi::Math::closestPointParam function
  . In LHCbMath.h:
    o Change namespace from LHCbMath to LHCb::Math
    o Add floating point comparison constructs previously in LoKi::StdMath
  . In requirements: Clean up link options for MathCore

- In L0MuonKernel v7r3, v7r4
  . Upgrade in the decoding of the transparent mode 'a la RICH'
  . Upgrade decoding of transparent mode with ProcRawCnv and CtrlRawCnv
    o decodes the format used at the pit during the commissioning
    o allow error handling
  . Fix bug in decoding PU muon candidate charge in ProcRawCnv

- In RichKernel v7r11p1
  . Add doxygen documentation for Rich::Mon namspace (online monitoring)
  . add missing STL includes
  . Fix a few doxygen comments

- In CaloDet v8r6
  . Fix led numbering in case of special LED/PIN/CHANNEL Layout

- In DDDB v1r5
  . Change default DC06 tag (in DC06.opts, DC06.py) to DC06-20080407, for use
    with new Muon and Velo detector elements. Requires SQLDDDB >= v4r2

- In DetCond v11r10
  . Modified default idle connection time-out in CondDBAccessSvc from 600s to
    120s.

- In DetDesc v18r4p1
  . Bug fix in AlignmentCondition.cpp
    m_matrixInv was set to m_matrix in the method offNominalMatrix which
    meant that both were actually set to newMatrix.Inverse(), while
    m_matrixInv should be set to newMatrix.
  . Bug fix in GlobalToLocalDelta.cpp
    localDeltaFromAnyFrameDelta(...IDetectorElement...) was calling
    localDeltaFromAnyFrame(...IGeometryInfo...) instead of
    localDeltaFromAnyFrameDelta(...IGeometryInfo...)

- In MuonDet v8r0
  . Add a new helper class which stores the information to decode the raw
    buffer produced by the Tell1 (MuonDAQHelpers)
  . Modify the Xml specific converters and the MuonBoards classes to add
    new information stored in conddb - requires SQLDDDB >= v4r2

- In RichDet v10r11
  . Changes in DeRichHPD and Panel to cope with the new multiple HPD logical
    volumes.
  . Remove use of floor function in DeRichHPDPanel::findHPDColAndPos
    (surprisingly slow)

- In VeloDet v13r0
  . Changed stored condition from strip capacitance to strip noise in
    DeVeloSensor. Requires SQLDDDB >= v4r2
  . Removed nan returns when asking for phi offset at radius inside inner radius
    for phi strips.
  . In DeVeloPhiType: moved phiOffset, phiOfStrip to private; removed trgPhiOfStr
  . Changed coordinate cache from float double.  This fixes some float/double
    conversion issues in the VELO tracking.  Memory is increased by 500 kB.

- In DAQEvent v7r10
  . Add TestDet bank type, for DAQ tests
  . RawBankReadoutStatusMonitoring : minor change in 2d histo binning
  . Add RawBankSizeMonitor: produces 2d histo bankSize.vs.sourceID
  . RawBankSizeMonitor : produce profile1D histogram by default
  . Added the TAEWindow property (timeAlignmentEventWindow) to the ODIN class.
    Available since version 4 of ODIN bank.

- In XmlTools v5r2
  . Modified XmlParserSvc to load DetDescSvc when needed, not at initialization
    (to avoid circular dependencies between services during initialization).

- DigiEvent v2r5, STKernel v1r3
  . Adapt to new LHCb::Math namespace

- In HltEvent v8r8
  . Rename enum HltSelectionSummary to avoid conflicts in Python dictionaries

- In LinkerEvent v3r4
  . Fixed in LinkedFrom the test to not test the classID if the first template
    argument is 'ContainedObject'
  . New LinkedFromKey class to access LinkedFrom with only two templates, the
    TARGET and the KEY type, the SOURCE being defaulted to ContainedObject
  . New header file 'LocalLinkerTool' that is like a LinkerTool, but doesn't
    store the relation on TES. The links have to be created before being used.
  . New header file "LocalLinker" to make a local linker table not on TES.

- In L0Event v16r9
  . Change L0DUCounter::Scale from 100 to 1000 (adapt to firmware change)
  . L0DUConfig.xml/L0DUChannel.xml/L0DUElementaryConditions.xml :
    + change few method names to avoid confusion with actual decision from raw
      e.g.  'decision()' -> 'emulatedDecision()'; 'value()' -> 'emulatedValue()';
            'fired()' -> 'emulatedTrigger()'
    + L0DUReport 'fired' -> 'triggered'
  . add few new methods in L0DUChannel and L0DUConfig
    + getter method for emulatedDecision (incl downscaling) and emulatedTrigger
      (w/o dowscaling)
    + isDownscaled() method returning emulatedDecision() == emulatedTrigger()
  . L0DUConfig.xml : in(de)crementCounters() method to allow to replay the same
                     event with same downscaling counters
  . Add == operator to the L0MuonCandidate class
  . fix minor bug in L0CaloCandidate::fillStream() (CaloType/Fiber confusion)

- In MCEvent v2r8
  . Remove MCEffTree, MCEffParticle, now private includes in Rec/RecCheckers

- In RecEvent v2r11
  . Add tdc info in MuonCoord class

- In TrackEvent v4r12
  . Fixed bug in State::posMomCovariance

- In CaloDAQ v4r4
  . Fix small problem with decoding of incomplete Prs Front-End board
  . Reduce verbosity in decoding tools

- In MuonDAQ v4r0
  . Remove all cabling readout info. Now retrieved by the DeMuonDetector
  . Add the possibility to decode and encode both DC06 data format and real data
     format (named v1)
  . Several new methods for getting the raw data are available.
  . Add Non Zero Suppressed decoding

- In CaloInterfaces v7r5
  . Add new interface ICaloClusterization

- In CaloUtils v7r9
  . Minor fixes to Calo2DView

- In CondDbEntityResolver v4r1
  . Moved the loading of DetDescSvc and CondDBCnvSvc from initialization to
    dedicated functions (to avoid circular dependencies between services during
    initialization)

- In CondDBUI v2r9
  . Preliminary support for dump of the DB image to files based option files.
  . Fix for usage of channel IDs (to/from DB).

- In DaVinciKernel v6r12
  . Modify a bit IDecodeSimpleDecayString interface to be able to get the
    decay descriptor in a form of DaVinci::Decay
  . New class DaVinci::Decay, which is able to represent the simple 1-step decay
  . ParticlesFilterBase : no DECLARE_TOOL_FACTORY in linker library
  . IPrintDecay: New abstract interface for printout of decay tree
  . Less verbose initialisation of DVAlgorithm
  . Add new interface IDistanceCalculator
  . Add (implemented) template method to allow filling the plots for an
    arbitrary sequence of objects, convertible to "const LHCb::Particle*"
  . In DVAlgorithm:
    o add an accessor to IDistanceCalculator tools
    o add new property "DistanceCalculator" with mapping of nickname to the
      actual type/name for distance calculator tools.
    o update the possible mapping for following properties: "VertexFitters",
      "ParticleCombiners", "ParticleReFitters", "MassFitters", "LifetimeFitters",
      "DirectionFitters"
  . Add public virtual method to IParticleTransporter interface:
        StatusCode transportAndProject(const LHCb::Particle*, const double znew,
                                       LHCb::Particle& transParticle) = 0;
  . IPhysDesktop: save() methods renamed to keep().

- In DaVinciMCKernel v2r7
  . Minor (compatible!) modification of IPrintDecayTreeTool interface
  . Remove DECLARE_TOOL_FACTORY in FilterMCCriterionBase

- In LHCbAlgs v2r16
  . Give meaningful names to MemoryTool histograms and don't print histogram
    statistics by default

- In LoKiAlgo v7r2
  . Add possibility to define the loop in term of "decays"

- In LoKiArrayFunctors v7r2
  . New tools: LoKi::Hybrid::PlotTool, PrintTool, TupleTool
  . New default list of modules to be loaded
  . In LoKiArrayFunctors/functions.py, add AALL, ANONE, ATRUE, AFALSE instances
  . Add new functors DeltaMass and AbsDeltaMass
  . In LoKiArrayFunctors/functions.h
    o add the symbols DAMASS & ADAMASS
    o add the function PDGM, which could be used to get the PDG mass for the
      given particle name, particle pid or given (gen/mc)-particle

- In LoKiCore v7r2
  . Reporter.cpp: fix unchecked StatusCode
  . python/LoKiCore/functions.py:
    + add alias "debug" for creation of monitored functors
    + fix a type in the iteration method for SmartRefVectors
  . Remove LoKi/StdMath.h and LoKi/EqualTo.h.
    Functionality moved to LHCbMath/LHCbMath.h, in LHCb::Math namespace.
  . Add random number service into Services
  . Implement the proper interface dispatches for LoKi-service. SmartIF<...>
    now allows to extract many other interfaces from LoKi::ILoKiSvc
  . Add "HugeChi2"and "HugeDistance" into LoKi/Constants.h
  . Add LoKi/Random.h and src/Random.cpp files. New "random" functors:
      LoKi::Random::Numbers, LoKi::Random::Uniform, LoKi::Random::Gaussian,
      LoKi::Random::Rand
  . src/ParticleProperties.cpp: fix a stupid bug with antiParticles

- In LoKiNumbers v7r3
  . Introduce symbol for "random" cuts

- In LoKiPhys v7r2
  . Add new context functors
  . Add new functor LoKi::Particles::TrackChi2Prob, which evaluates the
    chi2-probability of the track fit using GSL routine
  . Add the symbol TRPCHI2 for LoKi::Particles::TrackChi2Prob instance

- In LoKiCore v7r2, LoKiGen v7r2, LoKiMC v7r2, LoKiNumbers v7r3, LoKiPhys v7r2
  . Add __rshift__ streamer operators for the functors

- In LoKiCore v7r2, LoKiGen v7r2, LoKiMC v7r2, LoKiPhys v7r2
  . Improved printout of boolean constants

- In L0Interfaces v1r1
  . IL0DUEmulatorTool : change method name : 'report()' -> emulatedReport()
    to avoid confusion with actual L0DUReport from Raw

- In MCInterfaces v1r5
  . Add IMCReconstructed interface
  . Add new methods to MCTruth tool interface ( isHPDReflection() and
    isSiBackScatter() )

- In MDF v3r6
  . Fix bug in RawDataCnvSvc: Fail object creation if data is not accessible
  . Change the TAE identification from TriggerType to the new field TAEWindow
  . Changes in OnlineRunInfo.h, RawEventHelpers, TAETestCreator and MEPWriter
    In this last one, check packing factor in TAE mode to be odd and below 15.
  . Modify RawDataCnvSvc initialization to avoid initialization loop

- In PatKernel v2r1
  . Fix bug for decoding on demand (no effects on standard tracking)
  . Move PatTStationHitManager.cpp to TfTools component libary.
    PatTStationHitManager.h stays in this package to keep it visible from outside

- In RichRecBase v3r12
  . Add new Tool interface classes
    o IRichPID for track-by-track PID access on-demand
    o IRichPixelBackgroundEsti for computing background estimates for given sets
      of HPD pixels
  . Add some missing include statements
  . Some minor improvements related to reconstucting photons on demand
    track-by-track, instead of the more commonly used all at once approach.
  . Turn on book keeping in data creators by default

- In SimComponents v2r9
  . PrintMCDecayTreeAlg: add property "MCParticleLocation" to allow to provide
    alternative input MCParticle containers.

- In Tell1Kernel v1r2
  . Add Tell1Kernel/STTell1Core.h

- In TfKernel v2r4
  . Make clearHits() methode of TStationHitManager public. Needed to run after
    decoding on demand.
  . Fix in DefaultVeloHitManager: the hit preparation always tried to access
    the first cluster in the cluster container to obtain a sensor number,
    causing a crash on empty cluster containers.
  . Fix for float/double conversion issue in VELO tracking: the HitBase class
    and all VELO hit classes now store their floating point data as double.

- In TrackInterfaces v3r13
  . Modify state correction and fitter interfaces to accept optional pid argument

- In TsaKernel v3r2
  . Move TsaTStationHitManager.cpp to TfTools component libary.
    TsaTStationHitManager.h stays in this package to keep it visible from outside

- In DetDescChecks v4r6
  . Force the creation of CondDBCnvSvc (if needed) in LoadDDDB::initialize.
  . Improved the output in case of GaudiException in LoadDDDB

2008-03-05 LHCbSys v23r4

This version uses Gaudi v19r8 and LCG_54b. Fully compatible with DC06 data

- Packages removed: MDF_DCAP - Functionality now in MDF_ROOT
                    MDF_GFAL - Functionality now in MDF_ROOT
                    MDF_RFIO - Functionality now in MDF_ROOT
- Packages modified: GaudiObjDesc v11r2, KernelSys v7r2, LHCbKernel v8r2,
    LHCbMath v2r6,Relations v5r4, RichKernel v7r11, DetSys v11r3, DetDesc v18r4,
    Magnet v3r7, RichDet v10r10, VeloDet v12r4, EventSys v24r1, DAQEvent v7r9,
    DigiEvent v2r4, EventAssoc v4r4, EventBase v2r5, GenEvent v5r2,
    HltEvent v8r7, LinkerEvent v3r3, L0Event v16r8, MCEvent v2r7,
    PackedEvent v3r3, PhysEvent v11r6, RecEvent v2r10, TrackEvent v4r2,
    VeloEvent v16r3, CaloUtils v7r8, CondDBUI v2r8, DDDB v1r4,
    DetCond v11r9, DaVinciKernel v6r11, DaVinciMCKernel v2r6, LHCbAlgs v2r15,
    LoKiAlgo v7r1, LoKiArrayFunctors v7r1, LoKiCore v7r1, LoKiGen v7r1,
    LoKiMC v7r1, LoKiNumbers v7r2, LoKiPhys v7r1, MDF v3r5, MDF_ROOT v1r2,
    RichRecBase v3r11, SimComponents v2r8p1, STKernel v1r2, TfKernel v2r3,
    TrackInterfaces v3r12, DetDescExample v7r6

- In GaudiObjDesc v11r2
  . Change for  element to allow forward declaration in global namespace,
    by setting the attribute namespace='::'
  . New feature for ONLY forward declarations (in contrast to including the
    forward declared type after the class body). To do so set the 
    attribute soft="FORWARDONLY".
  . Changes for attribute types:
    o if the attribute type is a pointer type initialize it to 0 in GODs self
      generated default constructor
    o if the attribute type starts with "const " fix the return type of the get
      method to "const " (had an additional const before)
  . Fixed bug 33839: genClasses::reset() fix for multiple classes in one XML file

- In LHCbKernel v8r2
  . Add new method to Rich::Side enum, to convert side to text more precisely
    when combined with the Rich::DetectorType enum.
  . Slight tweek to RichSmartID fillStream method, to print panel in a
    more human friendly way.

- In LHCbMath v2r6
  . Add few more optimizations into MatrixUtils.h & MatrixTransforms.h, in
    particular addition operators for "geometry" and "linear algebra" objects.

- In Relations v5r4
  . Remove explicit manipulations of PYTHONPATH
  . src/InstanceCounter.cpp
     change the printout for non-deleted objects from INFO fro WARNING

- In RichKernel v7r11
  . Update RichGeomPhoton to store a pointer to the associated DeRichSphMirror
    for the primary and secondary mirrors, instead of just the mirror number.
  . Update RichTrackSegment to have more reasonable guesses for the
    average photon energy in each radiator (previously was set to 0).
  . Add new method to RichHistoID.h
  . Add new utility (RichSmartIDCnv.h) to perform conversions of RichSmartIDs to
    various schemes. Currently implemented is a global pixel ordering scheme
  . Update Ray Tracing interface to pass back booleans instead of
    StatusCodes. Slightly improves CPU performance (due to StatusCode checks).
  . Add method RichTrackSegment::vectorAtCosSinThetaPhi
  . Changes to RichSmartIDCnv for test pattern monitoring

- In DetDesc v18r4
  . Clean up, fixes and improvements to Condition::toXml.
    o Fixed the problem with the formatting of vectors
    o Allow to specify the precision of the doubles
    o Added support for std:map (only those supported in the converter)
    o Disabled (by default, can enable with a flag) the HTML header and trailer
  . Improved Python bindings for Condition.

- In Magnet v3r7
  . Add protections to MagneticFieldSvc to make it robust against crazy input
    coordinates

- In RichDet v10r10
  . Add a new public method to DeRichHPDPanel to return a pointer to the
    DeRichHPD object associated to a given HPD as defined by a RichSmartID

- In VeloDet v12r4
  . Removed all explicit 2048 in sensor classes and replaced them with
    m_numberOfStrips (or m_maxRouting line, where more suitable).
  . Made accessors for strip capicitance and strip info inline.
  . Moved sanity check for strip capacitance and strip info conditions
    from accessors to update call back method.
  . Added accessors for phi strip impact parameters in all frames.

- In DAQEvent v7r9
  . In RawBank:
    o Move implementation of typeName( BankType ) to .ccp as it cannot be inlined
    o Cleanup stl includes
  . new algo OdinTypesFilter, filters according to TriggerTypes and/or BXTypes

- In EventAssoc v4r4
  . Add dictionary for "L0CaloCandidate -> MCParticle with the weight=double"
	  relation table (bi-directional)

- In HltEvent v8r7
  . HltEnums: accessor methods allowing to get the GaudiMap of enum and string.

- In L0Event v16r8
  . Add some missing dictionaries, but not on Windows
  . Fix bug in L0DUBase.h (wrong mask/shift for BCID in the 2nd PileUp word)
  . Add new classes to handle L0Muon information and errors :
    o L0MuonInfo
    o L0MuonCtrlError
    o L0MuonProcError

- In MCEvent v2r7
  . Add some missing dicts

- In PhysEvent v11r6
  . Add generation of custom dictionary
  . Particle.xml : Add predefined enums Chi2OfDirectionConstrainedFit,
                   Chi2OfVertexConstrainedFit, Chi2OfParticleReFitter

- In RecEvent v2r10
  . Add a missing dict
  . Added function in TwoProngVertex to calculate the Armenteros-Podolanski
    variables
  . VertexBase: two new methods returning the chi2/Dof and allowing to set
    the chi2 and the dof at the same time. The names are the same as the ones
    used in Track.

- In TrackEvent v4r2
  . In Measurement class, added pointer to detector element
  . Add explicitly the dictionary for std::vector

- In CaloUtils v7r8
  . Bug fix in Calo2Dview.cpp

- In CondDBUI v2r8
  . Added few member functions to CondDB:
    o moveTagOnLocalTag
      Move a tag to encompass the changes identified by another tag
    o resolveTag
      Return the local tag for a parent tag, or None if there is not relation
    o findNodesWithTag
      Return the list of folders (or foldersets) in which the local tag is
      defined.

- In DDDB v1r4
  . Added Python option files DDDB.py (requires SQLDDDB.py) and DC06.py.

- In DetCond v11r9
  . Fixed a problem occurring when trying to retrieve a folder which is not in
    the database (typical case for CondDBLayeringSvc), due to an uninitialized
    variable.
  . Added the Python module DetCond.Configuration to provide useful functions
    for the configuration of the CondDB: addCondDBLayer, addCondDBAlternative

- In DaVinciKernel v6r11
  . Add more accessors to DVAlgorithm:
    inline IMassFit*  massFitter       ( const std::string name = "" ) const;
    inline IMassVertexFit* massVertexFitter (const std::string name = "" ) const;
    inline ILifetimeFitter* lifetimeFitter ( const std::string name = "" ) const;
    inline IDirectionFit* directionFitter  ( const std::string name = "" ) const;
  . Add corresponding job options
     "MassFitters"       (default the empty map)
     "MassVertexFitters" (default the empty map)
     "LifetimeFitters"   (default  { '' : 'PropertimeFitter' } )
     "DirectionFitters"  (default { '' : 'DirectionFitter'  }  )

- In DaVinciMCKernel v2r6
  . Remove obsolete IDebugTool interface
  . Fix a couple of Doxygen warnings
  . IBackgroundCategoryTool: getMap method not virtual.
  . Kernel/Particle2MCLinker.h: fix some problems with MCAssociation class.
  . Added method getDaughtersAndPartners(Particle*) to BackgroundCategory, which
    returns a veector of  pairs giving the B daughters and
    their associated MCParticles (if any).

- In LHCbAlgs v2r15
  . AlgorithmCorrelations : More functionality, allow non-square matrices, allow
    to print efficiencies for conditions algorithms as well.

- In LoKiAlgo v7r1, LoKiArrayFunctors v7r1, LoKiGen v7r1, LoKiMC v7r1,
     LoKiNumbers v7r2, LoKiPhys v7r1
  . Minor fixes due to new Gaudi/ROOT/Reflex

- In LoKiArrayFunctors v7r1, LoKiGen v7r1, LoKiMC v7r1
  . All *Hybrid* stuff: everything is extended for "functional" functors also

- In LoKiCore v7r1
  . Various minor fixes
  . In python/LoKiCore/functions.py:  fix a typo in _iter_SRV_ function
  . src/HybridBase.cpp: improve the (buggy) printout of "context" field..
                        return Error in the case of errors..
  . LoKi/Range.h: Fix the problem with reverse iterators.
  . src/LoKiHybridBase.cpp: force the loading/initialization of LoKi Service
  . python/LoKiCore/functions.py: fix many tiny typos
  . Introduce one more concept for "self-monitored" functors:
    the meta-functor which prints the result of another functor

- In LoKiPhys v7r1
  . Implement many shortcuts&aliases
  . Add various "lifetime" functors, which are using ILifetimeFitter interface
  . Add new "context-dependent" functors
  . Modify the printout of VFASPF functor ( "[...]" --> "(...)" )
  . python/LoKiPhys/Phys.py: couple of minor fixes
  . add more printout for easier location of problems
  . increment number of constructors for "MinImpPar" context-functions
  . add more tricky check into LoKi::Vertices::IsPrimary
  . python/LoKiPhys/functions.py:
    o Change "instance"<-->"type" for the symbols: BPVDIRA,BESTPVCOSPF,
      BPVVD,BESTPVVETSEP, BPVVDSIGN,BESTPVVETSEPSIGN, BPVVDDOT,
      BESTPVVETSEPALONGMOM, BPVVCHI2. All of them are now *INSTANCES*,
      therefore no extra "()" is required for instantiation
    o add missing symbol ISMUON
    o import the symbols M1,M2,M3 and M4 from C++
  . fix invalid printout of "Tree" meta-functors
  . fix invalid start value of "MULTTREE" meta-functor
  . Add new C++ type: LoKi::Vertices::Chi2Prob and the symbols for C++ and
    python: VPCHI2N, VPCHI2

- In MDF v3r3, v3r4
  . Use ROOT as default for: rfio, castor, dcache, dcap, gsidcap and gfal
  . Set proper MDF header when writing TAE events. Use the MDF header information
    (triggermask, run, orbit and bunch counters) from central events.
    If central event has no MDF information take as fallback first other found.
  . Fix bug in default MDF writer when doing format conversions between
    MDF_BANKS, MDF_RECORDS and MDF_BANKS.

- In MDF_ROOT v1r1
  . Proper handling of URL options

- In MDF v3r5, MDF_ROOT v1r2
  . Detect EOF when reading MDF files with ROOT

- In RichRecBase v3r11
  . Add a flag to the IRichCherenkovAngle::avgCherenkovTheta method to force
    the calculation to use the emitted photon spectra instead of the detected.
  . Pass the mass hypothesis in IRichSignalDetection::photonDetEfficiency.
  . Update the RichRecPointOnRing class to store pointers to the mirror segments.
  . Improve pixel information for when clustering is activated
  . Replace StatusCodes with booleans in returned codes.

- In SimComponents v2r8p1
  . Fix untested StatusCode

- In STKernel v1r2
  . Extend readout tool interface to give list of board ids

- In TfKernel v2r3
  . fixed typo in VeloSensorHits<>::closestHitAtRHalfBoxImp().
  . bug fix in DefaultVeloHitManager: the configurable cluster locations where
    actually not used.
  . The names of the default VELO hit manager instances used by the extended
    VELO hit managers can now be configured via options.

- In TrackInterfaces v3r12
  . Added code needed for L0 confirmation to IPatSeedingTool

- In CaloUtils v7r8, DaVinciMCKernel v2r6, STKernel v1r2, TfKernel v2r3,
     VeloDet v12r4, RichKernel v7r11, RichRecBase v3r11, LHCbKernel v8r2,
     DAQEvent v7r9, DigiEvent v2r4, EventBase v2r5, GenEvent v5r2, HltEvent v8r7,
     LinkerEvent v3r3, L0Event v16r8, MCEvent v2r7, PackedEvent v3r3,
     PhysEvent v11r6, RecEvent v2r10, TrackEvent v4r2,VeloEvent v16r3
  . Cleanup public includes using forward declarations whenever possible, adding
    missing includes where necessary

- In DetDescExample v7r6
  . Adapt to changes in DetDesc

2008-02-05 LHCbSys v23r3

This version uses Gaudi v19r7 and LCG_54. Fully compatible with DC06 data

- New packages:      MDF_DCAP v1r0 - DCAP plugin to read MDF files
                     MDF_GFAL v1r0 - GFAL plugin to read MDF files
                     MDF_RFIO v1r0 - RFIO plugin to read MDF files
                     MDF_ROOT v1r0 - ROOT plugin to read MDF files
- Packages modified: GaudiConf v10r6, GaudiObjDesc v11r1, KernelSys v7r1,
    LHCbKernel v8r1, LHCbMath v2r5, RichKernel v7r10, DDDB v1r3, DetSys v11r2,
    DetDesc v18r3, DetDescCnv v4r5, DetDescSvc v1r16, MuonDet v7r2,
    RichDet v10r9, STDet v3r9, DetCond v11r8, CondDBUI v2r7, DetDescChecks v4r5,
    EventSys v24r0, DAQEvent v7r8, HltEvent v8r6, MCEvent v2r6, PhysEvent v11r5,
    RecEvent v2r9, TrackEvent v4r10, MDF v3r2, DAQSys v3r8, CaloDAQ v4r3,
    TfKernel v2r2, DaVinciKernel v6r10, STKernel v1r1, LHCbAlgs v2r14,
    LoKiNumbers v7r1, RichRecBase v3r10, IOExample v2r4

- In GaudiConf v10r6
  . In DecodeRawEvent.opts and UnpackDigi.opts:
    o Use AlgMap property to define the algorithms
  . In DecodeRawEvent.opts:
    o Add algorithm to decode ODIN
    o Resurrect L0DU with correct naming (L0DUReport)
  . Add Event/Link/Raw/Hcal/Digits to DigiContent.opts and MCDstContent.opts

- In GaudiObjDesc v11r1
  . New feature for enum generation: when activating the string<->enum conversion
    so far the enum had to contain one value "Unknown". In case of several enums
    in the same class this was not possible for each enum because of the scoping.
    A new attribute "unknownValue" of the  element can now be set to over-
    write the value. The default is "Unknown" but can be set to any string, take
    care to also provide an actual value of the enum with the string set in the
    attribute.

- In LHCbKernel v8r1
  . Fix derivatives in AlignTraj (forgot to zero three numbers!).
  . Add PiecewiseTrajectory class
  . Make number of RICHes an unsigned int.
  . Fix doxygen comment and use std::sqrt in RichRadIntersection

- In LHCbMath v2r5
  . Split MatrixUtils.h into two files MatrixUtils.h and MatrixTransforms.h and
    include functionality previously in MatrixUtils.h of Phys/VertexFit package
    See release notes for details of split.
  . Add new function Gaudi::Math::mult for evaluation of v1^T*M*v2
  . Add new file Kinematics.h to keep some pure mathematical functions useful
    for kinematical calculations. Currently it contains the functions for
    evaluation of dispersions and sigmas  for mass and mass^2 and chi2 of mass:
       *   - sigma2mass2   :   sigma^2(M^2)
       *   - sigma2mass    :   sigma^2(M)  for M^2 > 0
       *   - sigmamass     :   sigma(M)    for M^2 > 0
       *   - chi2mass      :   delta^2(M^2)/sigma^2(M^2)
  . Update(improve?) the doxygen comments for some other header files.

- In RichKernel v7r10
  . Add new tool interface to tools that implement Snell's Law for refraction
  . Add missing initialisation for m_dataWord to RichGeomPhoton
  . Extend RichGeomPhoton to include direction at emission point

- In DDDB v1r3
  . Change requirements to pick up SQLDDDB v4r*
  . Add oracle dependency to allow access to Oracle DDDB
  . Add lfc dependency to get credentials for Oracle DDDB access

- In DetDesc v18r3
  . New treatment of geometry overlaps:
    o DetDesc/Compare.h: Comparison of floating numbers
    o IGeometryErrorSvc: Abstract interface for handling of geometry errors
    o IntersectionErrors: Helper utility to make a bridge between volumes and
                          geometry error handling service
    o DetDesc/VolumeIntersectionIntervals.h: Add new functions
    o LAssembly.cpp, LVolume.cpp, LogVolBase.cpp: Make use of new functions
  . Add new functions to GlobalToLocalDelta.{h,cpp}
    o Obtain a global off-nominal correction D_global on top of the current total
      transformation of a IGeometryInfo or IDetectorElement (T_global) starting
      from a correction D' calculated at the local level of that IGeometryInfo
      or IDetectorElement
    o Obtain the global "delta" transformation corresponding to the local "delta"
      of an IDetectorElement or IGeometryInfo
    o estimate "off-nominal" delta matrix at local level, starting from either
      total position or "off-nominal" corrections in an arbitrary frame,
      independent of the detector element hierarchy.
  . In 3DTransformationFunctions.h add method taking any MathCore 3D rotation
    and estimating the equivalent Euler 321 rotation parameters.
  . Remove functionality now in MathCore, take advantage of latest syntax fixes

- In DetDescCnv v4r5
  . Modified XmlMixtureCnv to correctly set the name of the mixture from XML.
  . Changed the tag name for elements of maps inside conditions (even if it is
    not used) to be consistent with the changes in SQLDDDB (>= v4r0).

- In DetDescSvc v1r16
  . New treatment of geometry overlaps/errors in TransportSvc
    o implement new interface DetDesc::IGeometryErrorSvc
    o add new properties
       "Recover"  (boolean) -> to activate/deactivate the recovery of the
                          errors          (default  is true)
       "Protocol" (boolean) -> to activate/deactivate the protocol of the
                          geomtery errors (default is "true")

- In MuonDet v7r2
  . Added four new methods to the DeMuonDetector class usefull for alignment
    purpose (changed DeMuonDetector and MuonChamberLayout)

- In RichDet v10r9
  . Changes for post-DC06 xml description, compatible with DC06
    o New locations for detector elements. The paths are parameters
      in DeRich1 and DeRich2, which can stiil be found in DeRichLocations.
    o Individual QE per HPD (Rich::TabulatedProperty1D) from LHCBCOND (Tabulated
      Property). Warning from 4 HPDs (one per panel) if not found.
    o One method for magnification in DeRichHPD, for both old and new way.
  . Changes to how the DeRichHPD and DeRichHPDPanel objects deal with the
    method DeRichHPDPanel::PDWindowPoint which calculates the intersection
    with the HPDs
    o Various fixes to correct a small disagreement between ray tracing results
      and the full photon reconstruction.
    o Clean up a little how the various transforms from DeRichHPD are accessed
    o Add the method DeRichHPD::testKaptonShadowing which checks for
      intersections with the kapton shield
    o Various other minor doxygen and code improvements
  . Changes for composite (CMA) Rich1 spherical mirrors. The Rich1 mirrors
    now have individual alignment conditions.
  . Introduced user parameters in DeRich1/2 for the location of the
    mirror reflectivity

- In STDet v3r9
  . DeSTSector: final changes to allow use of dead strip conditions
  . Add test on the version to allow DC06 backwards compatibility

- In DetDescChecks v4r5
  . Improved the error message of LoadDDDB in case of exceptions.
  . Added new algorithm DetDesc::CheckOverlap
    See the presentation at T-Rec meeting, 17.12.2007

- In EventSys v24r0
  . Adapt copy_relax_rootmap pattern to new rootmap names in LCG_54

- In DAQEvent v7r8
  . Add bank types MuonFull, MuonError
  . Added an enum in ODIN to define the meaning of the Trigger Type.
  . Add new RawBankReadoutStatus ("NonUnique" when several banks with identical
    sourceID in the same rawEvent)
  . Add new algorithm RawBankReadoutStatusMonitor : monitoring of ReadoutStatus
  . RawBank.h : add new static method typeName(type) that returns the bankType
    as string
  . improve bankKiller

- In HltEvent v8r6
  . Used GOD-given conversion to string in HltEnums
  . Makes HltNames and its python script obsolete. Removed.

- In MCEvent v2r6
  . Add new MCVertex type, RichHpdBackScat, for back-scattering in the RICH HPDs
  . Additions to MCRichHit to store new HPD reflection background types in hit
    history code
  . Improve the MCRichHit fillStream method.
  . Improve the MC history methods and flags in MCRichDigitHistoryCode
  . Add addition member to MCRichOpticalPhoton to store impact point of photon
    on the HPD Quartz Window.

- In PhysEvent v11r5
  . Particle.xml: Add the enum to store the chi2 of the mass-constrained fit

- In RecEvent v2r9
  . Added keyedContTypeDef = true to TwoProngVertex

- In TrackEvent v4r10
  . Make the Track(int key) constructor explicit

- In MDF v3r0, v3r1, v3r2
  . Remove the RFIO/DCAP,... plugins from MDF and make them separate packages.
  . Add support for non-strict RFC URIs - similar to what ROOT supports.
  . Add support for TAE events in the RawDataCnvSvc. The creation of leaves in
    the TES is triggered by the content of the TAE meta bank TAEHeader.
  . Add coding of TAE events in the MDF buffer, triggered by the value of the
    ODIN triggerType() = LHCb::ODIN::TimingTrigger or forced by the jobOption
    forceTAE = true of MDFWriter. A pseudo-bank of type TAEHeader is added
    as first bank in the buffer, with description of the various RawEvents found.
  . Add function unpackTAEBuffer in RawEventHelpers to decode the TAE MDF block.
  . Fix bug in RawDataCnvSvc introduced by processing TAE events
  . Fix crucial bug (typo??) in detecting TAE events
  . Fix bug in accessing IODataManager
  . Add support for ROOT protocol as back up for any non-implemented protocols.
  . Fix bug in MDF writer
  . Implement retry for decompression if data space is insufficient.

- In CaloDAQ v4r3
  . Improve the calls to msgSvc
  . Fix ifndef in ICALOL0DATAPROVIDER
  . Change CalDigitsOnDemand.opts to use DataOnDemandSvc.AlgMap
  . Minor change in CaloReadoutTool.cpp (better handling of ReadoutStatus)
  . Add new status ("NonUnique") when several banks with identical sourceID in
    the same rawEvent
  . Add a protection against events pile-up in the same rawEvent
    (actually, several banks with same sourceID)
  . Fix unclear precedence to please windows compiler
  . Add Hcal together with Ecal as default in CaloReCreateMCLinks.cpp

- In DetCond v11r8
  . Replace homemade linkopts with new Boost_linkopts_filesystem_mt
  . Remove slc3 specific set, no longer supported in LCG_54
  . Allow to use tags that are not global in CondDBAccessSvc.
  . Added a service (COOLConfSvc/ICOOLConfSvc) dedicated to the instantiation and
    configuration of COOL/CORAL. The options to configure COOL and CORAL have
    been moved from CondDBAccessSvc to the new service.
  . Added the service CondDBLogger (implementation of ICondDBReader) that, if put
    between a user and a provider of the ICondDBReader interface, stores in a
    file all the requests that were made to the CondDBReader, with the time of
    the request. The class allows to generate some history of the CondDB traffic
    to be able to analyze and replay it afterward.
  . Added the algorithm CondDBReplayAlg. It can read a file produced with
    CondDBLogger to replay the requests to the database.
  . Modified ICondDBReader and CondDBAccessSvc to allow the retrieval of objects
    from the conditions database using the channel name
  . Improved error messages in case of CORAL exceptions.

- In CondDBUI v2r7
  . Added the possibility to specify a connection string on the command line of
    CondDBBrowser.py to open a database.
  . Fixed a bug (introduced in v2r6) that prevents the addition of new conditions
  . Fixed a bug preventing to open a database.
  . Fixed a problem with local tags in dump_db_to_files.py.
  . Added a the sub-module CondDBUI.Admin for functions needed for administrative
    tasks. Currently it contains:
    o check_addition_db_content:
      checks if the database we are going to merge into another one contains
      only files which are not yet there
    o merge_and_tag:
      insert the content of a database into another one (after calling
      'check_addition_db_content') and apply a tag to the new files (move it if
      it already exists)

- In CaloUtils v7r7
  . _setProperty was removed from CaloTracktool.h and CaloTrackTool.cpp
  . New base class Calo2Dview.cpp (inherits from GaudiHistoAlg)
    produces 2D display of Calorimeter
  . requirements : import AIDA

- In TfKernel v2r2
  . Added hit preparation on demand to the VELO hit managers. Client code that
    uses this feature needs to access the stations via the new 'NoPrep' methods
    and take care of preparing the hits by calling prepareHits(Station*).
    Code not using this feature is not affected.
  . Add new values in HitBase Estatus enum, mainly for TT hits.
  . added new member to OTHit which stores the RtRelation to be used to
    convert drift times to drift radii and make sure it is used everywhere
    (to have possibility to switch off using drift times in the pattern reco)

- In DaVinciKernel v6r10
  . Add interfaces IParticleTupleTool and IEventTupleTool for filling generic
    nTuples
  . Add interface IMassFit for mass-constrained fit.
  . New method calcProjectedFlightDistance in IGeomDispCalculator
  . src/Lib/DVAlgorithm.cpp
    o Minor modification for dealing with Algorithm Context Service:
      1) the property "RegisterForContexService" is setto be "true"
      2) initialize/finalize and sysExecute methods are equipped with
         sentries/guards to register the algorithm for Algorithm ContextService
      3) there is warning message "intialize" methods if the registration
         for context service  is disabled.
    o Declare all tools as protected instead of private.

- In STKernel v1r1
  . Add STFun.h/.cpp [functions related to calculating interstrip fraction]

- In LHCbAlgs v2r14
  . Add createODIN algorithm, to create DAQ/ODIN object from ODIN RawBank
  . AlgorithmCorrelations : Protect debug() and verbose()

- In LoKiNumbers v7r1
  . Fix for Windows to suppress the (auto)generation of "strange" functors

- In RichRecBase v3r10
  . Extend IRichExpectedTrackSignal interface with a few new methods
  . Change the way to get detector elements. The paths are parameters
    in DeRich1 and DeRich2, which can stiil be found in DeRichLocations.
    Compatible with DC06 xml description.

- In IOExample v2r4
  . Replace PoolDbCacheSvc.Catalog by FileCatalog.Catalogs, for Gaudi v19r7

2007-12-12 LHCbSys v23r2

This version uses Gaudi v19r6 and LCG_53f. Fully compatible with DC06 data

- Packages added   : STKernel v1r0    - public headers for ST readout
                     LoKiNumbers v7r0 - Set of dictionaries for LoKi functions
- Packages modified: GaudiConf v10r5, GaudiObjDesc v11r0, KernelSys v7r0,
    LHCbKernel v8r0, LHCbMath v2r4, L0MuonKernel v7r2, Relations v5r3,
    RichKernel v7r9, DetSys v11r1, CaloDet v8r5, DetDesc v18r2, DetDescCnv v4r4,
    DetDescSvc v1r15, MuonDet v7r1, OTDet v7r7, RichDet v10r8, STDet v3r8,
    EventSys v23r11, DAQEvent v7r7, DigiEvent v2r3, EventAssoc v4r3,
    HltEvent v8r5, L0Event v17r7, RecEvent v2r8, TrackEvent v4r9,
    VeloEvent v16r2, DAQSys v3r7, CaloDAQ v4r2, MuonDAQ v3r3, MDF v2r7,
    TrackInterfaces v3r11, DaVinciKernel v6r9, DaVinciMCKernel v2r5,
    RichRecBase v3r9, MCInterfaces v1r4, CaloUtils v7r6, SimComponents v2r8,
    DetCond v11r7, LHCbAlgs v2r13, LoKi v7r0, LoKiAlgo v7r0, LoKiAlgoMC v7r0,
    LoKiArrayFunctors v7r0, LoKiCore v7r0, LoKiGen v7r0, LoKiGenMC v7r0,
    LoKiMC v7r0, LoKiPhys v7r0, LoKiPhysMC v7r0, CondDBUI v2r6,
    LinkerInstances v3r4, Tell1Kernel v1r1, IOExample v2r3

- In GaudiConf v10r5
  . Add RawDataIO.opts to setup persistency for MDF files
  . Add WriteMDF.opts to write out RawEvent in an MDF file

- In GaudiObjDesc v11r0, RichKernel v7r9, RichRecBase v3r9, MuonDet v7r1
  . Changes to deal with move of STL serializers to GaudiKernel/SerializeSTL.h
    and GaudiUtils namespace

- In GaudiObjDesc v11r0
  . New feature to allow construction of dictionaries for std::vector
    on demand (T==Event class). To do so, the XML entity &StlConstPtrVector; has
    to be put into the xml source of the corresponding event class definition.

- In LHCbKernel v8r8
  . Remove Kernel/SerializeStl.h (now in GaudiKernel)
  . Remove Kernel/IVeloClusterPosition.h (now in Tr/TrackInterfaces)

- In LHCbMath v2r4
  . Add functions in MatrixUtils.h
    o geoLA: Fill Lorentz vector from 3D displacement vector + Mass
    o JacobdP4dMom: Compute Jacobian for the transformation
                    covPxPyPzE_xyz = Jacob * covTxTyQoP_xyz;
  . Changed templates for line-to-line calculations to allow for lines of
    different types

- In L0MuonKernel v7r2
  . Bug fix: The ID of the L0BufferCnv was not properly defined for CU and SU.

- In Relations v5r3
  . move python/Relations.py in python/Relations/Rels.py
  . add python/Relations/__init__.py

- In RichKernel v7r9
  . Add a new method to the IRawBufferToSmartIDsTool interface to return
    the hits for a requested HPD
  . Update various cluster objects to allow clustering of ALICE mode data

- In CaloDet v8r5
  . Add accessor to the new condition (PinPedShift) in DeCalorimeter :
    pedestal shift for pin-diodes
  . Simplify CaloPin (uneeded crate/slot/adc info removed)
  . Allow the condDB decoding for non-standard pin-diode geometry

- In DetDesc v18r2
  . Added specialized fillStream() member function for ValidDataObject and
    ParamValidDataObject.
  . Use GaudiKernel/SerializeSTL.h to print parameters of ParamValidDataObject.
  . Removal of constructor
      ROOT::Math::Transform3D(ROOT::Math::XYZVector, ROOT::Math::Rotation3D)
    for 3D transformation made from translation followed by rotation.
    Replaced by equivalent transformation:
      ROOT::Math::VectorXYZ translation = ...;
      ROOT::Math::Rotation3D rotation = ...'
      ROOT::Math::Transform3D myTransform(rotation, rotation(translation));

- In DetDescCnv v4r4
  . Implemented the parsing of  elements inside conditions
  . Change the class id in the opaque address if it does not match the one
    specified in the XML of the object

- In DetDescSvc v1r15
  . Minor improvement in UpdateManagerSvc debug output: print demangled name of
    registered classes.

- In MuonDet v7r1
  . Remove obsolete file MuonDet/MuonParameters.h
  . Move file MuonDet/MuonChamberLayout.h to src/Lib, for better encapsulation

- In OTDet v7r7
  . Added missing accessor for reference time of flight

- In RichDet v10r8
  . Cleaned up DeRichHPD and DeRichHPDPanel and made them fully compatible
    with the alignment framework.
  . Method detectionPoint now has an option to chose between the photoCathode
    side, or the outside of the window (including refraction correction).
  . Update Rich::TabulatedFunction1D to allow an existing object to be
    re-initialised with new data values.
  . Update DeRichHPD to use new re-initialisation functionality of
    Rich::TabulatedFunction1D

- In STDet v3r8
  . Release rest of deadstrip stuff. Functionality is off by default

- In DAQEvent v7r7
  . Add new class : RawBankReadoutStatus.xml
  . New component algorithm : RawBankReadoutStatusFilter
  . Updated the ODIN class to version 3 of the ODIN bank format
    (added CalibrationStep and TriggerConfigurationKey).
  . Modified the tests to comply to the Gaudi QMTest infrastructure and added
    a very simple test (to be reviewed).
  . Add new bank type TAEHeader, in fact not a bank but a pseudo-one, put
    as first bank in the MDF payload to describe multi-event in the same
    MDF block. The bank is a vector of triplets of int: bxOffset, offset, size.

- In DigiEvent v2r3
  . Remove Kernel directory:
    ISTSignalToNoiseTool.h moved to STKernel package
    IVeloCluster2VeloDigitTool.h is obsolete and removed

- In EventAssoc v4r3
  . Update to handle new (python) structure in Kernel/Relations package

- In HltEvent v8r5
  . Fix dependencies for DoHltNames hack and make the action private
  . Added inputSelectionsIDs() vector of IDs in HltSelectionSummary
  . Added three HLT sleections, removed one.

- In L0Event v16r7
  . Update L0DUBase.h (new elements in CaloType enum)
  . Adapt src/L0CaloCandidate.cpp

- In RecEvent v2r8
  . Add new class, TwoProngVertex
  . Update the RecVertex class with new RecVertex Location for TwoProngVertex
  . Add new ProtoParticle TES location for HLT charged tracks
  . Add TES locations for Offline and HLT MuonPIDs

- In TrackEvent v4r9
  . Added method to remove all measurements or nodes from a track
  . Fixed 'Track::copy' method to work also for track with muon measurements
  . Added method to efficiently add set of measurements to Track
  . Added method to set StateVector to Measurement
  . Corrected z-position for begin of T-station range in StateParameters and
    changed name of state: ZAtT -> ZEndT
  . added method to add list of states to track
  . moved reference vector from Measurement to Node

- In VeloEvent v16r2
  . Extended funcitonality of VeloProcessInfo class
  . Extended functionality of the VeloTELL1Data, needed for commissioning

- In RichRecBase v3r9
  . Add new interface for photon emission point tool
  . Remove redundant method from IRichPhotonReconstruction.h

- In CaloDAQ v4r2
  . Fix bug in decoding Prs/Spd TELL1 format. Does not fix MC data generated so
    far, only real data
  . Add a new decoding tool & interface : (I)CaloL0DataProvider (same as
    CaloDataProvider for 8-bit L0-Adc)
  . Better handling of corrupted/missing banks (details in CaloDAQ release notes)
  . CaloFillRawBuffer : add PIN-FEB data only when requested
    -> No longer PIN-FEB header in Bank when no PIN data
  . Improve printout using Error() method

- In MuonDAQ v3r3, CaloDAQ v4r2
  . Add dictionary generation

- In MDF v2r7
  . Add new Rawbank types to RawEventPrintout.h to retrieve bank type as string.
  . Implemement connection to XML file catalog from GaudiUtils
    Requires new job option:
    ApplicationMgr.SvcOptMapping += { "Gaudi::MultiFileCatalog/FileCatalog",
                                      "Gaudi::IODataManager/IODataManager" };
  . Fix bug in MDF IO to accept properly file names like PFN:file:....

- In TrackInterfaces v3r11
  . Added methods to IMaterialLocator
  . Add IVeloClusterPosition interface previously in LHCbKernel
  . Add in IPatForwardTool the method setNNSwitch
  . Add method in IMeasurementProvider to create measurements with reference ztraj
  . Add projection state to ITrackProjector::alignmentDerivatives, because
    measurements no longer have a refvec
  . Add new interfaces ITrackVertexer, IPVOfflineTool
  . Add RecEvent dependency

- In DaVinciKernel v6r9
  . Add couple of templated methods for the abstract interface ICheckOverlap
  . Add Kernel/GetDVAlgorithm.h, src/Lib/GetDVAlgorithm.cpp: simple function to
    get DVAlgorithm from the context
  . Do not use incident end-event to clean desktop:
    o IPhysDesktop: Don't look for Incidents
    o DVAlgorith.cpp: clean desktop at end of execute

- In DaVinciMCKernel v2r5
   . Changes to Particle2MCLinker:
     o Added class MCAssociation to Particle2MCLinker.h to hold result of single
       association in the form of an MCParticle and an association weight
     o Added type ToRange, as existed in DC04.
     o Added method rangeFrom(), with identical interface as it had in DC04, to
       return all MCParticles associated to any one Object type, via ToRange type
     o Remove couts from Constructors + fix a few doxygen errors

- In MCInterfaces v1r4
  . Add IIdealStateCreator::addMCHitStates

- In CaloUtils v7r6
  . Adapt to changes in LHCbMath v2r4

- In SimComponents v2r8
  . Add PrintMCDecayTreeAlg to replace DumpEvent algorithm in DaVinciMCTools

- In LHCbAlgs v2r13
  . Add new implementation of FilterByRunEvent, to select (run,event) pairs with
    FilterByRunEvent.RunEventNumList = { (182001,1), (182001,3), (182001,5) };
  . Fix a comparision of == with double

- In LHCbAlgs v2r13, MuonDet v7r1, MuonDAQ v3r3
  . Fix unchecked StatusCode

- In DetCond v11r7
  . Added two options to CondDBAccessSvc to control the retrial period and
    retrial time-out of CORAL.

- In LoKi v7r0, LoKiAlgo v7r0, LoKiAlgoMC v7r0, LoKiArrayFunctors v7r0,
     LoKiGen v7r0, LoKiGenMC v7r0, LoKiMC v7r0, LoKiPhys v7r0, LoKiPhysMC v7r0
  . Major update for new version of LoKi ("The powerful streamers")

- In LoKiCore v7r0
  . Many new concepts from Gerhard Raven for functional programming
    Essentially the whole "functor"-business is rewritten

- In CondDBUI v2r6
  . Use pyqt from LCG_Interfaces
  . Restructured the package to use the installation of python modules and
    scripts as in Gaudi
    o the main module is now CondDBUI
    o the browser is now CondDBBrowser.py
  . Changes in CondDBUI:
    o Added the methods cloneTag and moveTagOnNodes to CondDBUI.CondDB.
    o CondDB connection string can now contain environment variables.
  . Changes in the browser
    o Modified the way configuration and settings are stored.
    o Added default entries for the official databases.
  . Added 2 small scripts that wrap the merge and diff functions in CondDBUI
    (merge_db.py and diff_db.py).
  . Fixed a problem with ValidityKeyWrapper.__eq__

- In LinkerInstances v3r4
  . Adapted eventassoc.py to GaudiPython which comes with Gaudi v19r6
  . Update the package structure for python InstallArea. Requires modifications
    in client code, details in LinkerInstances release notes

- In Tell1Kernel v1r1
  . Update related with Velo commissioning

- In IOExample v2r3
  . In WriteMDF.opts, include new options for MDF IO
  . In ReadMin.opts, put algorithms in a sequence and add example of usage of
    FilterByRunEvent algorithm

2007-11-15 LHCbSys v23r1

This version uses Gaudi v19r5 and LCG_53c. Fully compatible with DC06 data

- Packages added:    L0Interfaces v1r0 - Interfaces for L0 tools
- Packages modified: GaudiObjDesc v10r4p2, KernelSys v6r10, LHCbKernel v7r8,
    EventSys v23r10, DAQEvent v7r6p1, L0Event v16r6, MCEvent v2r5p1,
    PhysEvent v11r4, RecEvent v2r7, TrackEvent v4r8, DetSys v11r0,
    DetDesc v18r1p1, MuonDet v7r0, STDet v3r7, VeloDet v12r3, DAQSys v3r6,
    CaloDAQ v4r1, OTDAQ v5r6, TfKernel v2r1, LoKiCore v6r1p1, LoKiPhysMC v6r2,
    TrackInterfaces v3r10, TsaKernel v3r1, RichRecBase v3r8, DaVinciKernel v6r8,
    LHCbAlgs v2r12, SimComponents v2r7, MDF v2r6, DDDB v1r2, IOExample v2r2

- in DDDB v1r2
  . Change requirements to pick up SQLDDDB v3r*, needed by MuonDet v7r0

- In GaudiObjDesc v10r4p1, v10r4p2
  . Add a missing "inline" in string to type conversion functions
  . Fix typo. The generated copy constructor was missing a comma for base classes
    which were not KeyedObjects
  . Fix dependencies to ensure headers are generated before everything else,
    this was not explicit and is needed on osx platform

- In LHCbKernel v7r8
  . Adapted interface of trajectories for 'generic' expansion parameter
  . Add a dictionary needed by Panoramix
  . Fixed dependencies for customdict generation

- In EventSys v23r10
  . Fix copy_relax_rootmap pattern for Windows backslashes

- In DAQEvent v7r6p1
  . Add the possibility to remove L0 banks in bankKiller.cpp

- In L0Event v16r6
  . Add new class (L0DUConfig.xml)
  . Improve L0DU-related classes
    (L0DUElementaryData/L0DUElementaryCondition/L0DUChannel/L0DUReport)
  . Complete Event/L0DUBase.h
  . Remove leading "/Event/" from TES locations

- In DAQEvent v7r6p1, L0Event v16r6, MCEvent v2r5p1, PhysEvent v11r4,
     RecEvent v2r7, TrackEvent v4r8, RichRecBase v3r8
  . Fixed dependencies for dictionary generation

- In PhysEvent v11r4
  . Add values to Particle::AdditionalInfo enum for jet-related studies

- In RecEvent v2r7, TrackEvent v4r8
  . Add generation of custom dictionary, and generate missing dictionaries

- In TrackEvent v4r8
  . Replace 'KsTrack' by 'Downstream' in track locations
  . Add history for PatSeeding, PatMatch and PatDowsntream algorithms
  . Add additional z position in TStation in StateParameters.h

- In DetDesc v18r1p1
  . Fix gcc 4.2 compilation problem (https://savannah.cern.ch/bugs/?30713)
  . Fix doxygen warnings

- In MuonDet v7r0
  . Change to cope with new geometry description: half station layer has been
    added to structure description ( ASide ; C Side) as intermediate layer
    between station and region. Needs SQLDDDB v3r0 or greater
  . Fix bug in listOfPhysChannels: check if hit was inside a gap was wrongly
    performed. Effect is very small.

- In STDet v3r7
  . Add find box methods
  . Clean up condition registration (DeSTLayer,DeSTBaseElement,DeSTSector)
  . Add functionality to flag dead beetles, dead strips etc
  . Remove isInside from base class DeSTBaseElement (functionality now
    provided by DetectorElement)
  . stripToChan method added to DeSTSector

- In VeloDet v12r3
  . Add protections against missing detector elements, to allow use with test
    beam geometry
  . Added method to DeVeloSensor that returns the module id from the conditions
    database. Value is set in DeVelo.
  . Added protection for invalid sensor in registering of conditions.

- In CaloDAQ v4r1
  . Fix bug in CaloDataProvider.cpp

- In OTDAQ v5r6
  . Cache calibrated time in OTLiteTime, replacing the static data member

- In TfKernel v2r1
  . Moved calibratedTime from OTHit to OTLiteTime
  . Add double to float conversion in RecoFuncs.h to remove compiler warning

- In LoKiCore v6r1p1
  . Fix for gcc 4.0

- In LokiPhysMC v6r2
  . Fix couple of small problems with PV vertex <--> MC vertex association
  . Fix some doxygen warnings

- In TrackInterfaces v3r10
  . Add IPatDebugTool, IPatDebugTTTool, IFastMomentumEstimate interfaces and
    PatKernel dependency

- In TsaKernel v3r1
  . Add TsaTStationHitManager class (previously in TsaAlgorithms)
	. Add ITsaSeedTrackCnvTool interface for Seed-track conversion tool
  . Add LCG dictionary generation, and make dictionary for the new inteface

- In RichRecBase v3r8
  . Adapt to change of track type from KsTrack to Downstream
  . Update RichTrackID to handle 'ideal' tracks

- In SimComponents v2r7
  . Modifications to MCReconstructible to protect against unknown category
  . Add option to MCParticleSelector to select only B decay products
  . Change MCParticleSelector defaults to do no selection

- In DaVinciKernel v6r8
  . Make dictionary for TisTos tools
  . Add new methods to their interfaces to make use in python easier

- In LHCbAlgs v2r12
  . Adapted TrajPoca to interface change in trajectory
  . Fixed bug in TrajPoca in specification of tolerance for validity of quadratic
    approximation

- In MDF v2r6
  . Fix 64 bit checksum creation bug for hash32
  . Add support for Darwin (but not in libMDF_RFIO)

- In IOExample v2r2
  . Add WriteMDF.opts, example to write an MDF file starting from DST

2007-10-11 LHCbSys v23r0

This version uses Gaudi v19r5 and LCG_53c. Fully compatible with DC06 data

This version introduces the base classes for the Tf tracking framework, and
removes the base classes for the previous framework

- Packages added:    Tf/TsaKernel v3r0 - adaptation of Tr/TsaKernel to Tf
- Packages removed:  Tr/TsaKernel      - replaced by Tf/TsaKernel
                     Pat/PatTools      - replaced be Tf framework
- Packages modified: TfKernel v2r0, PatKernel v2r0

- In TfKernel v2r0
  . Remove component library, moved to Tf/TfTools (REC project)

- In PatKernel v2r0
  . Remove Tf:: from classes

2007-10-11 LHCbSys v22r10

This version uses Gaudi v19r5 and LCG_53c. Fully compatible with DC06 data

- Packages modified: KernelSys v6r9, LHCbMath v2r3, DetSys v10r1, DetDesc v18r1,
    DetDescSvc v1r14, Magnet v3r6p1, VeloDet v12r2, DetDescChecks v4r4,
    EventSys v23r9, TrackEvent v4r7, DAQEvent v7r6, DAQSys v3r5, OTDAQ v5r5,
    TrackInterfaces v3r9, SimComponents v2r6, DaVinciKernel v6r7, TfKernel v1r1,
    MDF v2r5, LoKi v6r1, LoKiAlgoMC v6r1, LoKiCore v6r1, LoKiGenMC v6r1,
    LoKiPhys v6r1, LoKiAlgo v6r1, LoKiArrayFunctors v6r1, LoKiGen v6r1,
    LoKiMC v6r1, LoKiPhysMC v6r1, PatKernel v1r1, ProcessorKernel v5r1,
    MCInterfaces v1r3, DaVinciMCKernel v2r4, LHCbAlgs v2r11

- In LHCbMath v2r3:
  . Remove implementations of cbrt from Power.h, now available in GaudiKernel

- In DetDesc v18r1
  . Use GaudiKernel/cbrt.h and remove LHCbMath dependency
  . Change in DetDesc::Services to allow the creation of the UpdateManagerSvc if
    not already present.
  . Change in GeometryInfoPlus: use DetDesc::Services also for the
    UpdateManagerSvc.

- In DetDescSvc v1r14
  . Change UpdateManagerSvc: check the state of the service (OFFLINE/INITIALIZED)
    before any operation. If OFFLINE, the call to "unregister" results in a
    no-operation, while all other calls throw an exception.
    Fixes the bug causing segfault during DetDataSvc finalization.

- In Magnet v3r6p1
  . In BdlTool, objects created in initialize now deleted in finalize, not in
    destructor (needed when generating configurables)

- In VeloDet v12r2
  . Bugfix in fast casting method for r type sensors: pile up sensors were not
    treated properly.

- In DetDescChecks v4r4
  . Remove unneccessary SEAL dependency
  . Print the database name and tags in the algorithm LoadDDDB.

- In TrackEvent v4r7
  . more improvements to fillStream method
  . re-corrected a bug re-introduced with latest additions to fillStream method
  . Add TsaLikelihood, Cand2ndQPat, NCandCommonHits, Cand2ndChi2Mat,
    GhostProbability flags to extraInfo
  . Fixed bug in Track::copy
  . Added zpos for beginning of T-region to StateParameters.h

- In DAQEvent v7r6
  . Add bank types GaudiSerialize, GaudiHeader, ITProcFull, TTProcFull
  . Fix wrong documentation entries in RawEvent.h

- In OTDAQ v5r5
  . Provided OTDAQ/IOTRawBankDecoder.h interface and moved OTRawBankDecoder.h
    into src directory.
  . Modified OTTimeCreator to propertly use IOTRawBankDecoder interface
  . Added OTRawBankDecoder::finalize
  . Added dictionaries for the tool interfaces

- In TrackInterfaces v3r9
  . Add dependency on DetDesc
  . Added method to TrackProjector interface

- In MCInterfaces v1r3
  . Add IPrintMCDecayTreeTool inteface

- In SimComponents v2r6
  . MCDecayFinder: get the ParticlePropertySvc in initialize, not the constructor
  . Add PrintMCDecayTreeTool implementing MCInterfaces/IPrintMCDecayTreeTool.h
  . Import src/PrintMCTree{.cpp, .h} from Phys/DaVinciMCTools.

- In DaVinciKernel v6r7
  . DVAlgorithm.cpp: small change to get correct statistics of
    setFilterPassed(bool)

- In DaVinciMCKernel v2r4
  . Add IPrintDecayTreeTool interface

- TfKernel v1r1
  . Adapted to standard usage of IOTRawBankDecoder interface
  . Added accessor to hits by station to IOTHitCreator

- In MDF v2r5
  . Set source ID to MDF bank in MDFio to 0
  . Fix handling of default RawEventLocation::Default in RawDataCnvSvc
    (leftover from GaudiSerialize development)
  . Remove hard coded strings from /Event/Raw/... to RawEventLocation::Default
  . Modified commitRawBanks in order to allow a different location of the
    raw banks in the TES.
  . Bugfix in RawDataAddress.h.
  . Fix structure of RawEventDescriptor to match memory layout
    of MEP_SINGLE_EVT in MEP buffer for amd64 (int->long)

- In LoKiCore v6r1
  . Adapt to removal of Gaudi::Math::cbrt

- In LoKiAlgoMC v6r1, LoKiCore v6r1, LoKiGenMC v6r1, LoKiPhys v6r1, LoKiMC v6r1,
     LoKiAlgo v6r1, LoKiArrayFunctors v6r1, LoKiGen v6r1, LoKiPhysMC v6r1
  . Use new pattern for python modules

- In PatKernel v1r1
  . Add missing _dll.cpp file for Windows

- In ProcessorKernel v5r1
  . Move implementation of a static function to .cpp to avoid a problem on Win32

- In LHCbAlgs v2r11
  . Rename EventCounter tool to EvtCounter, to avoid clash with GaudiAlg class
    of same name
  . TrajPoca: Added a line that was by mistake removed when this was imported
    from babar: previous version just didn't work for non-linear trajectories.

2007-09-19 LHCbSys v22r9

This version uses Gaudi v19r4 and LCG_52a. Fully compatible with DC06 data

- Packages added: RecInterfaces     v1r0 - Interfaces use RecEvent classes
                  LoKi              v6r0 - Top level package for LoKi
                  LoKiArrayFunctors v6r0 - special "vector-like" functors
                  Tell1Kernel       v1r0 - structures for Tell1 emulation
                  TfKernel          v1r0 - core classes for the Tf framework
                  PatKernel         v1r0 - Pat base classes for Tf framework
- Packages modified: GaudiObjDesc v10r4, KernelSys v6r8, LHCbKernel v7r6,
    CaloKernel v5r1, ProcessorKernel v5r0, L0MuonKernel v7r1, RichKernel v7r8,
    EventSys v23r8, DAQEvent v7r5, HltEvent v8r4, MCEvent v2r5, LinkerEvent v3r2,
    L0Event v16r5, PhysEvent v11r3, RecEvent v2r6, TrackEvent v4r6,
    VeloEvent v16r0, DAQSys v3r4, CaloDAQ v4r0, OTDAQ v5r4, DetSys v10r0,
    DetDesc v18r0, DetDescSvc v1r13, CaloDet v8r4, MuonDet v6r4, OTDet v7r6,
    RichDet v10r7, STDet v3r6, VeloDet v12r1, DetCond v11r6, CondDBUI v2r5,
    MCInterfaces v1r2, TrackInterfaces v3r8, DaVinciKernel v6r6,
    DaVinciMCKernel v2r3,  RichRecBase v3r7, LinkerInstances v3r3, LoKiAlgo v6r0,
    LoKiAlgoMC v6r0, LoKiCore v6r0, LoKiGen v6r0, LoKiGenMC v6r0, LoKiMC v6r0,
    LoKiPhys v6r0, LoKiPhysMC v6r0, PatTools v3r2, IOExample v2r1,
    DetCondExample v11r2, DDDB v1r1

- In DDDB v1r1
  . Change DC06.opts to pick up DC06-repro0710 tag, for DC06 reprocessing.
    Needs SQLDDDB v2r3 or greater

- In GaudiObjDesc v10r4
  . New feature for string to type conversion for enums and vice versa
    See release notes for usage details
  . Apply patch 1256, to include enums and functions in generated dictionary

- In LHCbKernel v7r7
  . Add FastAllocVector class, that uses a different allocator
  . Import header file MemPoolAlloc.h from RichKernel
  . Make the ParticleID constructor from int explicit
  . Added dictionary for std::vector
  . Update RichTraceMode to include new result enum, which contains
    information on the acceptance of the ray trace (in HPD, in panel etc.)
  . Add option to perform correction for refraction at Aerogel/Rich1Gas
    boundary during ray tracing
  . Minor fix to logic in OTChannelID fillStream printout
  . Improved comments of OTChannelID.xml
  . Add MuonLayout to dictionary

- In CaloKernel v5r1
  . make CaloVector::addEntry a void method instead of an always successful
    StatusCode

- In ProcessorKernel v6r0
  . Register factory : add the possibility to deal with a second instance of the
    factory. The instance is selected with the selectInstance static method.
  . Unit : delete the sub units in the destructor
  . TileRegister: handle register with duplicated tiles (yields a new attribute
    stored in the XML, requires ParamFiles v7r0).

- In L0MuonKernel v7r1
  . Introduction of converter to write raw bank
  . Major changes in the algorithm to match the hardware
   o modify the extrapolation table
   o modify the direction to start to look for hits
   o modify addM3 encoding
   o modify offM1 encoding (given in M1 granularity)
  . Major changes in the architecture to write the Raw and L0 buffers
    (units replaced by converters)
  . Modification of ProcDataCnv to foolow up the change of specification in
    RLE compression.

- In RichKernel v7r8
  . Add header file defining some 'fast' math functions
  . Various speed optimisations to clustering tool interfaces and DAQ
    definitions
  . Switch to using memory pool classes from LHCbKernel
  . Remove the use of boost::format in RichDAQDefinitions.h
  . Downgrade, for speed reasons, the HPDPixelCluster in RichGeomPhoton
    to a single RichSmartID.
  . Add to IRichParticleProperties a method to return the list of all
    mass hypothesis to be considered.
  . Extend IRichRayTracing to return ray tracing summary result object.
  . Add == and != operators for EventID and BXID that check the correct
    number of bits
  . Add two new methods, anodeGlobalPosition, which return the position
    for a given RichSmartID or Rich::HPDPixelCluster on the anode pixel chip.

- In DAQEvent v7r5
  . Add bank types L0MuonCtrlAll, L0MuonProcCand, L0MuonProcData, L0MuonRaw,
                   L0MuonError, L0CaloFull and L0CaloError

- In HltEvent v8r4
  . More enums for the Hlt selections and the dimuon alley

- In LinkerEvent v3r2
  . Add a third template class to LinkedFrom, specifying the type of KEY of the
    SOURCE object.
  . Removed method intRange of LinkedFrom.
  . New method keyRange of LinkedFrom returning a vector of KEYS.
  . Insert keys in keyRange using explicitly KEY( int value)

- In L0Event v16r5
  . xml/L0MuonData.xml (new file): new class to store the lists of muon tiles
    received by the L0Muon processing units.
  . Event/L0DUBase.h : add the defintion of emptyMuonData
    (L0MuonBase.h becomes obsolete)
  . xml/L0Muon.xml: add new locations for the L0MuonCandidates

- In MCEvent v2r5
  . Add new class MCSensPlaneHit for special studies (e.g. in Calorimeters)
    providing kinematic of the particle when entering a plane

- In PhysEvent v11r3
  . xml/Particle.xml:
    + Add constructor Particle(const ParticleID& pid, const int key)
    + Remove constructor from int key

- In RecEvent v2r6
  . Replace Trigger RichPID location with HLT, and add explicit Offline location
  . Add some new methods to RichPID to set the threshold info for a given
    mass hypothesis

- In TrackEvent v4r6
  . Ensure no comparisions with != == between floats
  . Add 'propagationTolerance' to TrackParameters
  . Ensure state flags is initialized
  . Added 'extra-info' fields in track enum for information from track fit,
    expexted hits, KL clone variable
  . More fixes to fillStream method of Track
  . Make a few good inline-candidate methods inline

- In VeloEvent v16r0
  . Add classes needed for non-zero suppressed data decoding

- In CaloDAQ v4r0
  . Global review :
    + make the decoding interfaces and tools more uniform
    + new base interface CaloDaq/ICaloReadoutTool
    + new version number for all interfaces in CaloDAQ
    + CaloReadout.h moved from CaloDaq/ to src/
    + cleaning (printout, remove unecessary StatusCodes, ...)
    + check the decoding stuff was fully robust against corrupted/missing data

- In OTDAQ v5r4
  . Added OTLiteTime and OTRawBankDecoder
  . Modified OTTimeCreator to use OTRawBankDecoder

- In DetDesc v18r0
  . changed tick container to a fixed capacity array
  . optimizations in calculations of intersections in cone and polycone
  . changed logic in LVolume::intersectLine and LVolume::intersectBody such that
    volumes only once intersected if they are their own cover colume
  . DetDesc/IGeometryInfo.h, AlignmentCondition.h
    Backward incompatible change to names of methods returning 3D transformations
    for more explicit and hopefully clearer ones.
  . Fix gcc 4.0.3 compilation (Savannah patch 28908)
  . Made GeometryInfoPlus objects unregister from the UpdateManagerSvc on
    deletion and added the missing release of UMS.
  . DetDesc/GlobalToLocalDelta.h: Clarify signature and doxygen documentation
    of localDeltaFromGlobalTransform methods
  . Modifications to SolidBox and SolidTubs to speed things up
  . Improve doxygen documentation
  . Make log() in GeometryInfoPlus.h return MsgStream by reference not value

- In DetDescSvc v1r13, MuonDet v6r4, RichDet v10r7, DetCondExample v11r2
  . Adapt to DetDesc interface changes

- In DetDescSvc v1r13
  . Fixed bug in caching in TransportSvc
  . In UpdateManagerSvc:
    o Added an option to dump the network of dependencies as a DIA file
    o Added to the UpdateManagerSvc the possibility to "purge" the dependencies,
      i.e. reset all the pointers of objects that can be reloaded, so that one
      can clean the detector transient store.
    o Improvements in the unregister method to make it more robust.

- In CaloDet v8r4
  . implement Selection Board-> FEB connection (needed for L0Calo) in CardParam.h
    corresponding Hcal cabling is described in SQLDDDB > v2r2
  . Decalorimeter  method : int DeCalorimeter::selectionType( int card)
  . implement new attribute (deltaTime) in cellParam.h
  . implement new attribute (selectionType) in cardParam.h
  . new algorithm and options to produce time-misaligned Calorimeter

- In OTDet v7r6
  . Bug fixes in rt-relation, affecting use of inverse
  . revision of RtRelation class to be better suited for calibration algorithm
  . moved resolution to RtRelation

- In RichDet v10r7
  . Update DeRichHPDPanel TDS locations
  . Update methods that return a RichSmartID to always set the HPD properties
    for the closest HPD, even if the hit is outside the HPD tube acceptance
    and for the method that only traces to the HPD plane.
  . Update DeRichHPD to cache the transformation matrix for the silicon
    sensor to speed up the detectionPoint method
  . Update methods that find the points on the detection plane to return
    a summary object indicating the acceptance

- In STDet v3r6
  . Add short cuts to gets # box, # station, ....
  . Access boxes

- In OTDet v7r6, STDet v3r6
  . Changed parameterization for fast geometry access

- In VeloDet v12r1
  . The zone is now decided based on the strip in phi(strip,fraction,radius)
    methods.  The old method based on the radius was not safe for halfbox and
    global frames.
  . Changed the definition of strip radius in halfbox and global frames.  The
    cached values are no longer computed from the strip centre in the local
    frame.  Instead the strip radius is now an occupancy weighted mean.  In
    ideal geometry this is the same.
  . Minor fixes for WIN32
  . new caches of phi and r ranges in DeVeloRType and DeVeloPhiType in global
    and VELO halfbox frames.
  . added the concept of a global zone (only relevant for DeVeloRType).
  . added cache of strip impact paramters in several frames to DeVeloPhiType
    (only at the level of inner/outer zone, extension to cache per strip is
    trivial but costly in memory).
  . improved interface simplifying access to coordinates in several frames
  . added direct access to other type sensors in the opposite VELO half
  . the first update of geometry related caches is now triggered via the update
    manager service, avoiding double initialisation at job startup.

- In DetCond v11r6
  . Fix bugs related to 'lazy connection' feature

- In CondDBUI v2r5
  . Fixed 2 bugs in the browser

- In MCInterfaces v1r2, SimComponents v2r5, LoKiMC v6r0
  . IMCDecayFinder: replace all LHCb::MCParticle::Vector by ConstVector

- In TrackInterfaces v3r8
  . Add IPatSeedingTool and IHitExpectation interfaced
  . In ITrackExtrapolator, added LHCb::State& argument to Track to Point and to
    Plane propagate methods.

- In DaVinciKernel v6r6
  . IP2VV(Part)AngleCalculator.h:
    Two new interfaces for tools calculating angles in e.g. B->mumuK*
  . DVAlgorithm: use WriteSelResult Tool, remove IAlgorithm2ID usage
  . Remove IAlgorithm2ID.h
  . Added TisTosTobbing interfaces
  . Fix some doxygen comments
  . In src/Lib/DVAlgorithm.cpp: add ParticleAdder to list of VertexFitters,
    ParticleCombiners and ParticleReFitters.
  . Add a method to GeomDispCalculator

- In DaVinciMCKernel v2r3
  . IP2VVMCPartAngleCalculator.h:
    Interface for a tool calculating angles in a P->VV decay

- In RichRecBase v3r7
  . Adapt to changes in Clone information from tracking
  . Make another method in the pixel creator base class virtual
  . Update to use Mem pool allocator class from LHCbKernel
  . Add interfaces for stereographic fitting and projection tools in new
    component package Rich/RichRecStereoTools
  . Fix problems with some classes during dictionary generation
  . Speed improvements to pixel and photon creators and various event classes
  . Fix ordering problem in pixel creator, that came in when the RichDAQ data
    structure changed
  . Streamline and inline the one method in RichRecRing.cpp, and then remove
    this file
  . Extend IPhotonReconstruction interface with a method that passes a
    RichRecSegment pointer.
  . Update PhotonCrator base class to use new CK theta cuts based on
    n sigma around the expected CK theta resolution
  . Update PhotonCreator base class to only consider the mass hypothesis as
    configured in the Particle Properties tool.
  . Update the pixel creator to explicitly set the radiator corrected local
    positions, instead of doing them on-demand (for speed)
  . Update trace mode in track creator base to correct for refraction in the
    case of aerogel segments.

- In LoKiCore v6r0
  . Move the "hybrid" stuff from LoKiHybridBase
  . New functionality
    + LoKi/Monitoring.h :
      Three new metafunctions, Counter, Stat and Plot for self-monitoring
    + LoKi/Info.f and LoKi/ExtraInfo.h :
      Generic utilities & functors for manipulation with "extraInfo" data members
    + LoKi/ILoKiSvc and LoKi/Services.h : Add access to AlgContext Service
  . src/ParticleProperties.cpp src/Components/LoKiPIDTest.cpp:
    No implicit construction of ParticleID from int

- In LoKiGen v6r0
  . Add all "hybrid"-functionality for the interplay between C++ and Python,
    in particular for hybrid factory.

- In LoKiMC v6r0
  . src/Components/HybridMCParticleArrayFilter.cpp:
    Add LoKi::Hybrid::MCParticleArrayFilter, the first "hybrid" implementation
    of new interface IMCParticleArrayFilter

- In LoKiPhys v6r0
  . src/Particles0.cpp: No implicit construction of ParticleID
  . src/SelectVertex.cpp: temporarily removed as it depend on LoKiAlgo creating
    a circular dependency

- In LoKiAlgo v6r0
  . remove src\MomentumCombiner.cpp

- In LoKiCore v6r0, LoKiGen v6r0, LoKiMC v6r0, LoKiGenMC v6r0, LoKiPhys v6r0,
     LoKiAlgo v6r0, LoKiAlgoMC v6r0
  . Many minor updates to minimize the dependencies, reduce the dictionaries,
    decrease the compilation time and improve the doxygen documentation

- In PatTools v3r2
  . Bug fix in PatContainer - iterators become invalid  on windows after clear()

- in CaloDet v8r4, CaloUtils v7r5, CaloDAQ v4r0, Relations v5r2
  . Fix unchecked StatusCodes

- In IOExample v2r1
  . Update input files
  . Fix DataOnDemandSvc usage in ReadMin.opts

2007-07-24 LHCbSys v22r8

This version uses Gaudi v19r4 and LCG_52a. Fully compatible with DC06 data

- Packages modified: GaudiObjDesc v10r2, DetSys v9r8, CaloDet v8r3, OTDet v7r5,
    STDet v3r5, VeloDet v12r0, TrackInterfaces v3r7, CaloInterfaces v7r4,
    CaloUtils v7r4, DaVinciKernel v6r5, DaVinciMCKernel v2r2

- In GaudiObjDesc v10r2
  . Apply (Gaudi) Savannah patch 1230 to improve namespace handling:
    + If a  doesn't specify a namespace it will inherit it from its
      
    + A default package namespace can be provided to godII's command line via
      "-n TheNamespace"

- In CaloDet v8r3
  . Add new method : cardFirstValidRow(), cardLastValidRow(), + idem for columns
  . Fix uninitialised variable in CardParam

- In OTDet v7r5 (a-team changes)
  . Add interface to rt/t0-calibration
  . Add interface to fast creation of straw trajectory

- In STDet v3r5 (a-team changes)
  . Add interface to fast creation of straw trajectory
  . Add access to stereo angle

- In VeloDet v12r0 (a-team changes)
  . Added cache of half box offset vectors to DeVelo
  . The VELO sensors now provide a link to the sensor of the same type on the at
    the same station on other side of the VELO
  . Added cache for ideal phi(r) to DeVeloPhi(R)Type
  . Using fast casts in DeVelo
  . Using sparse vector instead of map for sensor number -> sensor mapping
  . Added cache for global r,phi and halfbox frame r,phi per strip.  The cache
    update is properly registered with the update manager.
  . Added fast and safe casting methods
  . r(phi) sensors now know their associated phi(r) sensor on the same module
  . Made DeVeloSensors aware of their station number

- In VeloDet v11r4 (released with v12r0)
  . Corrected isDownstream method so that it will work for data and DC06
    (Requires HEAD tag in SQLDDDB v2r1).
  . Removed virtual method localPhiToGlobal in DeVeloSensor and replaced with
    correct inline method.
  . Add method to return strip lengths for each strip.
  . Fix bug in rPitch(strip,fraction) method.

- In TrackInterfaces v3r7
  . changed MeasurementProvider to allow creation of y trajectory for Muon hits

- In CaloInterfaces v7r4
  . New interfaces : ITrack2Calo and IPart2Calo --> match Track/Part to calo

- In CaloUtils v7r4
  . New tools for L0 on/offline matching: Track2Calo and Part2Calo --> match
    Track/Part to Calo. CaloElectron tool updated accordingly

- In DaVinciKernel v6r5
  . Add interfaces IFilterParticles and IParticleArrayFilter, and base class
    FilterParticlesBase.

- In DaVinciMCKernel v2r2
  . Add interfaces IFilterMCParticles and IMCParticleArrayFilter.
  . Add skeleton implementation FilterMCParticlesBase

- In EventSys v23r8
  . Added actions to copy rootmap files from RELAX into the LHCB install area
    rootmap file to enable auto-loading for RELAX dictionaries.

- In LinkerInstances v3r3
  . Add dictionaries for linkers to/from LHCbID and Particle

- In MCEvent v2r5, LinkerInstances v3r3, DetDesc v18r0
  . Remove duplicate dictionaries already in libMathRflx and libSTLRflx

- In OTDet v7r5, CaloDet v8r3
  . Fix doxygen warnings

2007-07-14 LHCbSys v22r7

This version uses Gaudi v19r4 and LCG_52a. Fully compatible with DC06 data

- Packages modified: KernelSys v6r7, LHCbKernel v7r6, RichKernel v7r7,
    LHCbMath v2r2, GaudiObjDesc v10r1, EventSys v23r7, TrackEvent v4r5,
    RecEvent v2r5, HltEvent v8r3, L0Event v16r4, EventAssoc v4r2, DetSys v9r7,
    DetDesc v17r5, OTDet v7r4, RichDet v10r6, DetCond v11r5, CondDBUI v2r4,
    TrackInterfaces v3r6, MCInterfaces v1r1, RichRecBase v3r6, TsaKernel v2r5,
    LHCbAlgs v2r10, SimComponents v2r4, GaudiConf v10r4

- In GaudiObjDesc v10r1
  . Add to DTD the possibility to define the namespace to be used for the
    generated classes. Default value is "LHCb"

- In LHCbKernel v7r6
  . Extend IHltSummaryTool interface
  . Add human-friendly printout for LHCbID, STChannelID, OTChannelID,
    VeloChannelID and MuonTileID
  . IVeloClusterPosition interface updated, new method that can accept
    const reference to StateVector added

- In RichKernel v7r7
  . Various minor updates to DAQ classes
  . Add placement new operator to BoostMemPoolAlloc.h
  . Update number of L1 inputs from 9 to 12, to match latest firmware

- In LHCBMath v2r2
  . LHCbMath/GeomFun.icpp: closestPointParams(line, line, double, double) was
    assuming lines with normalised direction vectors. Fix to work with arbitrary
    length direction vectors.
	. Bug fix to parallel(line, line) method.

- In TrackEvent v4r5
  . Removed kappa. Consistently use c_light in extrapolators and StateTraj
  . Added 4 more history types to Track.xml for the various PatVelo algorithms
  . Removed VeloMissed from AdditionalInfo enum in Track.xml

- In RecEvent v2r5
  . In VertexBase: add setExtraInfo method
  . In MuonPID: add data member SmartRef to muon Track

- In HltEvent v8r3
  . More enums
  . Remove HltSummaryFunctor, moved to HltBase and renamed to HltSummaryHelper

- In L0Event v16r4
  . Make all getter methods in L0DUReport const

- In DetDesc v17r5
  . Use cbrt in Gaudi::Math rather than pow
  . AlignmentCondition.cpp: Tidy up makeMatrices method by using functions from
    DetDesc/3DTransformationFunctions.h
  . GeometryInfoPlus.cpp: fix bug: local copy of the misalignment matrix was
    holding the inverse of what the code thought it was holding.
  . GlobalToLocalDelta.cpp: fix localDeltaMatrix function, algebra was wrong
  . DetDesc/GlobalToLocalDelta.h, src/Lib/GlobalToLocalDelta.cpp: add methods
    to get the local delta matrix starting from a global position matrix, and
    from a position matrix giving the position of an element with respect to one
    of its ancestors.
    (See details in talk at 
T-Rec on 2007-07-09
)

- In RichDet v7r7
  . Small change to take into account the misalignmet of the Si sensor in the
    conversion from smartID to detection point

- In DetCond v11r5
  . Added the possibility to connect to the database only when needed (and made
    it the default), so a job does not need the database does not need to be
    able to connect to it or to be reconfigured.

- In CondDBUI v2r4
  . Added dump_db_to_files.py script to dump a database snapshot to XML files
  . Fixed the local copy of PyCoolDiff
  . Added a wrapper for PyCoolCopy.copy to support LFCReplicaSvc
  . Added the function conddbui.merge to copy the content of a database
    into another (where folders already exist).
  . Made PyCoolDiff working also when the provided tag is not valid for all the
    folders
  . Added the utility function CondDB.getCOOLNode to retrieve a IFolder or
    IFolderSet object from the database without having to check the type of the
    requested node

- In TrackInterfaces v3r6
  . Removed transportMatrix getter from and added a propagate method to the
    ITrackExtrapolator interface
  . Add ITracksFromTrack.h interface

- In MCInterfaces v1r1
  . Remove obsolete interfaces: ITrackReconstructible, ITrackCriteriaSelector

- In RichRecBase v3r6
  . Use track type instead of history to identify Velo only tracks

- In TsaKernel v2r5
  . Bug fix in OTCluster drift radius calc, trajectories run towards readout....

- In LHCbAlgs v2r10
  . PrintHeader: print header in info(). Avoids other useless printout in debug()

- In SimComponents v2r4
  . Change MCParticleSelector defaults to not apply Eta cut.

- In GaudiConf v10r4
  . Add Rec/Track/Muon to DstContent.opts

- In EventAssoc v4r2, OTDet v7r4
  . Add more dictionaries

- In DetDesc v17r5, OTDet v7r4, TrackInterfaces v3r6, LHCbMath v2r2
  . Fix doxygen warnings

2007-06-15 LHCbSys v22r6

This version uses Gaudi v19r4 and LCG_52a. Fully compatible with DC06 data

- Packages removed: HltBase           - Moved to HLT project
                    TrackMCInterfaces - All interfaces moved to MCInterfaces
- Packages added:   MCInterfaces v1r0 - Interfaces with dependency on MC
                    LoKiMC       v3r0 - Moved from ANALYSIS project
                    LoKiGenMC    v3r0 - Moved from ANALYSIS project
                    LoKiPhys     v4r0 - Moved from ANALYSIS project
                    LoKiPhysMC   v5r0 - Moved from ANALYSIS project
                    LoKiAlgo     v4r0 - Moved from ANALYSIS project
                    LoKiAlgoMC   v4r0 - Moved from ANALYSIS project

- Packages modified: KernelSys v6r6, LHCbKernel v7r5, RichKernel v7r6,
    DetSys v9r6, DetDesc v17r4, OTDet v7r3, CaloDet v8r2, VeloDet v11r3,
    STDet v3r4, RichDet v10r5, MuonDet v6r3, RichRecBase v3r5, DetDescSvc v1r12,
    GaudiObjDesc v10r0, EventSys v23r6, DAQEvent v7r4, DigiEvent v2r2,
    EventBase v2r4, GenEvent v5r1, HltEvent v8r2, L0Event v16r3,
    LinkerEvent v3r1, MCEvent v2r4, PackedEvent v6r2, PhysEvent v11r2,
    RecEvent v2r4, TrackEvent v4r4, VeloEvent v15r1, CaloInterfaces v7r3,
    CaloUtils v7r3, TrackInterfaces v3r5, LHCbAlgs v2r9, LoKiCore v3r0,
    LoKiGen v3r0, DaVinciKernel v6r4, DAQSys v3r3, CaloDAQ v3r3, MuonDAQ v3r2,
    OTDAQ v5r3, SimComponents v2r3, DetCond v11r4, DetCondExample v11r1,
    CondDBUI v2r3

- In LHCbSys
  . Cleanup doxygen configuration files to follow changes in Gaudi v19r4 doc
  . Add root/reflex to doxygen, remove unused parts of SEAL

- In LHCbKernel v7r5
  . Add isVeloR, isVeloPhi, isPileUp methods to LHCbID
  . Add IHltSummaryTool interface (moved from HltBase)
  . Add sameChannel and sameTime members to OTChannelID
  . Updated IVeloClusterPosition interface to accept track state as argument
  . IMCParticleSelector interface moved to MCInterfaces

- In RichKernel v7r6
  . IRichMCTruthTool and IRichMCTrackInfoTool interfaces moved to MCInterfaces
  . Added missing dependency on DAQEvent

- In RichRecBase v3r5
  . IRichRecMCTruthTool interface moved to MCInterfaces

- In MCEvent v2r4
  . Move all interfaces to new MCInterfaces package and remove Kernel directory

- In MCInterfaces v1r0
  . Add bool operator() to IMCParticleSelector (To allow similarity of interface
    between the various 'selector' type tools).
  . Update IMCReconstructible interface
  . Extend the IIdealStateCreator interface to use state vector

- In SimComponents v2r3
  . Adapt to new locations of MCInterfaces
  . Follow extension in IMCReconstructible interface

- In TrackInterfaces v3r5
  . Add method to IVeloExpectation to return struct containing r and phi hits
  . Remove const from TrackManipulator interface
  . Add IMaterialLocator interface
  . Extended IMeasurementProvider with 'update' function for a measurement
  . Extended ITrackExtrapolator with propagation of a StateVector

- In DAQEvent v7r4
  . Add error bank types for EcalPacked/HcalPacked/PrsPacked

- In HltEvent v8r2
  . Added an enum entry HltSelEntry=1000 which is always stored
    in HltSummary when HltSelections are reached.

- In PackedEvent v6r2
  . Standardize dict selection files

- In TrackEvent v4r4
  . Add class StateVector
  . Add hasT, hasVelo and hasTT functions to Track
  . Change units of kappa to what is correct !

- In DetDesc v17r4
  . Added temporary files in src/Lib:
    + RotationZYX{.h, .cpp}   : Hacked from homonymous MathCore file in ROOT cvs.
      Describes a 3D rotation transformation about the Z, Y' and X" axes
    + 3DConversions{.h, .cpp} : Hacked from homonymous MathCore file in ROOT
      cvs head. Provides conversions between RotationZYX and other MathCore 3D
      rotation representations.
  . DetDesc/AlignmentCondition.h, src/Lib/AlignmentCondition.cpp
    + Use RotationZYX class internally. At the moment this is messy, as it is
      still not integrated with MathCore. So code will need to be cleaned up when
      RotationZYX classes and co are released in MathCore.
    + Provide functionality to get back and update the set of Z-Y-X Euler angles
      obtained each time the transformation matrix is modified.
    + Fix bug in matrix(const Gaudi::Transform3D&) method.
  . Add DetDesc/GlobalToLocalDelta.h, src/Lib/GlobalToLocalDelta.cpp
    + Simple standalone functions to convert a misalignment calculated in the
      global frame to the corresponding misalignment in the frame of the parent
      of the detector element in question.
    + These functions are independent of DetDesc and should be put elsewhere,
      but for the time being they rely on src/Lib/3DConversions.h, which will
      disappear when a version of MathCore with a fully integrated
      ROOT::Math::RotationXYZ is released.

- In DetDescSvc v1r12
  . Fixed a bug in UpdateManagerSvc. Check if the setting of the user provided
    pointers is successful or not.
  . Improvement in conditions override. Now it respects the actual type of the
    object in the transient store (was not working with AlignmentCondition), if
    possible. It is also possible to specify only few parameters of the
    condition, and the other are taken from the database.

- In OTDet v7r3
  . Some minor changes requested by the A-Team:
    + Random access to detector elements
    + Added const find methods for detector elements

- In MuonDet v6r3
  . Add a default value for the muon detector location in /dd...
  . Clean up many StatusCodes

- In CaloDet v8r2
  . Fix FE-card connection to neighbors in DeCalorimeter::buildCards()

- In DetCond v11r4
  . Removed the check on macro CORAL_1_8_x (use always the new CORAL feature).

- In CondDBUI v2r3
  . Fixed a problem in copy_files_do_db.py: the destination path was not taken
    into account when correcting the relative paths to included files (SYSTEM
    tag)
  . Allow transparent usage of CORAL LFCReplicaService (enabled if the
    environment variable CORAL_LFC_BASEDIR is set).
  . Use Qt from LCG_Interfaces

- In OTDet v7r3, CaloDet v8r2, VeloDet v11r3, STDet v3r4, RichDet v10r5,
     MuonDet v6r3
  . Add xxxLocation::* variables to dictionary

- In DetSys v9r6, OTDet v7r3, CaloDet v8r2, MuonDet v6r3
  . Move lcg dictionary generation from DetSys to individual packages

- In LHCbAlgs v2r9
  . ProcessPhase "MeasureTime" property now defaults to GaudiSequencer default
  . Adapt to Gaudi v19r4 change of setFilterPassed return type

- In DetCondExample v11r1
  . Added a test for conditions overriding with alignment conditions

- In LoKiCore v3r0, LoKiMC v3r0, LoKiGen v3r0, LoKiGenMC v3r0, LoKiPhys v4r0,
     LoKiPhysMC v5r0, LoKiAlgo v4r0, LoKiAlgoMC v4r0, LoKiHybrid v2r0
  . Major new version, now all LoKi's dictionaries are build with the packages

- In LoKiMC v3r0
  . Add 2 new functions (wrappers for IMCReconstructible tool)
  . Add many STL-like algorithms into namespace LoKi::MCAlgs
  . Make a coherent  (with respect to generator/HepMC) treatment of "children"
    (LoKi::Child). Add many functions into namespace LoKi::Child
  . Adapt to new location for MCInterfaces includes

- In LoKiPhys v4r0
  . Provide more coherent interfaces for RC/MC/HepMC-particles
  . Upgrade of various "STL-like" algorothms

- In CaloInterfaces v7r3
  . Add new interface : ICalo2Calo

- In CaloUtils v7r3
  . Add new tool : Calo2Calo --> connect 2 calorimeters

- In CaloDAQ v3r3
  . CaloReadoutTool and decoding tools : add property to allow skipping the
    Detector Specific Header when present
  . Fix CaloDataProvider so that the tool can run correctly on 0-suppressed banks

- In CaloDAQ v3r3, MuonDAQ v3r2
  . Remove rootOnTES() logic, now done in Gaudi base classes (Gaudi >= v19r4)

- In DaVinciKernel v6r4
  . DVAlgorithm::setFilterPassed now returns void, as in Gaudi v19r4 base class

- In DaVinciKernel v6r4, PhysEvent v11r2
  . Move IParticleTransporter.h from PhysEvent to DaVinciMCKernel

- In GaudiObjDesc v10r0
  . added new two patterns to generate the headers and dictionaries.
    god_headers: generates the header files using the existing document
    god_dictionary: generates the dictionary header file and selection file and
                    calls the standard relex_dictionary provided by the Reflex
                    LCGCMT interface package
  . fix 'static' handling for method generation
  . change doxygen style for enum values from ///< to //

- In DAQEvent v7r4, DigiEvent v2r2, EventBase v2r4, GenEvent v5r1, HltEvent v8r2,
     L0Event v16r3, LinkerEvent v3r1, MCEvent v2r4, PhysEvent v11r2,
     RecEvent v2r4, TrackEvent v4r4, VeloEvent v15r1, OTDAQ v5r3,RichRecBase v3r5
 . Adapt requirements to new GaudiObjDesc v10r0 patterns

- In CaloDet v8r2, RichDet v10r5
  . Fix doxygen warnings

2007-05-16 LHCbSys v22r5

This version uses Gaudi v19r3 and LCG_50b. Fully compatible with DC06 data

- Packages modified: KernelSys v6r5, RichKernel v7r5, RichRecBase v3r4,
    DetSys v9r5, DetDesc v17r3, EventSys v23r5, EventBase v2r3, MCEvent v2r3,
    TrackEvent v4r3, HltEvent v8r1, TrackInterfaces v3r4, TrackMCInterfaces v3r1,
    LHCbAlgs v2r6, DaVinciKernel v6r3, TsaKernel v2r4, SimComponents v2r2,
    DetCond v11r3, LHCbKernel v7r4

- In LHCbSys v22r5
  . Add DoxyLHCbCommon.cfg file for use by doxygen of LHCb applications
  . Change colour of doxygen banner for consistency with other online docs.

- In LHCbKernel v7r4
  . Move Kernel/lcgStl.h selection file to dict/LHCbKernelDict.h
  . Added the two header files Kernel/CondDBNameTagPair.h and ICondDBInfo.h
    to provide a simplified interface to access the conditions database names
    and tags without the need to depend on DetCond (and COOL).
  . In LbAppInit, add pointer to ICondDBInfo interface of CondDBSvc

- In RichKernel v7r5
  . Add new helper class RichHPDIdentifier to convert 'human friendly'
    HPD numbers to and from RichSmartIDs
  . Add to lcg dictionary some public classes

- In RichRecBase v3r4
  . Fixes for lcg dictionaries on windows + add dictionaries for various
    utility classes
  . Add new method to MC truth tool to get MC CK rings
  . Add protection against PixelCreatorBase::buildPixel returning a null pointer

- In DetDesc v17r3
  . DetDesc/IGeometryInfo.h, GeometryInfoPlus.h:
    Add const Gaudi::Transform3D IGeometryInfo::localMatrix() const.
    Returns full transformation (incl. misalignment) relating its frame to
    that of its detector element parent.

- In DetCond v11r3
  . Extended ICondDBReader with the interface ICondDBInfo from LHCbKernel and
    implemented the new function in all the ICondDBReader's (CondDBCnvSvc,
    CondDBAccessSvc, CondDBLayeringSvc, CondDBDispatcherSvc)
  . Prepare new functionality requiring CORAL 1.8.0 API (not available in this
    release, new code is protected by #ifdef):
    + Added service OnlineDBValidatorSvc to check if the Online CondDB replica
      is recent enough. (see doxygen documentation)
    + First implementation of algorithm to sort DB replicas extracted from LFC

- In EventBase v2r3
  . Add condDBTags() member to ProcessHeader

- In MCEvent v2r3
  . Tidy up MCTrackInfo + make it a bit faster
  . Add MCTrackGeomCriteria.h/.cpp
    (wrapper to allow runtime composition of acceptance criteria )
  . Add MCFun.h/.cpp functions to flag interactions on the MCParticle
  . Add GhostTrackInfo (needed by ghost track classification tools)

- In TrackEvent v4r3
  . Add to track functions to return phi(), pseudoRapidity(), probChi2()
  . Modify fillstream

- In HltEvent v8r1
  . Added a list of exclusive selections to HltSummary.xml
	. Added decision types offset for the selection enums in HltSummary.xm
  . Added action to trigger python executable to create header file HltNames
    with the conversion HltEnums <-> strings

- In TrackInterfaces v3r4
  . Added several propagate methods to ITrackExtrapolator

- In TrackMCInterfaces v3r1
  . Changes in IIdealStateCreator interface (takes State& instead of State*&)
  . Add ITrackGhostClassification, ILHCbIDsToMCParticles, ILHCbIDsToMCHits

- In TsaKernel vv2r4
  . Remove ILHCbIDsToMCParticles, ILHCbIDsToMCHits

- In SimComponents v2r2
  . Add possibility to remove hadronic interactions to MCParticleSelector
  . Use MCTrackGeomCriteria in MCReconstructible

- In DetSys v9r5, DetDesc v17r3
  . Move generation of DetDesc dictionaries to DetDesc package

- In DaVinciKernel v6r3
  . Improve verbose printout of ProtoParticles in the ProtoParticleSelection

- In LHCbAlgs v2r8, DaVinciKernel v6r3
  . Fix untested StatusCodes

- In RichKernel v7r5, DetDesc v17r3, TrackInterfaces v3r4, DaVinciKernel v6r3,
     LHCbKernel v7r4
  . Fix some doxygen warnings

2007-04-23 LHCbSys v22r4

This version uses Gaudi v19r3 and LCG_50b. Fully compatible with DC06 data

- Packages modified: KernelSys v6r4, LHCbKernel v7r3, RichKernel v7r4,
    EventSys v23r4, EventBase v2r2, MCEvent v2r2, TrackEvent v4r2, RecEvent v2r3,
    DAQEvent v7r3, DetSys v9r4, RichDet v10r4, STDet v3r3, VeloDet v11r2,
    DetDescCnv v4r3p1, DetCond v11r2, CondDBUI v2r2, DAQSys v3r2, OTDAQ v5r2,
    CaloDAQ v3r2, MDF v2r4p2, CaloInterfaces v7r2, CaloUtils v7r2,
    TrackInterfaces v3r3, RichRecBase v3r3

- In LHCbKernel v7r3
  . Extend the DifTraj interface with an operator+= which allows one to
    update the parameters of a DifTraj when fitting for them
  . Implement operator+= in AlignTraj to follow the above
  . Add new flag to RichTraceMode to control kapton intersection checks
  . Add typedef to RichSmartID for boost pool allocated vector
  . Add dict for std::pair, previously in DetSys

- In RichKernel v3r4
  . First bug in postfix ++ and -- operators in RichDAQDefinitions.h
  . Import various DAQ related class from RichDAQ and RichDet
    Needed to allow access to headers/footers etc outside RichDAQ
  . Move content of RichEvent directory into RichKernel and remove RichEvent
  . Update IRichRawDataFormatTool for new decoded RICH data object
  . Update IRichSmartIDTool to return a statuscode for translation of a
    smartID into a global position
  . Add copy constructor to RichObjPtn
  . Various speed optimisations to RichPixelCluster.h
  . Additions to DAQ definitions

- In MCEvent v2r2
  . Add MCCaloDataFunctor.h

- In TrackEvent v4r2
  . Add stdVectorTypeDef="TRUE" to Measurement.xml
  . Add Muon track type and location

- In RecEvent v2r3
  . RecHeader no longer distinguishes between positive and negative event numbers
    + evtNumber() accessor is now longlong (was ulonglong)
    + realData() function removed

- In DAQEvent v7r3
  . Add "ForceRawEvent" property to OdinTimeDecoder tool, to force it to decode
    ODIN bank even if DAQ/ODIN object already exists in TES.

- In EventBase v2r2, DAQEvent v7r3, MCEvent v2r2, RecEvent v2r3
  . Add copy constructors to ProcessHeader, RecHeader, ODIN, MCHeader, ProcStatus

- In RichDet v10r4
  . Move RichDAQDefinitions.h into RichKernel -> Introduce dependency on
    RichKernel
  . Some more optimisation in DeRichSystem, by making some methods inline
  . Move the detectionPoint functionality from DeRichHPDPanel to DeRichHPD
    to be able to use individual properties of HPDs.
  . Added DeRichLocations.h to hold all the locations of DeRich objects
  . Added methods in DeRichSystem to return the copy number and xml
    location of an HPD in smartID form.
  . Some speed improvements for HLT
    + Remove MsgStream object
    + Make some methods non virtual (not needed to be virtual)
    + Use new flag in RichTraceMode to control checking for intersections
      with kapton HPD shields
    + Various small tidy ups

- In VeloDet v11r2
  . Read the cut related to the sensitive volume ID from existing value in DDDB

- In DetDescCnv v4r3p1
  . Improved the warning for failing computation in XmlMixtureCnv.

- In DetCond v11r2
  . Added ICondDBAccessSvc::connectionString() to be able to find the
    connection string that was used without looking in the options.
  . Use a static std::auto_ptr instead of a basic pointer and a counter of
    instances (for CondDBAccessSvc::s_XMLstorageSpec).
  . Added class CondDBSQLiteCopyAccSvc to copy an SQLite file and connect to
    the copy.

- In CondDBUI v2r2
  . Fixed a bug in the requirements: it was still depending on SQLDDDB v*.
    (now it should be DDDB)
  . Made it possible to pass to copy_files_to_db.py files with system ids
    starting with "conddb:" without breaking them.

- In CaloInterfaces v7r2
  . Remove const qualifiers in ICaloMomentum
  . Add new virtual methods bremstrahlung() & bremCaloMomentum() to ICaloMomentum
  . ICaloElectron moved to CaloUtils
  . Standardize the package : interfaceID() inlined, virtual destructor removed
     --> src/ removed

- In CaloUtils v7r2
  . Fix bug in CaloMomenum definition of the transport matrix (indices swap)
  . Add new methods bremstrahlung() & bremCaloMomentum() in CaloElectron
  . Implement ICaloMomentum interface (moved from CaloInterfaces)

- In CaloDAQ v3r2
  . Add a patched implementation of CaloDataProvider : CaloDataProviderPatched
    with temporary patches allow to deal with the current Calo TELL1 firmware.
    Will be merged with CaloDataProvider once firmware is frozen.
  . CaloReadoutTool : rawEvent location can be changed by option
  . Fix bug in CaloTriggerBitFromRaw : tool returned only the last TELL1 data.
  . Fix an old bug in CaloFillPrsSpdRawBuffer : last Prs/Spd L0bits were missing
    for 50% of events.
  . Adapt CaloReadoutTool for consecutive bunch crossings readout

- In RichRecBase v3r3
  . Add class to store radiator corrected positions
  . Add new options to RichPixelCreatorBase to turn off entirely the
    clustering for reconstruction (HLT).
  . Some speed optimisations
    + Pass clusters and smartIDs by reference to RichRecPixel constructor
    + Dedicated stream in RichPixelCreatorBase for single cluster pixels

- In TrackInterfaces v3r3
  . Add ITrajFitter interface

- In MDF v2r4p2
  . Fix bug in MDFIO discovered during the RICH commissioning
  . Use RawEventLocation::Default instead of hardwired string

- In DetSys v9r4, RichDet v10r4, STDet v3r3, VeloDet v11r2
  . Move generation of dictionaries to package where classes are defined, add
    missing dictionaries for all public classes and return types

- In RichKernel v3r4, RichRecBase v3r3, CaloInterfaces v7r2
  . Generate dictionary for all interfaces

- In VeloDet v11r2, OTDAQ v5r2
  . Fix untested StatusCodes

- In STDet v3r3, CaloUtils v7r2, LHCbKernel v7r3, RichKernel v3r4, RecEvent v2r3,
     RichDet v10r4, RichRecBase v3r3, MDF v2r4p2
  . Fix doxygen warnings

2007-03-23 LHCbSys v22r3

This version uses Gaudi v19r3 and LCG_50b. Fully compatible with DC06 data

- Packages added:    Det/DDDB v1r0 - Interface package to (SQL)DDDB
- Packages modified: GaudiConf v10r3, KernelSys v6r3, RichKernel v7r3,
    DaVinciKernel v6r2, TsaKernel v2r3, TrackInterfaces v3r2, RichRecBase v3r2,
    DetSys v9r3, DetDesc v17r2, MuonDet v6r2, Magnet v3r6, DetDescCnv v4r3,
    RichDet v10r3, DetDescSvc v1r11, DetCond v11r1, HltBase v2r3, LHCbAlgs v2r7,
    EventSys v22r3, TrackEvent v4r1, LinkerInstances v3r2p3, DetDescChecks v4r3,
    DetDescExample v7r5, CondDBUI v2r1, EventAssoc v4r1, Relations v5r1

- In GaudiConf v10r3
  . Move geometry related options to new DDDB package

- In RichKernel v7r3
  . Add new pixel cluster class Rich::HPDPixelCluster to represent a group of
    channels (RichSmartIDs)
  . Update RichGeomPhoton to use Rich::HPDPixelCluster
  . Update RichSmartIDTool interface to add new method to return the global
    position of an HPD pixel cluster

- In RichRecBase v3r2
  . Adapt to use of HPD pixel cluster in reconstruction
  . Update MC truth interface for new HPD pixel clusters
  . Update pixel creators to be able to include clustering information

- In DaVinciKernel v6r2
  . Removed PhysDesktop and Particle2VertexAsct implementations (to DaVinciTools)
  . Removed component library compile and link statements in requirements

- In TsaKernel v2r3
  . Add constructor to Line class

- In TrackInterfaces v6r2
  . Add IVeloExpectation interface

- in HltBase v2r3
  . Add IPrepareMuonTSeed and IMatchTVeloTracks interfaces

- In MuonDet v6r2
  . Replaced calls to std::string::data() with std::string::c_str() or removed
    where not needed.
  . Fix in DeMuonDetector::~DeMuonDetector: m_chamberLayout was deleted, but
    neither initialized to 0 nor checked.

- In RichDet v10r3
 - Add some new DAQ definitions

- In Magnet v3r6
  . Remove unnecessary MagneticFieldSvc::fieldGrid internal function, implement
    directly in FieldVector

- In DetCond v11r1
  . Added an option to enable CORAL LFCReplicaService (off by default).
  . Added an option to enable CORAL automatic connection purge.
  . Added a check on the database in CondDBAccessSvc::i_checkTag to avoid
    segmentation possible faults.
  . Disabled some compiler optimizations in libstdc++ on slc3, because it seems
    that on SLC3 there are problems with multithreaded applications.
  . Small improvement to the database disconnect message

- In DetSys v9r3
  . Add dictionary for std::vector

- In TrackEvent v4r1
  . Add PatQuality value to Track::AdditionalInfo enum

- In LinkerInstances v3r2p3
  . Add dictionary for std::vector >

- In EventAssoc v4r1
  . Add dictionary for RelationWeighted1D

- In RichKernel v7r3, RichRecBase v3r2, RichDet v10r3
  . Replace use of Gaudi format with boost::format to fix various issues

- In Relations v5r1
  . Fix requirements for rootmap generation

- In DetDescChecks v4r3, DetDescExample v7r5
  . Remove explicit dependency on SQLDDDB, use DDDB instead

- In DetDescChecks v4r3
  . VolumeCheck.py updated for SQLDDDB

- In DetDescExample v7r5
  . Update Gaudi.job

- In CondDBUI v2r1
  . Fixed a small bug when trying to find the tags of a folder.

- In TsaKernel v2r3, HltBase v2r3, DetDesc v17r2, DetDescSvc v1r11,
     RichKernel v7r3, RichRecBase v3r2, RichDet v10r3, TrackEvent v4r1,
     Relations v5r1
  . Fix doxygen comments

- In MuonDet v6r2, DetDesc v17r2, Magnet v3r6, DetDescCnv v4r3, DetDescSvc v1r11,
     LHCbAlgs v2r7
  . Clean up some untested StatusCodes

2007-03-05 LHCbSys v22r2

This version uses Gaudi v19r2 and LCGCMT 50. Fully compatible with DC06 data

- Packages added:    CondDBUI v2r0        - scripts for use with CondDB
                     DaVinciKernel   v6r1 - moved from PHYS
                     DaVinciMCKernel v2r1 - moved from PHYS
- Packages removed:  LHCbInterfaces - use includes from GaudiKernel instead
- Packages modified: GaudiObjDesc v9r9, KernelSys v6r2, LHCbKernel v7r2,
    LHCbMath v2r1, RichKernel v7r2, CaloInterfaces v7r1, TsaKernel v2r2,
    DetSys v9r2, DetDesc v7r1, OTDet v7r2, VeloDet v11r1, DetDescSvc v1r10p1,
    Magnet v3r5, STDet v3r2, RichDet v10r2, CaloDet v8r1, MuonDet v6r1,
    DetDescCnv v4r2, DetDescChecks v4r2, CaloDetXmlCnv v3r1, XmlTools v5r1,
    EventSys v23r2, EventBase v2r1, L0Event v16r2, MCEvent v2r1, DigiEvent v2r1,
    RecEvent v2r2, PackedEvent v3r1, DAQEvent v7r2, LinkerInstances v3r2p2,
    HltBase v2r2, LHCbAlgs v2r6, TrackInterfaces v3r1, TrackMCInterfaces v3r0,
    DetCond v11r0, CondDBEntityResolver v4r0, DetCondExample v11r0, DAQSys v3r1,
    CaloDAQ v3r1, MuonDAQ v3r1, OTDAQ v5r1, LoKiGen v2r1, LoKiCore v2r1,
    SimComponents v2r1, PatTools v3r1, GaudiConf v10r2, DetDescExample v7r4,
    IOExample v2r0p3

- In GaudiConf v10r2
  . Modified DC06Conditions.opts and DetDesc.opts to use SQLDDDB

- In DetDescExample v7r4, DetDescChecks v4r2
  . Modified requirements to use SQLDDDB instead of XmlDDDB/XmlConditions

- In GaudiObjDesc v9r9, PackedEvent v3r1, DAQEvent v7r2, CaloDet v8r1,OTDet v7r2,
     MuonDet v6r1, RichDet v10r2, STDet v3r2, VeloDet v11r1, TsaKernel v2r2
  . replace static const CLID& CLID_xxx = yyy by static const CLID CLID_xxx = yyy

- In LHCbKernel v7r2, HltBase v2r2, TrackInterfaces v3r1, TrackMCInterfaces v3r0,
     XmlTools v5r1
  . Make reflex dictionary for interfaces defined in the package

- In LHCbAlgs v2r6, LHCbKernel v7r2
  . Move LbAppInit factory to LHCbAlgs, keeping LHCbAlgs base class in LHCbKernel

- In LHCbKernel v7r2, LHCbMath v2r1
  . Do not add SMatrix to ROOT_linkopts (not needed with new plugins)

- In LHCbKernel v7r2
  . Do not add Reflex to ROOT_linkopts (already done by GaudiKernel)
  . Add IAlgorithmCorrelations interface, previously in Tools/Utilities

- In LHCbAlgs v2r6
  . Add general purpose components previously in Tools/Utilities:
    AlgorithmCorrelations, DeterministicPrescaler, PostScaler, PrintHeader
    Also EventCounter (previouly called EventNumber)

- In LHCbAlgs v2r6, SimComponents v2r1, DAQEvent v7r2, STDet v3r2, RichDet v10r2,
     CaloDet v8r1, OTDet v7r2, VeloDet v11r1, MuonDet v6r1, CaloDAQ v3r1,
     CaloDetXmlCnv v3r1, LHCbKernel v7r2, DetDescSvc v1r10p1, Magnet v3r5,
     DetDescChecks v4r2, DetCond v11r0, CondDbEntityResolver v4r0, XmlTools v5r1,
     LoKiCore v2r1, DetDescCnv v4r2, MuonDAQ v3r1, OTDAQ v5r1, PatTools v3r1
  . Remove obsolete file xxx_load.cpp

- In DetDesc v17r1
  . Remove all factories, obsolete remnant of an old DetDesc implementation
  . Fixed a minor bug in a debug function of ParamValidDataObject

- In OTDet v7r2, STDet v3r2, VeloDet v11r1
  . Add callback methods to update cached values when alignment conditions change

- In CaloDet v8r1
  . BuildMonitoringSystem() in Decalorimeter::initialize()
  . Add a lot of new methods in DeCalorimeter to allow the navigation
    between Cells<->FECard<->Tell1 and Cells<->Leds<->Pins
  . Add CaloLed and CaloPin (header and implementation files)
  . Add Tell1Param and update CardParam (using CaloDAQ definition)

- In MuonDet v6r1
  . Moved declaration of factories from link library to component library
  . Moved call to "this->dataSvc()" (in DeMuonDetector) from constructor to
    initialize
  . Add methods for proper readout condition
  . Add methods for dialog chip deadtime simulation

- In DetDescSvc v1r10p1
  . Add a couple of useful warnings in UpdateManagerSvc
  . Minor bugfix in DEBUG output of UpdateManagerSvc

- In EventBase v2r1, MCEvent v2r1, RecEvent v2r2
  . Define all Header locations in ProcessHeader, for reuse in derived classes

- In L0Event v16r2, DigiEvent v2r1
	. xml/L0CaloADC.xml : default location for Ecal/Hcal PIN L0CaloAdcs

- In MCEvent v2r1
  . Add copy-constructor, clone and cloneWithKey methods to MCVertex, MCParticle
  . Add IForcedBDecayTool interface
  . Added dictionary for std::vector needed by
    DecayFinder and other tools from Python
  . Updated Muon classes for dialog chip deatime simulation (backward compatible)
  . Update IMCReconstructible tool interface
  . Add check to MCRichDigitHistoryCode::isSignal that hit is not from charge
    sharing in the HPD pixel chip silicon wafer

- In RecEvent v2r2
 - Add muon system acceptance flag to ProtoParticle enums

- In SimComponents v2r1
  . Add ForcedBDecayTool
  . Update MCParticleSelector to
    + Not reject electrons by default (needed by default Particle monitors)
    + Not implicitly reject neutrals. New options to reject either neutrals
      or charged particles
    + Add Max P cut (default is no cut, 999999 GeV)
  . New version of MCReconstructible
    + For charged Particles, defers reconstructibility decision to MCTrackInfo
      data object
    + For neutrals, uses private hard-coded definitions. To be updated to use
      CALO tool when available.

- In LinkerInstances v3r2p2
  . Remove modification to PATH, no longer needed with InstallArea
  . Remove loaddict in eventassoc.py, not needed with rootmap files

- In TrackMCInterfaces v3r0
  . Added consts to interface

- In CaloDAQ v3r1
  . Add a new tool : CaloDataProvider : fast calo data decoding
  . Fix a small bug in CaloFillPrsSpdRawBuffer
    (problem when filling Prs bank when Zsup threshold =0)
  . Implement the readout of PIN-diode data (using DeCalorimeter)
  . Remove CaloReadoutTool.{h,cpp} (was containing FECard and Tell1 description
    now implemented in CaloDet)
  . Add a base class with the same name (CaloReadoutTool)from which
	  inherit all the decoding tools

- In DetCond v11r0, CondDBEntityResolver v4r0, DetCondExample v11r0
  . Updated to changes in COOL API, needs LCGCMT >= 50

- In DetCondExample v11r0
  . Removed not needed link options for MySQL, SQLite and Oracle
  . Minor fix in prepare_DBs.csh

- In DetCond v11r0
  . Activated by default disconnect on time-out feature (time out set to 10 min.)

- In LoKiGen v2r1
  . Many tiny fixes to build Ex/LoKiExample package
  . In GenParticles: Add 3 new functions DeltaPhi, DeltaEta and DeltaR2

- In LHCbKernel v7r2, OTDet v7r2, VeloDet v11r1, MCEvent v2r1, HltBase v2r2,
     TrackInterfaces v3r1, LoKiGen v2r1, LoKiCore v2r1, RichKernel v7r2,
     LHCbMath v2r1, STDet v3r2, CaloDet v8r1, TsaKernel v2r2, DetDescCnv v4r2
  . Fix some doxygen comments

- In OTDet v7r2, VeloDet v11r1, DigiEvent v2r1, TrackMCInterfaces v3r0,
     LHCbAlgs v2r6, LoKiCore v2r1, RichKernel v7r2, CaloInterfaces v7r1,
     Magnet v3r5
  . Remove LHCbDefinitions dependency

- In VeloDet v11r1, DigiEvent v2r1
  . Add dependency on LHCbMath

- In Magnet v3r5, CaloDet v8r1, CaloDetXmlCnv v3r1, CaloDAQ v3r1,
     DetCondExample v11r0, IOExample v2r0p3
  . Remove ApplicationMgr.DLLs from job options

2007-02-13 LHCbSys v22r1

This version uses Gaudi v19r1. Fully compatible with DC06 data

- Packages added:    MDF v2r4p1 - Package to handle online data files

- Packages modified: GaudiObjDesc v9r8p1, GaudiConf v10r1, HltBase v2r1,
   KernelSys v6r1, LHCbKernel v7r1, RichKernel v7r1, RichRecBase v3r1,
   EventSys v23r1,  DAQEvent v7r1, DigiEvent v2r0p1, EventBase v2r0p1,
   GenEvent v5r0p1, PhysEvent v11r1, RecEvent v2r1, TrackEvent v4r0p1
   HltEvent v8r0p1, L0Event v16r1, LinkerEvent v3r0p1, MCEvent v2r0p1,
   DetSys v9r1, DetDescCnv v4r1, OTDet v7r1, RichDet v10r1, XmlTools v5r0,
   CondDbEntityResolver v3r1, DetCondExample v10r0, DetDescExample v7r3,
   DetDescChecks v4r1, CaloUtils v7r1, DetDescSvc v1r10

- In GaudiObjDesc v9r8p1
  . Add -m32 to gccxmlflags, avoids having to set external environment variable

- In GaudiConf v10r1
  . DC06Conditions.opts now uses lhcb.xml as the top level XmlDDDB file, must
    be used with XmlDDDB v40r0

- In HltBase v2r1
  . HltBaseAlg.cpp: default: do not book generic histogram
  . HltFunctions.cpp: bug in sortByPt, consider key of track if two tracks
    have the same Pt
  . HltAlgorithm.cpp: small modifications with summary and Force type
  . HltMonitorAlgorithm:  Only deals with summary and not with Hlt tracks methods
  . HltBase/IHltSummaryTool
      interface to a tool to simplify clients the use of the summary
  . HltBase/IPrepareCaloTool
      interface for L0-Conf (fron L0CaloCandidate to States)
  . HltBase/IPrepareMuonTool
      interface for L0-Conf (fron L0MuonCandidate to State)
  . HltBase/ITrackConfirmTool
      interface to create tracks from a state
  . HltBase/IHltTrackL0CaloMatchTool renamed to ITrackL0CaloMatchTool
  . HltBase/IL0CaloStates removed

- In LHCbKernel v7r1
  . Remove MsgStream and StreamBuffer methods in Rich files
  . Add some static methods for Rich to provide fix lists of various types

- In RichKernel v7r1, RichRecBase v3r1, RichDet v10r1
  . Updates for new Rich namespaces

- In DAQEvent v7r1
  . Add OTRaw and OTError raw bank types

- In RecEvent v2r1
  . Add copy constructor and clone method to ProtoParticle (useful for micro-DST)
  . Add new calo-related items in ProtoParticle enum

- In PhysEvent v11r1
  . Remove VertexLocation::Primary, use RecVertexLocation::Primary instead

- In L0Event v16r1
  . Add the method L0MuonCandidate::muonTileIDs which returns a vector of
    MuonTileIDs matching the muon detector geometry for a given station.
  . Remove the method L0MuonCandidate::pad which returned a single MuonTileID
    that was in some case not recognized by the muon geometry tools.

- In OTDet v7r1
  . Fix findStraws. Check that right most straw is not negative.
  . Add check for entry and exit points. Make sure they are inside.
  . Fixed DeOTModule::wireLength method to return correct wire length.
  . Replaced some StatusCode returns with void
  . Use LHCbMath methods in DeOTModule::calculateHits

- In RichDet v10r1
  . Updates to RichDAQDefinitions for new L1 data format
  . Removal of old "XXX_old" location names

- In STDet v3r1
  . Ensure cached numbers in detectorElements are updated

- In CaloUtils v7r1
  . Change default extrapolator in CaloElectron ('HeraB' instead of 'Master')

- In DetDescSvc v1r10
  . Fixed a bug in UpdateManagerSvc (in some special cases, registerCondition
    did not invalidate the user item)

- In XmlTools v5r0
  . Changes to IXmlParserSvc to expose the validity of the parsed document to
    the converters.
  . Moved IOVDOMDocument to public includes.
  . Added the class ValidInputSource to allow the propagation of the validity
    through the interface IXmlEntityResolverSvc (for the CondDB implementation)
  . Modified XmlParserSvc to:
    - keep the validity of a document in the cache
    - use the detector data service event time to validate a cached document
    - use the registerd entity resolver to resolve a URL before passing
      the file name to XercesC.

- In DetDescCnv v4r1
  . Fixed a bug in the handling of hrefs occurring in very special cases.
  . Implemented the changes needed for the changes in IXmlParserSvc.
  . Added implementetation of XmlGenericCnv::updateObj.
  . Added a check in XmlGenericCnv to see if the CondDBCnvSvc is available in
    the PersistencySvc. If the CondDBCnvSvc is not available, XmlGenericCnv
    will not do anything special with "conddb:" URLs.

- In CondDbEntityResolver v3r1
  . Throw a GaudiException in case of error.
  . Made the entity resolver aware of the special meaning of '@' in the path.
  . Use ValidInputSource instead of xercesc::MemBufInputSource to be able to
    propagate the validity of the CondDB string back to the caller.

- In DetCondExample v10r0
  . Updated to a more recent version of DDDB (both XmlDDDB and XmlConditions)
  . Added a test for the usage of XmlParserSvc cache with CondDB

- In DetDescChecks v4r1
  . Added the algorithm LoadDDDB to validate the consistency of the DTS
    (cross references).
  . Added commented out options and requirements to use Det/SQLDDDB.

- In DetDescExample v7r3, DetDescChecks v4r1
  . Initialise XmlDDDB indirectly through DC06Conditions.opts
  . Remove ApplicationMgr.DLLs

- In KernelSys v6r1, LHCbKernel v7r1, RichKernel v7r1, RichRecBase v3r1,
     RecEvent v2r1, PhysEvent v11r1, DetDescCnv v4r1, OTDet v7r1, RichDet v10r1,
     HltBase v2r1, STDet v3r1, L0Event v16r1
  . Remove dependency on LHCbDefinitions includes

- In LHCbKernel v7r1, DigiEvent v2r0p1, EventBase v2r0p1, GenEvent v5r0p1,
     PhysEvent v11r1, RecEvent v2r1, TrackEvent v4r0p1, HltEvent v8r0p1,
     L0Event v16r1, LinkerEvent v3r0p1, MCEvent v2r0p1
  . Remove unneccessary rootmap for dictionary

2007-01-22 LHCbSys v22r0

This version is using the InstallArea. Uses Gaudi v19r1

- Packages removed: LHCb - use *Sys packages instead

- Packages modified: GaudiConf v10r0, GaudiObjDesc v9r8, KernelSys v6r0,
    LHCbDefinitions v2r0, LHCbKernel v7r0, LHCbMath v2r0, Relations v5r0,
    CaloKernel v5r0, MuonKernel v4r0, RichKernel v7r0, L0MuonKernel v6r0,
    ProcessorKernel v4r0, DetSys v9r0, CaloDet v8r0, CaloDetXmlCnv v3r0,
    DetDesc v17r0, DetDescCnv v4r0, XmlTools v4r0, VeloDet v11r0, OTDet v7r0,
    MuonDet v6r0, RichDet v10r0, STDet v3r0, DetCond v10r0, EventSys v23r0,
    DAQEvent v7r0, DigiEvent v2r0, EventBase v2r0, GenEvent v5r0, HltEvent v8r0,
    L0Event v16r0, LinkerEvent v3r0, MCEvent v2r0, PackedEvent v3r0,
    LinkerInstances v3r2, PhysEvent v11r0, RecEvent v2r0, TrackEvent v4r0,
    VeloEvent v15r0, DAQSys v3r0, CaloDAQ v3r0, MuonDAQ v3r0, OTDAQ v5r0,
    SiDAQ v2r0, CaloInterfaces v7r0, CaloUtils v7r0, HltBase v2r0, PatTools v3r0,
    LokiCore v2r0, LoKiGen v2r0, RichRecBase v3r0, TrackInterfaces v3r0,
    TrackMCInterfaces v2r0, TsaKernel v2r1, SimComponents v2r0,
    EventAssoc v4r0, DetDescChecks v4r0, DetDescSvc v1r9, DetCondExample v9r4

- In GaudiConf v10r0
  . Remove ApplicationMgr.DLLs options, not needed with Gaudi v19r0 plugins

- In LHCbDefinitions v2r0
  . This package is now obsolete. Includes have been moved to other packages,
    this package kept temporarily for backward compatibility

- In LHCbKernel v7r0
  . Add Kernel/LHCbConstants.h, moved from LHCbDefinitions
  . Add link dependency on MathCore and SMatrix, previously from LHCbDefinitions
  . Add AlignTraj (an implementation of DifTraj), which takes an existing
    Trajectory, and rotates/translates it. Note: this class defines a
    convention for the order of the rotations/translations.
  . Add a pure virtual 'parameters' method to DifTraj, which returns the
    parameter values (wrt. to which 'derivatives' returns the derivatives).
  . Make CircleTraj,LineTraj and ParabolaTraj inherit from Trajectory instead
    of DifTraj
  . Improve ParabolaTraj::arclength
  . Fix ParticleID::hasQuark() so it works also if particle IS a quark
  . ParticleID::abspid() now returns unsigned int

- In LHCbMath v2r0
  . Added LHCbMath/LHCbMath.h and LineTypes.h, moved from LHCbDefinitions
  . Removed Root from include path, already in GaudiKernel

- In RichKernel v7r0
  . Add new method to ray tracing interface

- In L0MuonKernel v6r0
  . Add a new unit: OLDumpUnit to write out the OL link content to feed the
    PU injection buffer (test mode)
  . CoreUnit: add 2 new methods to allow partial replay of the events
    (search of candidates with new FOI)
  . MuonCandidate: add copy constructor

- In OTDet v7r0
  . Map IDs to detector elements. Speeds up findModule() and OTTimeCreator
  . Minor clean-ups in DeOTModule

- In RichDet v10r0
  . Add method to DeRichBeamPipe to only test for intersection (slightly faster)

- In HltEvent v8r0
  . In HltSummaryFunctor.h, add functor for simpler retrieval of tracks, vertices

- In MCEvent v2r0
  . Add Kernel/IVisPrimVertTool, IMCReconstructible interfaces, previously in
    DaVinciMCKernel, and new IMuonPad2MCTool interface

- In TrackEvent v4r0
  . Add Event/TrackTypes.h, moved from LHCbDefinitions
  . Move Measurement::checkType from cpp to xml, and remove Measurement.cpp
  . Use Measurement::Type instead of unsigned int in Measurement::type and
    Measurement::checkType

- In LinkerInstances v3r2
  . Add support for MuonDigit and CaloDigit linker tables

- in HltBase v2r0
  . HltBase/HltUtils : function to compare two tracks via its LHCbIDs
  . HltBase/ESequences : algos to count the number of objts
  . HltBase/HltAlgorithm : minor changes to simplify use with the summary

- In RichRecBase v3r0
  . Add method to RichRecTrack to return pointer to RichRecSegemnt in a
    given radiator

- In TrackInterfaces v3r0
  . add an interface to select projectors given a measurement
  . add a method to obtain alignment derivatives to the projector interface

- In SimComponents v2r0
  . Add VisPrimVertTool and MCReconstructible (previously in DaVinciMCTools)

- In CaloInterfaces v7r0
  . Add ICaloElectron interface

- In CaloUtils v7r0
  . Add CaloElectron tool

- In TsaKernel v2r1
  . Add interfaces for Seed tracking tools
  . Add Roger's data classes (SeedXXX)
  . Minor modifications in ITsaCollector/xxxDataSvc interfaces

- In LoKiCore v2r0
  . In Keeper.h and UniqueKeeper.h, add method to clear the underlying container

- In LoKiGen v2r0
  . Add BuildGenTrees.h: new utilities to select the independent trees from
    the flat list of HepMC-particles

- In DetSys v9r0, MCEvent v2r0, LinkerInstances v3r2, GaudiObjDesc v9r8
  . Fixes to avoid generation of duplicate dictionaries

- In MuonDAQ v3r0, OTDAQ v5r0, SiDAQ v2r0, LHCbDefinitions v2r0, LHCbMath v2r0,
     LHCbKernel v7r0, Relations v5r0, CaloKernel v5r0, MuonKernel v4r0,
     RichKernel v7r0, L0MuonKernel v6r0, ProcessorKernel v4r0, RichDet v10r0,
     STDet v3r0, DetCond v10r0, DigiEvent v2r0, EventBase v4r0, GenEvent v5r0,
     HltEvent v8r0, L0Event v16r0, LinkerEvent v3r0, MCEvent v2r0, RecEvent v2r0,
     PhysEvent v11r0, TrackEvent v4r0, VeloEvent v15r0, CaloInterfaces v7r0,
     CaloUtils v7r0, HltBase v2r0, LoKiGen v2r0, RichRecBase v3r0,
     TrackInterfaces v3r0, TrackMCInterfaces v2r0, TsaKernel v2r1
  . Fixes in requirements, for InstallArea

- In CaloDAQ v3r0, CaloDet v8r0, CaloDetXmlCnv v3r0, DetDesc v17r0,
     DetDescCnv v4r0, XmlTools v4r0, VeloDet v11r0, OTDet v7r0, MuonDet v6r0,
     DAQEvent v7r0, PackedEvent v3r0, PatTools v3r0, LoKiCore v2r0,
     GaudiObjDesc v9r8
  . Fixes in requirements for InstallArea
  . Fixes for Gaudi v19r0 plugins

- In LinkerInstances v3r2, DetDescChecks v4r0, EventAssoc v4r0, DetDescSvc v1r9,
     DetCondExample v9r4
  . Fixes for Gaudi v19r0 plugins

- In LHCbKernel v7r0, CaloDet v8r0, MCEvent v2r0, TrackEvent v4r0,
     TrackInterfaces v3r0, DetDescChecks v4r0, CaloUtils v7r0, TsaKernel v2r1
  . Remove LHCbDefinitions dependency

- In DetDesc v8r0, VeloDet v11r0
  . Fix some unchecked StatusCodes

- In STDet v3r0
  . Improvements to documentation

2006-12-01 LHCbSys v21r12

This version uses Gaudi v18r11 and is fully compatible with DC06 production data

- Packages modified: GaudiConf v9r12, KernelSys v5r15, LHCbDefinitions v1r12,
    LHCbKernel v6r15, Relations v4r1, LHCbAlgs v2r5, EventSys v22r8,
    DAQEvent v2r8, DigiEvent v1r3, TrackEvent v3r5, EventAssoc v3r4,
    MCEvent v1r7, DetSys v5r15, RichDet v9r9, VeloDet v10r11, RichRecBase v2r9,
    DAQSys v2r11, CaloDAQ v2r6, MuonDAQ v2r3, LoKiCore v1r9, LoKiGen v1r8

- In LHCbSys v21r12
  . Add a search facility to doxygen documentation

- In GaudiConf v9r12
  . Update Gaudi.supp for gcc 3.4 on slc4

- In LHCbDefinitions v1r12
  . Add missing doxygen comments
  . Add missing includes to Kernel/Coord3DTypes.h
  . Add Matrix1x3, Matrix1x6, Matrix3x5, Matrix3x6 typedefs

- In LHCbKernel v6r15
  . Addition of a new ray-tracing option to RichRayTrace

- In RichKernel v6r8
  . Add new methods to MC tool to allow checking if MC information is available
    at run time

- In Relations v4r1
  . fix a bug in copy constructor of LHCb::Relation2D.h
  . python/Relations.py: fix the generated names to be valid C++ names in the
    case of templated types/parameters: (">>" --> "> >" and "  " --> " " )

- In DAQEvent v2r8
  . Delete bank memory in removeBank if bank is owned by the mirror array

- In DigiEvent v1r3
  . Add new location VeloClusterLocation::Emulated = "Emu/Velo/Clusters"

- In TrackEvent v3r5
  . declare TrackUnitsConverter.h functions as inline, to prevent multiple
    inclusion in component libraries
  . Remove unneccessary LHCbMath include from State.cpp

- In EventAssoc v3r4
  . Remove temporary fix for enum dictionaries, should be OK with root 5.13.04c
  . Add dictionaries for the relations tables used in LoKi/Phys/DaVinci/Bender

- In MCEvent v1r7
  . Fix minor bug in MCRichHit::isSignal() method, to check scattered photon flag
  . Added creation of dictionaries for the MCTrackInfo class and the
    MCDecayFinder and ISiDepositedCharge interfaces.
  . Added missing includes to MCTrackInfo.h, to please genreflex

- In RichDet v9r9
  . Add DeRichBeamPipe class, requires XmlDDDB v30r14 or later
  . Minor bug fixes
  . Remove the use of "using namespace LHCb" in DeRichSystem.h

- In VeloDet v10r11
  . Bug fix in intialisation of phi strips.
  . Bug fix in isInActiveMethod for phi sensors.
  . Add new tests to VeloDetChecker.
  . Fix trajectory method to work with ACDC and DC06 geometries for R sensors.
  . Revert to old localPhiToGlobal method in DeVeloRType

- In RichRecBase v2r9
  . Update default track fit chi^2 cut from 100 to 10
  . Update to MC truth tool to allow runtime checking of MC information access

- In CaloDAQ v2r6, MuonDAQ v2r3
  . Backwards compatible adaptations to handle Time Alignment Events

- In LoKiCore v1r9
  . many improvents in Doxygen documentation for nested namespaces
  . remove semicolons after the namespace

- In LoKiGen v1r8
  . In PrintHepMCDecay.h fix treatment of cut-off for maximal max-level printouts
  . improve Doxygen comments for nested namespaces

2006-11-10 LHCbSys v21r11

This version uses Gaudi v18r10 and is fully compatible with DC06 production data

- Packages modified: GaudiConf v9r11, KernelSys v1r14, LHCbMath v1r3,
    LHCbDefinitions v1r11, LHCbKernel v6r14, DAQSys v2r10, OTDAQ v4r4,
    DetSys v8r14, DetDesc v16r9, RichDet v9r8, VeloDet v10r10, DetDescSvc v1r8,
    EventSys v2r7, L0Event v15r3p1, HltEvent v7r1, EventAssoc v3r3,
    PatTools v2r9, CaloUtils v6r6, RichRecBase v2r8, HltBase v1r1,
    DetCondExample v9r3, LoKiCore v1r8, LoKiGen v1r7

- In GaudiConf v9r11
  . Add MC truth links for tracking clusters to MCDST

- In LHCbMath v1r3
  . Removed dependency on LHCbDefinitions. MathCore and SMatrix added to the
    linkopts, previously done in LHCBDefinitions
  . LHCbMath/GeomFun.icpp: Fix a few bugs. Some functions were assuming Line had
    unit direction vector
  . Implement cube root method Gaudi::Math::cbrt(x) that works on all platforms,
    but uses the fast in built cbrt on GCC systems
  . LHCbMath/GeomFun.icpp: Remove explicit dependency on ROOT::Math vector type.
    Functions are now totally generic.
  . Added LHCbMath/IPower.hpp: template metafunction for compile-time calculation
    of even, positive powers of integer numbers.
  . Added LHCbMath/Power.hpp: template metafunction to calculate integer powers
    of integer and floating point numbers.

- In LHCbDefinitions v1r11
  . Add dependency on LHCbMath
  . Kernel/Point3DTypes.h: Fix erroneous definition of RhoZPhiPoint.
  . Add file Kernel/LineTypes.h with definitions for Line types.

- In LHCbKernel v6r14
  . Add PrintFreq option to LbAppInit

- In OTDAQ v4r4
  . Minor changes in OTTimeCreator to speed up decoding

- In DetDesc v16r9
  . Fixed a problem with copy constructor of Condition, ParamValidDataObject and
    ValidDataObject.
  . Add a function to ParamList and ParamValidDataObject to insert a parameter
    as pointer to BasicParameter

- In DetDescSvc v1r8
  . Add the possiblility to define a condition in the job options via an option
    of the UpdateManagerSvc (use boost::spirit).

- In RichDet v9r8
  . Updates to RichDet to implement refraction correction at HPD
    Improves CK theta resolution a little. Requires XmlDDDB v30r13 or greater
  . Remove second format() call from DeRichSystem.cpp

- In VeloDet v10r10
  . Use interstrip fraction in calculation of residual for phi sensor.
  . Add the real bug fix for localPhiToGlobal for R sensors.
  . Added functions to move points from sensor local to the velo half box frame

- in L0Event v15r3p1
  . Add missing guard for multiple inclusion in L0DUBase.h

- In HltEvent v7r1
	. xml/HltSummay.xml :
       -- renaming HltSummaryBox to HltSelectionSummary
       -- adding particles in the HltSelectionSummary
          adding ContainedObject to have a polimorfic container.
	. xml/HltSummay.xml : adding CaloEt info
  . python/translateEnums.py : python to translate enums into HltNames.h file

- In EventAssoc v3r3
  . Add explicit generation of dictionaries for all enums in the event model,
    due to a bug with the implicit generation in root 5.13.04b. Fix to be
    removed with future versions of root.

- In PatTools v2r9
  . New data member "HighThreshold" for PatTCoord
  . Local saving of default measure in PatTCoord, with possibility of restore
  . Modify PatTCoord updateHit method to get the coordinates directly, not from
    a passed trajectory. Sppeds up the decoding by a factor 2.5.

- In CaloUtils v6r6
  . CaloMomentum.cpp: Remove an unneccessary division in a sqrt
  . SpreadEstimator.cpp: increase the efficient "minimal cluster size threshold"
                         from (0.1*cellsize) to (cellsize/sqrt(24))

- In RichRecBase v2r8
  . Improvements to debug info in pixel and photon creator base classes
  . Allow RichRecSegment to store ray trace HPD panel points for both RICH sides
  . Add method to Track Creator base to store HPD panel points in segments

- In HltBase v1r1
	. HltBase/HltAlgorithm : minor changes
	. HltBase/HltMonitorAlgorithm : base class to monitor from HltSummary
  . HltBase/ERelations : helper class to keep relations

- In LoKiCore v1r8
  . LoKi/RangeList.h: add missing destructor
  . Welcome and good bye messages are explicitly enabled only if LoKi service
    is instantiated

- In LoKiGen v1r7
  . In src/PrintHepMCDecay.h
     1) move all functions into the namespace LoKi::Print
     2) add a maximum recursion level

- In DetCondExample v9r3
  . Fix a bug in testXml.opts (EventClockSvc cannot be put in the ExtSvc option)
  . Add test for UpdateManagerSvc.ConditionsOverride

2006-10-24 LHCbSys v21r10

This version uses Gaudi v18r9 and is fully compatible with DC06 production data
it uses HepMC 1.27.2 through the LCGCMT interface package
it fixes some compilation bugs in LoKiCore on SLC4 and WIN32

- Packages modified: GenEvent v4r6, EventSys v22r6, LoKiCore v1r7p1

2006-10-23 LHCbSys v21r9

This version uses Gaudi v18r8 and is fully compatible with DC06 production data

- Packages modified: GaudiConf v9r10, KernelSys v5r13, LHCbKernel v6r13,
    DetSys v8r13, VeloDet v10r9, DetDesc v16r8, DetDescSvc v1r7, OTDet v6r7,
    STDet v2r7, EventSys v22r5, TrackEvent v3r4, PatTools v2r8, TsaKernel v1r4,
    LoKiCore v1r7, LoKiGen v1r6, RecEvent v1r9, LHCbDefinitions v1r10,
    Magnet v3r4, DAQSys v2r9, MuonDAQ v2r2, DAQEvent v6r7p1, RichKernel v9r7,
    RichDet v6r7, RichRecBase v2r7, CaloUtils v6r5p1, IOExample v2r0p2

- In GaudiConf v9r10
  . In DecodeRawEvent.opts: update algorithm for decoding Muon raw banks
                            add algorithm to decode L0DU banks
  . Add DC06Conditions.opts: defines standard conditions for DC06 data
  . In Units.opts: introduce new units for angles (rad and mrad) and short cut
                   for luminosity (1 LumiUnit = 1 cm-2 s-1)
  . In SimContent.opts: reset list of objects to write using = instead of += and
                        remove inclusion of GenContent.opts

- In LHCbDefinitions v1r10
  . Remove sse compilation options, now in GaudiPolicy

- In LHCbKernel v6r13
  . Add interface IDetElemFinder
  . Add RichRadIntersection class from RichDet

- In RichKernel v6r7
 - Update RichTrackSegment to use RichRadIntersection class
 - Update to RichradiatorTool interface for new RichRadIntersection
 - Add some protection in RichGeomFunctions for when calculating the
   angle between two vectors
 - Update acquireTool methods to allow a custom instance name to be specified

- In VeloDet v10r9
  . Bug fix in localPhiToGlobal for R sensors.

- In DetDesc v16r8
  . In DetDesc/IGeometryInfo.h - add new supportPath method, used in
       GeometryInfoPlus.h
  . Fix a minor bug in Condition. The method update should take a
    ValidDataObject and not a Condition object
  . Changes in: SolidBox::IntersectTicks method speeded up
                LAssembly ++not++, remove/protect MsgStream calls
                DetectorElement: reduce number of virtual function calls

- In DetDescSvc v1r7
  . Add service implementing of IDetElemFinder. Allows to find the
    DetectorElement associated to a path in the physical volumes hierarchy

- In OTDet v6r7
  . Clean up in DeOTModule::calculateHits to gain some time

- In STDet v2r7
  . Adapt channel validation algorithm

- In RichDet v9r7
 - Add DeRichHPD class to handle conditions and misalignments.
 - Add the modifications from Marco Musy for the magnetic field distortions.
   Requires XmlDDDB v30r12 and XmlConditions v2r4 or greater
 - Add new L1 data versions

- In Magnet v3r4
  . Adapt requirements to run test application with cmt v1r18p*
  . Default field map file no longer set. Must always be set with
    MagneticFieldSvc.FieldMapFile option

- In TrackEvent v3r4
  . 2 new track flags intoduced for the HLT needs
  . clean-up and improvements to the doxygen documentation
  . Added setChi2AndDoF method to Track class.

- In RecEvent v1r9
  . Change default location of MuonCoord to Raw/Muon/Coords (from Rec)
  . Add expected number of signal photons to RICH segment summary information

- In DAQEvent v6r7p1
  . Add RawEventLocation::Emulated, for Velo Tell1 emulation studies

- In PatTools v2r8
  . Add a vector of int to PatVeloCoord, to hold MCParticle keys
  . Store the sensor number, a bit faster when comparing clusters on tracks.

- In TsaKernel v1r4,
  . Add same channel function to clusters
  . Add possibility to reset drift radius in OTCluster

- In RichRecBase v2r7
  . Add simple workaround to RichPixelCreatorBase to avoid loading tools
    during first event, but during initialize instead

- In MuonDAQ v2r2
  . Add MuonRec algorithm to decode RawBank into MuonCoord

- In CaloUtils v6r5p1
  . Fix in CaloParticle

- In LoKiCore v1r7
  . Make equality and non-equality operators more efficient
  . New functor to "strip-down" the type (remove all qualifiers [*,&,const])
  . Many tiny fixes to improve functionality of python/reflex dictionaries
  . Fix compilation warnings for slc4_ia32_gcc345 platform

- In IOExample v2r0p2
  . Use more up to date input files

- In LoKiGen v1r6
  . Fixes for dictionaries and for SLC4 compilation error

2006-09-28 LHCbSys v21r8

This version uses Gaudi v18r7 and is fully compatible with DC06 production data

- Packages added:    HltEvent v7r0 - for Hlt summary class
                     HltBase  v1r0 - base classes for Hlt algorithms
                     PatTools v2r7 - previously in REC
- Packages modified: GaudiConf v9r9, DetSys v8r12, DetDesc v16r7, MuonDet v5r5,
    DetDescSvc v1r6, EventSys v22r4, DAQEvent v6r7, TrackEvent v3r3,
    RecEvent v1r8, DAQSys v2r8, CaloDAQ v2r5, KernelSys v5r12, LHCbKernel v6r12,
    LHCbDefinitions v1r9, ProcessorKernel v3r3, TsaKernel v1r3, LoKiGen v1r5,
    CaloUtils v6r5, DetCondExample v9r2

- In DetDesc v16r7
  . In IGeometryInfo.h, add method idealMatrixInv()
  . Added DetDesc/SU2LHCb.h, inline methods for transformations from LHCb cavern
    surveying frame of reference to LHCb frame and back

- In LHCbDefinitions v1r9
  . In GenericMatrixTypes.h, add Matrix3x4 typedefs

- In MuonDet v5r5, DetSys v8r12
  . Add IMuonPosTool interface

- In DetDescSvc v1r6
  . Modify EventClockSvc to use a tool implementing IEventTimeDecoder for the
    actual decoding of the event time.
  . Add FakeEventTime as an example of implementation of IEventTimeDecoder and
    to provide the same functionality already present in EventClockSvc.
  . Fixed minor "feature" of UpdateManagerSvc: it was compulsory to specify the
    root name in the path of a condition. Now it can be avoided and it is
    removed if present.

- In DAQEvent v6r7
  . Add bankKiller algorithm to component library, removes banks from RawEvent
  . Add ODIN class to decode ODIN raw banks and expose the informations.
  . Add the tool OdinTimeDecoder (implementing Kernel/IEventTimedecoder)
    to create an ODIN object in the transient store and return the event
    time to EventClockSvc.

- In TrackEvent v3r3
  . Add extraInfo to Track->reset
  . Minor tidy up of copy contructors in Node and State

- In RecEvent v1r8
  . Add ProtoParticle enums (Spd/Prs digits info) for Calo
  . Remove event time from RecHeader - now in DAQ/ODIN

- In CaloDAQ v2r5
  . Add CheckCaloBank.{cpp,h} algorithm
  . Add options/CaloBankHandler.opts :
      - Handling separatly Prs/Ecal & Hcal banks
      - Check if 'Short' banks exist at the begining of the sequence
      - If only 'Packed'  -> create 'Shorts' and remove 'Packed'
      - If 'Short' is already there (e.g. from real Data) -> sequence stop.
  . Add the property 'PackedIsDefault' in decoding tools:
      - allow to force the packed banks to be the default input banks in case
        of both 'packed' and 'short' exist (default is false).

- In LHCbKernel v6r12
  . Add sorter in STDataFunctor for elementID
  . Add creation of dictionaries for ISTClusterPosition, IVeloClusterPosition
    and the templated SiPositionInfo
  . Add interface IEventTimeDecoder (used by EventClockSvc)

- In ProcessorKernel v3r3
  . Fix uninitialized variable warning from valgrind

- In TsaKernel v1r3
  . Tidy up the cluster copy constructors and add a clone
  . Add ITsaCollector interface

- In LoKiGen v1r5
  . LoKi/GenTypes.h, add the formal definitions of containers and ranges

- In GaudiConf v9r9
  . Remove explicit saving of directory nodes on persistency file definitions
  . Add Link/Trig/L0/FullCalo to MCDstContent.opts
  . Add Rec/Calo/Electrons, DAQ/ODIN to rDST (and DST)

- In PatTools v2r7
  . Replace two calls to trajectory in PatTTCoord to speed-up the decoding of TT
  . New method updateTable() of PatContainer to adjust the m_vector content
    if the container was modified by direct access to TES, e.g. in PatForward

- In CaloUtils v6r5
  . Modify CaloParticle so that it can work with a bunch of LHCb::Particles

- In DetCondExample v9r2
  . Modified to follow changes in EventClockSvc (DetDescSvc > v1r5)
  . Improved the test for time-out (added re-connection)

2006-09-04 LHCbSys v21r7

This version uses Gaudi v18r7 and is fully compatible with DC06 production data

Changes since last official release (v21r4):

- Packages modified: KernelSys v5r11, LHCbKernel v6r11, ProcessorKernel v3r2,
    RichKernel v6r6, DetSys v8r11, Magnet v3r3, OTDet v6r6, STDet v2r6,
    RichDet v9r6, EventSys v22r3, DAQEvent v6r6, MCEvent v1r6, TrackEvent v3r2,
    RecEvent v1r7, PhysEvent v10r1, DAQSys v2r7, CaloDAQ v2r4, CaloUtils v6r4,
    TrackInterfaces v2r8, TsaKernel v1r2, RichRecBase v2r6, LHCbAlgs v2r4,
    LoKiCore v1r6, LoKiGen v1r4, DetCond v9r1, DetCondExample v9r1

- In LHCbKernel v6r11
  . add IUsedLHCbID.h
  . Make RichSmartID constructor from an int explicit
  . Add RichSmartID HPD panel level constructor
  . Fix LHCbID for explicit RichSmartID constructor
  . Update RichTraceMode to be generated by GOD, to make maintenance easier
    by using the automatically generated bitfields etc.
    + Has the side affect that RichTraceMode is now in the LHCb namespace
    + Also take the opportunity to clarify some of the enums.

- In RichKernel v6r6
  . Make joSvc() method protected
  . Remove the "withoutEff" ray tracing method from RayTracing interface. Now
    decides what to do based on the configuration object RichTraceMode.

- In ProcessorKernel v3r2
  . Add a reset method to RegisterFactory
  . Initialize pointers in Property.cpp to please valgrind.

- In Magnet v3r3
  . Put default number of steps in integration tool to 101 (was 501) to save time

- In OTDet v6r6
  . Change the centerOfStraw method to use trajectory
  . Cache global center, entrance and exit planes of the module

- In STDet v2r6
  . Add entrance and exit planes, thickness function in DeSTSector
  . Bug fix in DeSTLayer contains

- In RichDet v9r6
  . Introduce new constructor for Rich1DTabFunc
  . Adapt to improvements in ray tracing mode object RichTraceMode
  . Fixed a bug in ray tracing
  . Added a function to convert the HPD number to the HPD copy number

- In DAQEvent v6r6
  . Remove export dependency on GaudiAlg
  . Add the possibility to remove banks from the RawEvent structure

- In MCEvent v1r6
  . add typedefs LHCb::MCVertex::Vector and LHCb::MCVertex::ConstVector
  . Add class MCRichDigitHit
  . Update MCRichDigit to store FULL simulation AND digitisation history
    for each associated MCRichHit
  . Update fillstream methods for MCRichDigit and MCRichDigitHistoryCode
    to be more human-friendly

- In TrackEvent v3r2
  . non-const accessor to ancestor tracks

- In RecEvent v1r7
  . add typedefs LHCb::ProtoParticle::Vector, LHCb::ProtoParticle::ConstVector
  . Make VertexBase::isPrimary a virtual method and implement in RecVertex
    according to creation technique enums.
  . Make VertexBase::clone() and RecVertex::clone() virtual.
  . Add enum comments for CaloID and ProtoParticle

- In PhysEvent v10r1
  . Implement Vertex::isPrimary in terms of creation technique enums.
  . Make Vertex::clone() virtual.

- In CaloDAQ v2r4
  . Update options/CaloDigitsOnDemand.opts

- In CaloUtils v6r4
  . Add two new classes : CaloMomentum{.h,.cpp} and CaloParticle{.h,.cpp}

- In TrackInterfaces v2r8
  . add IStateCorrectionTool.h

- In TsaKernel v1r2, v1r1
  . Add hot flag to cluster class
  . Clean up of cluster classes

- In RichRecBase v2r6
  . Add base class for track selector (to allow MC and MC-free implementations)
  . Add optional weight to Track->MCParticle associations in MC truth tool
  . Update pixel creator base to handle different suppression tools for
    RICH1 and RICH2
  . Rewrite utility class RichTrackSelector as a full GaudiTool
  . Updates due to changes in ray tracing tool
  . Add options to specify no. of points to use in ray tracing of Cherenkov cones
  . Add RichRecPointOnRing to allow the storage of additional data
    (such as acceptance flags) with space points on the RichRecRings
  . Add missing initialisations to RichRecRing copy constructor
  . Add new classes for Ring <-> Pixel associations

- In LHCbAlgs v2r4
  . Adapt to changed interface of addPropertyToCatalogue in Gaudi v18r7

- In LoKiCore v1r6
  . LoKi/Interface.h - fix a problem with reference counters
  . Add a fictive base class LoKi::RangeBase_ to all ranges
  . LoKi/WrongMass.h,.cpp - add 2 functions for kinematics with "wrong" mass

- In LoKiGen v1r4
  . Add functor LoKi::GenParticles::Status and shortcut LoKi::Cuts::GSTATUS

- In DetCond v9r1
  . Added the possibility of using one CondDB condition to store more than one
    file using elements of the attribute list.
  . Backward compatible chages in the API (with deprecated functions).
  . Added the possibility of disconnection from the DB after an inactivity
    period defined by CondDBAccessSvc.ConnectionTimeOut.
  . Fixed a bug in CondDBDispatcherSvc: the correct alternative database was
    never selected
  . Fixed a bug in RelyConverter that was causing a segmentation fault if the
    retreived XML string didn't start with "

2006-08-22 LHCbSys v21r6

This an intermediate version built in DEV with changes in the following packages:
  Magnet v3r3, DetSys v8r10, TrackEvent v3r2, EventSys v22r2, LHCbKernel v6r10c,
  KernelSys v5r10, TsaKernel v1r1, LHCb v21r6

This version was never officially released

2006-08-03 LHCbSys v21r4

This version uses Gaudi v18r6 and is fully compatible with DC06 production data

- Packages added:    GaudiObjDesc v9r7 - added temporarily to have acces to many
                                         improvements ahead of next Gaudi release
- Packages modified: KernelSys v5r9, LHCbKernel v6r9, RichKernel v6r5,
    LHCbDefinitions v1r8, DetSys v8r9, VeloDet v10r8,
    EventSys v22r1, L0Event v15r3, MCEvent v1r5, GenEvent v4r5, TrackEvent v3r1,
    LinkerEvent v2r2p2, LHCbAlgs v2r3, RichRecBase v2r5, TrackInterfaces v2r7

- In LHCbKernel v6r9
  . Fix a counter increment in SerializeStl.h and remove obsolete StreamBuffer
    implementations
  . Use new virtual='FALSE' tag in xml definition of xxxID classes
  . Replace explicit coding of copy constructors by new copyconstructor xml tag
  . Remove redundant fillStream(MsgStream&) method from CaloCellID

- In RichKernel v6r5, LHCbAlgs v2r3
  . Fix a memory leak due to changed IJobOptionsSvc behaviour

- In LHCbDefinitions v1r8
  . Add Quaternion, Matrix3x2, Matrix2x3 typedefs

- In VeloDet v10r8
  . Bug fix in reverse iterator accessors which corrected rend() for the
 	  number of pile up sensors
  . New residual calculation, uses inter strip fraction with the channel number.
    Phi sensor is still using old calculation but interface has been added.
  . Added VeloDetChecker algorithm to the component library.
  . Some tidying up and optimization of code

- In L0Event v15r3, LinkerEvent v2r2p2
  . Adapt to SerializeStl.h changes

- In LHCbKernel v6r9, L0Event v15r3, MCEvent v1r5, GenEvent v4r5,
     RichRecBase v2r5
  . Adapt to GaudiObjDesc v9r7 changes

- In TrackEvent v3r1
  . Added checkFitStatus and setExtraInfo methods to Track class
  . Bug fix: Track clone method now copies the ExtraInfo to the cloned track
  . Added StateParameters.h. Contains z-positions of predefined state locations
  . Bug fixes in State method to compute position/momentum covariance

- In TrackInterfaces v2r7
  . Add ITrackInterpolator interface

2006-07-26 LHCbSys v21r3

This version uses Gaudi v18r6 and is fully compatible with DC06 production data

- Packages added   : TsaKernel v1r0 - Tsa base classes
- Packages modified: KernelSys v5r8, LHCbDefinitions v1r7p1, LHCbKernel v6r9,
    EventSys v22r0, TrackEvent v3r0, RecEvent v1r6, PhysEvent v10r0,MCEvent v1r4,
    DetSys v8r8, STDet v2r5, Magnet v3r2, OTDet v6r5,  DetDescSvc v1r5
    DetCond v9r0, DetCondExample v9r0, CondDBEntityResolver v3r0, GaudiConf v9r8,
    DAQSys v2r6, OTDAQ v4r3, LHCbAlgs v2r2, CaloUtils v6r3p2,
    TrackInterfaces v2r6, LoKiCore v1r5p2, IOExample v2r0p1

- In GaudiConf v9r8
  . GaudiMain.cpp propagates status code of application manager to exit status
  . Fix units.opts for new property parser
  . Add options describing contents of official datasets (.sim,.digi,.rdst,.dst)

- In LHCbAlgs v2r2
  . Fix string handling for compliance with new job options service

- In LHCbDefinitions v1r7p1
  . Add a missing include, needed for Root 5.12.00
  . Add LHCbMath::sqrt_12 and LHCBMath::inv_sqrt_12 constants

- In LHCbKernel v6r9
  . Provide Boost allocators for LineTraj, CircleTraj, ParabolaTraj
  . Add destructors to Trajectory base classes
  . Change to make trajectory constructors faster
  . Inline LineTraj constructors
  . Remove Root::Math::RowOffsets dictionaries, now in Root
  . Add explicit LHCbID(unsigned int theID) constructor
  . Add PreloadGeometry option to LbAppInit (default false)

- In TrackEvent v3r0
  . Remove TrackVertex class, use RecVertex instead
  . Add ExtraInfo map to Track, set appropriate flag if last measurement removed
  . Bug fixes in State method to compute position/momentum covariance

- In RecEvent v1r6
  . Add VertexBase class - new base for Phys and Rec vertices
  . Add RecVertex class - a VertexBase with Tracks

- In PhysEvent v10r0
  . Reimplement Vertex class. Now a VertexBase with Particles
  . Remove PrimVertex class, use RecVertex instead
  . In Particle.h, use symmetric matrix construction from regular matrix lower
    block instead of LHCb-made Gaudi::Math::Symmetrize function.

- In MCEvent v1r4
  . Add new class MCExtendedHit to debug trackers. Derived from MCHit with in
    addition momentum of particle at entry point

- In STDet v2r5
  . Cosmetic changes in getting trajectories

- In Magnet v3r2
  . New options to allow zero field, non-zero constant field or a scling factor
    on the entire field map
  . Fix a job option of the test program, for new job options parser
  . Fix requirements so that debug build does not link with non-debug libraries

- In DetDescSvc v1r5
  . Add PreloadGeometryTool

- In OTDet v6r5, OTDAQ v2r6
  . Minor cleanups

- In CaloUtils v6r3p2, LoKiCore v1r5p2
  . Use SMatrix::Inverse() instead of Sinverse(), for Root 5.12.00

- In TrackInterfaces v2r6
  . Add interface for Velo dE/dx charge tool

- In DetCond v9r0, DetCondExample v9r0
  . Many changes to interface and functionality, see release notes

- In CondDBEntityResolver v3r0
  . Adapt to changes in DetCond

- In IOExample v2r0p1
  . Update input files for LHCb v21r3

2006-07-07 LHCbSys v21r2

This version uses Gaudi v18r5 and is fully compatible with DC06 production data

- Packages modified: KernelSys v5r7, LHCbMath v1r2,LHCbKernel v6r8,LHCbAlgs v2r1,
    DAQSys v2r5, CaloDAQ v2r3, OTDAQ v4r2p1, EventSys v21r7, DAQEvent v6r5,
    RecEvent v1r5, PackedEvent v2r1, TrackEvent v2r7, PhysEvent v9r7,
    DetSys v8r7, DetDescCnv v3r3, CaloDet v7r4, STDet v2r4,  XmlTools v3r10,
    CaloInterfaces v6r1, CaloUtils v6r3p1, LoKiCore v1r5p1

- In LHCbMath v1r2
  . Bug fix in plane-line intersection parallelity test
  . Add Power.h, efficient pow function for large integer powers

- In LHCbKernel v6r8
  . Replaced asin angle calculation in CircleTraj::arclength(point)
    by robust angle determination
  . Add ITrajPoca interface (was in ITrackInterfaces)

- In LHCbAlgs v2r1
  . Add poca tool (was in TrackTools)

- In DAQEvent v6r5
  . Fix a warning from gcc 3.4.5, may also fix free/delete mismatch
  . Change an unsigned int into size_t, to please gcc 3.4.5 on amd64

- In RecEvent v1r5
  . Event/CaloHypotheses.h removed  (enum now in CaloHypo)
  . xml/CaloClusterType.xml removed (enum now in CaloCluster)
  . Add xml/SelResult.xml, add copy constructor & assignment op. (from PhysEvent)

- In PackedEvent v2r1
  . Add default and copy constructor to PackedMCVertex struct

- In TrackEvent v2r7
  . Clean up track enums (forgotten from previous release)
  . Fix bug in unit interconversion
  . Fix definition of kappa in TrackParameters.h
  . Changed closestState methods in Track.cpp to loop over nodes when they exist
  . Added position method to Node.xml

- PhysEvent v9r7
  . Move SelResult to RecEvent
  . Add or fix constructors and assignment operators for Particle, Vertex,
    FilterCriterionResult, FlavourTag

- In CaloDAQ v2r3
  . add src/CaloTriggerBitsFromRawAlg algorithm (produce PrsSpdL0Bit in TES)
  . add options/CaloFillRawBank.opts (create "Compressed" banks from "Packed")
  . bug fix in CaloTriggerBitsFromRaw & CaloFillPrsSpdRawBuffer

- In OTDAQ v4r2p1
  . Minor cleanups

- In DetDescCnv v3r3
  . Fixes in string handling for AMD64

- In XmlTools v3r10
  . Fixes in string handling for AMD64

- In CaloDet v7r4
  . Get PedShift from XmlConditions (requires XmlConditions from v1r8)

- In STDet v2r4
  . Small bug fix in DeSTSector
  . Only cache the plane in DeSTLayer once

- In CaloInterfaces v6r1
  . Adapt to changes in RecEvent

- In TrackInterfaces v2r5
  . Remove ITrajPoca interface (moved to LHCbKernel)

- In CaloUtils v6r3p1
  . Remove Assert() in CaloTrackMatch.h - Error message instead of exception

- In LoKiCore v1r5p1
  . Remove Welcome and Goodbye printout

2006-06-20 LHCbSys v21r1

This version uses Gaudi v18r5 and is fully compatible with DC06 production data
It is the first release supporting also slc4_ia32_gcc345 platform

- Packages modified: DetSys v8r6, CaloDet v7r3, MuonDet v5r4, VeloDet v10r7,
    OTDet v6r4, RichDet v9r5, DetDesc v16r6, DetDescCnv v3r2p1, EventSys v21r6,
    GenEvent v4r4, PhysEvent v9r5, RecEvent v1r4,TrackEvent v2r6,DAQEvent v6r4p1,
    LinkerEvent v2r2p1, EventAssoc v3r2, KernelSys v5r6, LHCbDefinitions v1r7,
    LHCbKernel v6r7, LHCbMath v1r1, Relations v4r0, RichKernel v6r4,
    ProcessorKernel v3r1, CaloKernel v4r0p1, CaloUtils v6r3,
    SimComponents v1r2p1, LoKiCore v1r5, LoKiGen v1r3, DetDescExample v7r2,
    LinkerInstances v3r1, TrackInterfaces v2r4, RichRecBase v2r4, GaudiConf v9r7

- In DetDesc v16r6, DetDescCnv v3r2p1, LoKiCore v1r5, LoKiGen v1r3,
     LinkerEvent v2r2p1, RichKernel v6r4, ProcessorKernel v3r1,
     CaloKernel v4r0p1, LHCbKernel v6r7
  . Backwards compatible fixes for compilation with gcc 3.4.5

- In DetSys v8r6
  . Remove std::vector from dictionary, already in RELAX dictionaries

- In DetDesc v16r6
  . Move DetectorElement::Assert functions from priavte to protected interface
  . Improve the printout of exceptions
  . More fixes for Gaudi::Units

- In CaloDet v7r3
  . CaloDet/DeCalorimeter.h, src/Lib/DeCalorimeetr.cpp
    + remove Assert (from now rely on DetectorElement::Assert functions)
    + add 2 new functions to access sub-calorimeters (after the initialization!)
    + the main plane() method updated in order the predefined plane3D positions
      match the boundary of the active calo
    + 2 parameters from DDDB : zOffset (new) & zSize (redefined in DDDB)
    + require xmlDDDB > v30r8
    + add one more method plane (for 3D plane which pass through
      given 3D-point in global reference system
    + add "inline" and "const" qualifiers for DeCalorimeter::plane
  . DeSubCalorimeter.icpp - remove the file

- In MuonDet v5r4
  . Added a method that returns Z station position in DeMuonDetector

- In OTDet v6r4
  . Added method to return the thickness of the sensitive volume of module.

- In RichDet v9r5
  . Fixed bug in HPD demagnification
  . Added method detPointOnAnode in DeRichHPDPanel
  . Minor change in DeRichGasRadiator

- In VeloDet v10r7
  . Added sensor containers for Left and Right side of the detector.
  . Add methods to return numbers of Left/Right R/Phi sensors.
  . Removed unused xSide method from DeVeloSensor.
  . Fix trajectories method so that R trajectories run anti-clockwise.
  . Replaced sensorIndex(sensor) by internal map which returns the pointer to
    the sensor directly
  . Removed unused associateSensor() and associatedSensors() from DeVeloSensor
  . Fixed bug in sensor indices: assumed all sensors are there which may not
    always be the case
  . Add 'Tell1WithoutSensor' flag. Backwards compatible, but requires
    XmlConditions v1r7 or greater

- In GenEvent v4r4
  . Remove custom dictionary for HepMC, since all classes are now in RELAX

- In PhysEvent v9r5
  . Adapt to changes in MatrixManip.h location and namespace
  . Particle.xml: Remove ConstContainer typedef and duplicate Container typedef

- In RecEvent v1r4
  . nonconstaccessors added in CaloHypo.xml and CaloClusterEntry.xml
  . Updates to printing options for ProtoParticle.
  . Fix bug in methods RichPID::isAboveThreshold(const Rich::ParticleIDType type)
    and LHCb::RichPID::traversedRadiator(const Rich::RadiatorType radiator)
  . Add xml files for Rich reco "summary" data objects

- In TrackEvent v2r6
  . Change type of proj. matrix in Node from TrackVector to TrackProjectionMatrix
  . Adapt to changes in MatrixManip.h location and namespace
  . Removed redundant update method in Measurement
  . Disabled the boost allocator for LHCb::Node because it was causing a huge
    memory leak in Brunel.
  . Bug fix in TrackFunctor.h
  . Fix memory leaks in Node and in Track::clearStates
  . Add TrackUse helper class, previously in CaloUtils
  . Changes in Track class:
    + Status enum split into PatRecStatus and FitStatus
    + HistoryFit renamed to FitHistory
    + Introduced extra track flags for bi-directional Kalman fitting
    + enum AlreadyUsed renamed to Used
    + clean up track type enum

- In DAQEvent v6r4p1
  . Add VeloProcFull bank type

- In EventAssoc v3r2
  . enable dictionaries on Windows (requires Kernel/Relations v4r0)
  . dict/selection.py
     new script to generate properly selection.h and selection.xml files.
  . Updated selection files

- In LHCbDefinitions v1r7
  . Add typedef for Matrix1x5 in GenericMatrixTypes.h
  . Add typedef for 1x5 TrackProjectionMatrix in TrackTypes.h
  . Remove Kernel/MatrixManip.h (moved to Kernel/LHCbMath v1r1 or higher)
  . Remove unneccessary include path from requirements

- In LHCbKernel v6r7
  . Fix OTChannelID::geometry. Returns station, layer, quarter, module and straw.
  . Fix LineTraj::derivative. Returns derivative w.r.t. x, y, z, stereo angle
                              and tilt.
  . Added creation of dictionary for templated CircleTraj class
  . Removed generation of dictionaries already provided by RELAX
  . Added some missing Root::Math dictionaries, should go to RELAX...

- In LHCbMath v1r1
  . Add LHCbMath/MatrixUtils.h: various matrix and vector utilities. Includes
    linking to 3D and 4D MathCore vectors and points, scaling on all elements of
    matrices and vectors, setting already existing matrix to unit matrix,
    comparison functions, max and minimum elements, various counting, checking
    and equal methods.
  . Add LHCbMath/EigenSystem.h, .icpp, src/EigenSystem.cpp.
  . Import LHCbMath/MatrixManip.h from Kernel/LHCbDefinitions. Change namespace
    to Gaudi::Math for consistency.
  . Make linker library LHCbMath
  . Remove Kernel, move everything to new LHCbMath directory.

- In RichKernel v6r4
  . Update Boost memory pool allocator to use same scheme as in Gaudi.
  . Update MC access tool interface

- In ProcessorKernel v3r1
  . Add an accessor method to the m_units data in class Unit

- In Relations v4r0
  . Major simplification, only basic types now appear in interface
  . Reduction in dictionary size
  . Fixes for compilation on gcc 3.2.3, gcc 3.4.5, vc 7.1

- In CaloUtils v6r3
  . Add CaloUtils/Calo2Track.h header file
  . Few base classes for CaloPIDs implementation: CaloTrackTool & CaloTrackMatch
  . Bug fixes in SpreadEstimator.cpp, CaloTrackMatch.h, CaloTrackTool.h,
                 CovarianceEstimator.cpp
  . Move to Gaudi::Units in header files
  . Rewrote TrackUse class and moved it to TrackEvent package

- In RichRecBase v2r4
  . Remove obsolete methods from pixel creator interface
  . Add new methods to MC access tool
  . Update Pixel creator base class to move more functionality in from
    derived classes
  . minor updates to Track creator base class

- In SimComponents v1r2p1
  . Change message levels of CompareMCVertex and CompareMCParticle

- In LoKiCore v1r5
  . LoKi/Interface.h: fix problem with incorrect assignement from raw pointer
  . LoKi/Print.h: minor fix for the printout of unsigned types

- In LoKiGen v1r3
  . Set of new functions LoKi::printHepMCDecay and LoKi::printDecay for printout
    of the HepMC decay tree
  . LoKi/GenParticles.h: increase functionality of FromHepMCTree function.
    Now it can treat the list of trees.

- In LinkerInstances v3r1
  . Instantiate MCHit2MCParticle linker table

- In TrackInterfaces v2r4
  . Modified ITrackProjector::projectionMatrix return a TrackProjectionMatrix
    instead of a TrackVector
  . Simplified the ITrackCloneFinder interface
  . Added extrapolate-to-plane method
  . Added ITrackManipulator and IAddTTClusterTool interfaces

- In DetDescExample v7r2
  . Add use XmlConditions v* for compatibility with XmlDDDB v30r*

- In GaudiConf v9r7
  . Remove CERN specific setting of STAGE_HOST and RFIO_CASTOR_V2

2006-05-17 LHCbSys v21r0

This version uses Gaudi v18r4 and is fully compatible with DC06 production data

- Packages added:    LHCbMath v1r0
- Packages modified: GaudiConf v9r6,
    KernelSys v5r5, LHCbDefinitions v1r6, LHCbKernel v6r6, RichKernel v6r3,
    DetSys v8r5, DetDesc v16r5, OTDet v6r3, RichDet v9r4, MuonDet v5r3,
    VeloDet v10r6, CaloDet v7r2, DetCond v8r0, DetCondExample v8r0,
    EventSys v21r5, PhysEvent v9r4, MCEvent v1r3, DAQEvent v6r4, L0Event v15r2,
    LinkerEvent v2r2, DigiEvent v1r2, RecEvent v1r3, TrackEvent v2r5,
    EventBase v1r2, LinkerInstances v3r0p1, LoKiCore v1r4, RichRecBase v2r3,
    CaloUtils v6r2p1, CondDBEntityResolver v2r0, SimComponents v1r2,
    DetDescExample v7r1

- In GaudiConf v9r6
  . Set environment variables to force usage of castor2 on linux at CERN

- In LHCbDefinitions v1r6
  . SystemOfUnits.h and PhysicalConstants.h now point to corresponding
    GaudiKernel files, and use namespace Gaudi::Units for backwards compatibility
  . Add definitions for 9x9 matrices and dimension 9 vectors
  . Transparent modification to LorentzVector typedef to please doxygen

- In TrackEvent v2r5, RecEvent v1r3, PhysEvent v9r4, RichRecBase v2r3,
     CaloDet v7r2, DetDesc v16r5, VeloDet v10r6, RichDet v9r4,DetDescExample v7r1
  . Migrate to Gaudi::Units. SystemOfUnits.h and PhysicalConstants.h in public
    include files are taken directly from GaudiKernel

- In LHCbKernel v6r6
  . Add generic typedef of Point and Vector to Trajectory, and default arguments
    to LineTraj::direction, LineTraj::curvature and ParabolaTraj::curvature.
  . Add ISiAmplifierResponse interface

- In RichKernel v6r3
  . Adapt to radiator name changes

- In DetDesc v16r5
  . Remove unused IInspectable interface from ISolid and IGeometryInfo

- In OTDet v6r3
  . DeOTLayer/DeOTModule return a plane going through the centre of layer/module.
  . Added trajectories for first and last wire.
  . Fixed trajectories representing wires in a long module

- In RichDet v9r4
  . Add ALICE mode options to DAQ definitions
  . Increased active radius on pixel chip in HPDPanel.

- In MuonDet v5r3
  . Cleanup includes in MuonBasicGeometry.h, to avoid unneccessary dependencies

- In VeloDet v10r6
  . Fixed bug in calculating trajectories for single strip clusters in last phi
    sensor strip

- In PhysEvent v9r4
  . Fix bug in Particle::covMatrix. Erroneous assignment of off-diagonal
    position-momentum covariance blocks.

- In MCEvent v1r3
  . Use explicitly Gaudi::Units in MCHit.h, MCParticle.h
  . Add ISiDepositedCharge interface

- In DAQEvent v6r4
  . Fix mismatch between new and delete in RawEvent.cpp

- In TrackEvent v2r5
  . Transient attribute removed for LHCbIDs and States on Tracks

- In LinkerEvent v2r2
  . Fixed typo in path printed out in LinkedFrom (was misleading)

- In RecEvent v1r3
  . Update RichPID for changes in radiator names

- In L0Event v15r2, TrackEvent v2r5, DigiEvent v1r2, EventBase v1r2
  . Add Boost dependency, needed for Boost allocators in event model

- In LinkerInstances v3r0p1
  . Fix requirements to build dict on Windows in presence of Boost

- In SimComponents v1r2
  . Use explicitly Gaudi::Units in MCParticleSelector.cpp

- In LoKiCore v1r4
  . Use Gaudi::Units namespace for units, instead of CLHEP::

- In DetCond v8r0, CondDBEntityResolver v2r0, DetCondExample v8r0
  . Updated to COOL_1_3_x

- In DetCond v8r0
  . Fixed a problem with uninitialized variables just affecting the case of
    a FolderSet stored in the CondDB cache.

- In DetCondExample v8r0
  . Use "oracle" from LCG_Interfaces

- In RichRecBase v2r3
  . Remove support for old converted Track types
  . Adapt to radiator name changes + move a few methods around

- In CaloUtils v6r2p1
  . Fix requirements for Windows

2006-05-02 LHCbSys v20r4

This version uses Gaudi v18r3 and is fully compatible with DC06 production data

- Packages modified: DetSys v8r4, DetDesc v16r4, DetDescSvc v1r4, VeloDet v10r5,
    DAQSys v2r4, OTDAQ v4r2, KernelSys v5r4, LHCbDefinitions v1r5,
    EventSys v21r4, TrackEvent v2r4, CaloUtils v6r2, RichRecBase v2r2,
    TrackInterfaces v2r3, LoKiCore v1r3, LoKiGen v1r2

- In DetSys v8r4, DetDesc v16r4:
  . Move header files needed by dict to DetDesc, rather than DetDesc/../src/Lib

- In VeloDet v10r5:
  . Implemented workaround for Microsoft(tm) "extensions" that prevented
    static data members from being accessed consistently via inline dmethods
  . Bug fixes in the phi min/max of zone in DeVeloRType.
  . Added consistency check in readout conditions update

- In DetDescSvc v1r4:
  . Add locking methods for multithread support

- In OTDAQ v4r2:
  . Minor cleanups, and Tell1 updates in OTFillEventFromOTTime

- In LHCbDefinitions v1r5:
  . More natural names for the Track Event Model typedefs in TrackTypes.h

- In TrackInterfaces v2r3, TrackEvent v2r4:
  . Propagation of the renaming of the Track Event Model typedefs

- In TrackEvent v2r4:
  . Track::Unique flag renamed to Track::Clone
  . bug fix in checkType method of Measurement

- In CaloUtils v6r2, RichRecBase v2r2, TrackInterfaces v2r3:
  . Propagation of change Track::Unique -> Track::Clone in Event/TrackEvent

- In TrackInterfaces v2r3:
  . Consistent const arguments and return types in TrajectoryProvider

- In LoKiCore v1r3, LoKiGen v1r2:
  . Remove some unneccessary comments from file headers

- In LoKiCore v1r3:
  . Bug fix with creation/release of reporter
  . Add boolean flag to instantiate on demand ToolSvc and ParticlePropertySvc

2006-04-20 LHCbSys v20r3

This version uses Gaudi v18r3 and is fully compatible with DC06 production data

- Packages added:    Event/LinkerInstances v3r0 - Python access to Linkers
- Packages modified: KernelSys v5r3, LHCbKernel v6r5, CaloUtils v6r1,
    DetSys v8r3, STDet v2r3, OTDet v6r2, VeloDet v10r4, DetDescCnv v3r2,
    EventSys v21r3, MCEvent v1r2p1, TrackEvent v2r3, PhysEvent v9r3,
    DAQSys v2r3, CaloDAQ v2r2, LoKiCore v1r2

- In LHCbKernel v6r5:
  . Bug fix - Remove erroneous 'inline' from RichSide.cpp

- In STDet v2r3:
  . Fixed bug in DeSTDetector trajectory method
  . Speed up findSector methods of DeSTDetector and DeSTSector method
    to get trajectory
  . Add methods to get plane in DeSTSector and in layer

- In OTDet v6r2:
  . Fix bug in isInsideEfficient that was discarding hits in stereo layers
  . Other minor bug fixes and cleanups

- In VeloDet v10r4:
  . Move trajectory method to sensor classes
  . Remove stripLimitsR/Phi methods from DeVelo
  . Add methods to sensors which provide start and end co-ordinates for strip in
    local and global frames
  . Fix bug in neighbour and channel distance methods

- In DetDescCnv v3r2:
  . Fixed bug in XmlGenericCnv to allow proper decoding of CONDITIONS_PATH

- In MCEvent v1r2p1
  . Remove a duplicate typedef

- In TrackEvent v2r3:
  . State location bitfield defined with explicit enum type
  . State enums now visible in Python
  . corresponding changes propagated to Track class
  . added fillStream methods for Track and State

- In PhysEvent v9r3:
  . Remove leading "/Event/" from all PhysEvent default location definitions.
  . Change implementation of LHCb::Particle::daughtersVector()
  . Change to Particle interface: replace slopeX() and slopeY() by slopes()

- In CaloDAQ v2r2:
  . CaloZsupAlg now has option driven output: CaloDigits and/or CaloADCs
  . new algorithm : src/CaloTriggerAdcsFromRawAlg

- In CaloUtils v6r1:
  . Add some header files previously in CaloAssociators
  . Complete migration of some header files to LHCb v20

- In LoKiCore v1r2:
  . Fix a method signature and a compilation error.

2006-04-04 LHCbSys v20r2

This version uses Gaudi v18r3 and is for DC06 production

- Packages added:    Gen/HepMC - Interface package to public HepMC release
- Packages removed:  Sim/HepMC - Private version of HepMC
- Packages modified: KernelSys v5r2, LHCbDefinitions v1r4, LHCbKernel v6r4,
    EventSys v21r2, TrackEvent v2r2,PhysEvent v9r2, GenEvent v4r3, RecEvent v1r2,
    EventAssoc v3r1, GaudiConf v9r5, DAQSys v2r2, OTDAQ v4r1,  Relations v3r0p1,
    DetSys v8r2, RichDet v9r3,STDet v2r2,OTDet v6r1,CaloDet v7r1, VeloDet v10r3,
    DetCond v7r10p1, LoKiCore v1r1, LoKiGen v1r1, SimComponents v1r1p1,
    CaloUtils v6r0p1, RichRecBase v2r1

- In LHCbDefinitions v1r4, TrackEvent v2r2, PhysEvent v9r2:
  . adaptations to new SMatrix-5.10.00b
  . Kernel/Vector3DTypes.h: Fix erroneous definition of RhoZPhiVector

- In LHCbKernel v6r4:
  . Modifications to RichSmartIDHashFuncs.h
  . Various fixes and additions to trajectories
  . Fix IInAcceptance interface for LHCb namespace

- In TrackEvent v2r2:
  . Additions to track locations names
  . Cleanup matrix manipulations using fixes from Root 5.10.00c
  . Resolution method in Measurement.xml now takes two arguments

- In GenEvent v4r3, HepMC v1r126p0:
  . Pick up HepMC 1.26 from lcg external packages, and dictionary from RELAX

- In PhysEvent v9r2:
  . Fixes for SMatrix in covariance matrix methods
  . Return ExtraInfo by const reference

- In RecEvent v1r2:
  . Make some Calo accessors non-const
  . First iteration in improvements to ProtoParticle (not the last)

- In RichDet v9r3:
  . Modifications to RichDAQDefinitions.h

- In STDet v2r2:
  . Added methods to DeSTDetector and DeSTSector: trajectoryFirstStrip and
    trajectoryLastStrip.
  . Removed bug in strip numbering (in DeSTSector::cacheTrajectory).
  . Fix bug in trajectory method. Trajectory was assumed to start at s=0.

- In OTDet v6r1:
  . New interface, similar to STDet (not backwards compatible)
  . Calculate hits using vectors
  . sensitiveVolumeID() returns element ID

- In VeloDet v10r3:
  . Add module number method to DeVeloSensor
  . Added method to get origin of phi sensors for measurement on track classes

- In VeloDet v10r3, STDet v2r2, OTDet v6r1, TrackEvent v2r2, TrackInterfaces v2r2
  . trajectory() methods now return std::auto_ptr

- In CaloDet v7r1:
  . Adapt DeCalorimeter to the change in XmlConditions v1r6 and XmlDDDB v30r3
  . Introduce a new method returning reference planes in DeCalorimeter

- In LoKiCore v1r1, LoKiGen v1r1:
  . New functions and adapters, see details in package release notes

- In RichRecBase v2r1:
  . In RichTrackSelector.h momentum cut is in GeV
  . In RichPixelCreatorBase.cpp, RichPixelSuppress tool renamed to PixelSuppress

- In Relations v3r1, EventAssoc v3r1:
  . Suppress dictionary generation on Windows due to Boost problems

- In Relations v3r1:
  . Suppress rootmap creation by lcgdict due to CINT problems

- In DetCond v7r10p1, Relations v3r1, EventAssoc v3r1:
  . Trivial fix in requirements for GCCXML+Boost on Windows with LCG_v42a

- In GaudiConf v9r5:
  . Remove explicit loading of RELAX Rflx dictionaries, done by Root on demand

- In OTDAQ v4r1:
  . Adapt to new OTDet interface

- In TrackInterfaces v2r2, TrackEvent v2r2
  . Added errMeasure method

2006-03-23 LHCbSys v20r1

This version uses Gaudi v18r2 and is for commissioning of the software for DC06.

- Packages added:    CaloInterfaces v6r0 (newly migrated to LHCb v20r*)
                     CaloUtils v6r0      (newly migrated to LHCb v20r*)
- Packages removed:  RichCondition       (obsolete, functionality now in RichDet)
- Packages modified: GaudiConf v9r4, KernelSys v5r1, LHCbKernel v6r3,
   RichKernel v6r2, MuonKernel v3r1, TrackInterfaces v2r1, SimComponents v1r1,
   EventSys v21r1, DigiEvent v1r1, DAQEvent v6r3, LinkerEvent v2r1, MCEvent v1r2,
   TrackEvent v2r1, PhysEvent v9r1, L0Event v15r1, GenEvent v4r2, RecEvent v1r1,
   DetSys v8r1, DetDescCnv v3r1, STDet v2r1, VeloDet v10r2, RichDet v9r2,
   MuonDet v5r2, DetCond v7r10, DAQSys v2r1, CaloDAQ v2r1, MuonDAQ v2r1

- In GaudiConf v9r4:
  . Fix DecodeRawBuffer.opts for Velo, IT and TT
  . Remove RichCondition from LHCbApplication.opts

- In LHCbKernel v6r3:
  . Add find method to fast container, and SiDataFunctors.h to use it
  . Fix LineTraj constructor with two points
  . Add OTDataFunctor.h (previously in OTSimulation)
  . Invert order of pixel row and column in RichSmartID so "natural" sorting
    matches the order the pixels come out the HPD electronics

- In RichKernel v6r2:
  . Remove obsolete RichCondition interfaces

- In MuonKernel v3r1:
  . remove Python wrapper, moved to standalone package MuonKernelStandalone

- In DigiEvent v1r1:
  . Added STLiteCluster typedefs
  . Bug fix in interstrip position size for VeloLiteCluster
  . Bug fixes in STCluster.xml and VeloCluster.xml

- In DAQEvent v6r3:
  . Add VeloError and VeloPedestal as RawBank types
  . Add ODINDefinitions.h to describe contents of ODIN bank

- In LinkerEvent v2r1:
  . Restore the default second template. Use T::classID() without instantiation.

- In MCEvent v1r2:
  . Add typedefs for KeyedContainers of MCParticle and const MCParticle.
  . Modify IMCDecayFinder interface to use MCParticle::Container

- In TrackEvent v2r1:
  . Add kappa constant to TrackParameters.h
  . Add a constructor with assigned key to State

- In PhysEvent v9r1:
  . Add typedefs for KeyedContainers of Particle and const Particle.

- In L0Event v15r1:
  . improve L0DUBase.h to please L0Muon
  . Fix in src/L0CaloCandidate.cpp implementation file.
  . Remove L0Calo namespace.

- In GenEvent v4r2:
  . Remove constructor with arguments from HepMCEvent

- In RecEvent v1r1:
  . Fix in CaloDataFunctor.h, redefine typedef in CaloPosition.xml

- In DetDescCnv v3r1:
  . If DetectorElement::initialize() failed, the error was not reported upstream

- In STDet v2r1:
  . Add DeSTDetector::sensitiveVolumeID method

- In VeloDet v10r2:
  . Removed all accessors to sensor information via DeVelo
  . Provide iterator access to sensor containers
  . Renamed isInside method to isInActiveArea

- In RichDet v9r2:
  . Changes to remove need for RichCondition package. Requires XmlDDDB from v30r1
  . Changes to Rich1DTabProperty
  . Speed optimisations for the RichRadIntersections class
  . Added classes DeRichGasRadiator and DeRichAerogelRadiator to handle
    the update of the gas and aerogel properties.
  . Small changes in the DeRich1/2 moving common code to the base class.

- In MuonDet v5r2:
  . fix a bug in DeMuonDetector::list_f_physical_channels

- In DetCond v7r10, DetSys v8r1
  . Add DetCondDict lcgdict, to remove DetCond dependency from DetSys

- In CaloDAQ v2r1:
  . CaloZSupAlg algorithm added (moved from CaloDigit)

- In MuonDAQ v2r1:
  . Add the encoding and decoding of the date format to be used by trigger

- In SimComponents v1r1:
  . Adapt MCDecayFinder to changed interface

- In TrackInterfaces v2r1:
  . Add IPatForwardTool interface

2006-03-10 LHCbSys v20r0

This version uses Gaudi v18r2 and is the first release for commissioning of the
software for DC06.

It breaks all backward compatibility and introduces many new features, including
a major redesign of event model classes following the review in Autumn 2006,
changes for the 1MHz readout, changes to the geometry to introduce detector
tilts and capability for misalignement, and changes to change replace CLHEP with
MathCore.

All packages have been touched. Please look at release notes of the individual
packages for details.

Many packages have been removed, either because they are obsolete, or because of
repackaging.

2005-12-20 LHCbSys v19r4

This version uses Gaudi v17r2. It is backwards compatible for RTTC data

 - New packages:      DaVinciAssociators v5r5p1 - Moved from PhysSys
 - Packages removed:  L0mConf   - now a private package for standalone simulation
                      L0MuonDAQ - obsolete
 - Modified packages: KernelSys v4r18, LHCbKernel v5r16, ProcessorKernel v2r0,
     L0MuonKernel v4r0, EventSys v20r14, DAQEvent v5r3p2, L0Event v14r3p3,
     AssociatorsSys v3r1, DetSys v7r7p1, DetDescCnv v2r10p1, DAQSys v1r9

 - In LHCbKernel v5r16
   . Add bool isTT() method to ITChannelID
   . Add checkDetectorType() to LHCbID, rename and make public detector type enum
   . Split LHCbID ST type into TT and IT, and add isTT() and isIT() methods

 - In DAQEvent v5r3p2
   . Add missing Bank Types for consistency with head revision

 - In L0Event v14r3p3
   . Updates to L0MuonCandidate, removing obsolete methods

 - In AssociatorsSys v3r1
   . Added DaVinciAssociators, moved from Phys, since needed by minimal Panoramix

 - In DetDescCnv v2r10p1
   . Fixed a bug in handling of Windows style path

 - In ProcessorKernel v2r0, L0MuonKernel v4r0
   . New implementation of L0Muon processor. Needs ParamFiles v4r0 or greater

2005-12-09 LHCbSys v19r3

This version uses Gaudi v17r2. It is backwards compatible for RTTC data

 - Modified packages: DetSys v7r7, DetDesc v15r6, DetDescChecks v2r4,
     DetDescExample v6r5, TrackInterfaces v1r4, EventSys v20r13, TrackEvent v1r6,
     TrgEvent v5r8, CaloUtils v5r1

 - In DetSys v7r7
   . Fix requirements to correctly remove COOL_linkopts

 - In DetDesc v15r6
   . Bug fix to UpdateManageSvc
   . Add method const int sensitiveVolumeID(const HepPoint3D& globalPos ) const
     to IDetectorElement interface. Provide default implementation in
     DetectorElement base class.

 - In DetDescChecks v2r4, DetDescExample v6r5
   . Add XmlConditions to requirements for use with XmlDDDB v27r*

 - In TrackInterfaces v1r4
   . ITrackFitter: added method fit(Track& track). State no longer const
   . ITrackExtraSelector interface introduced: selects which extrapolator to use

 - In TrackEvent v1r6
   . src/State.cpp: Copy also the State::Location in the clone method.
   . Measurement: Added method resolution()
   . Node:
     - Always make a new state when constructor is called.
     - New methods: hasMeasurement(), removeMeasurement() and z().
     - Corrected bug: residual can be negative!
   . Track:
     - Flag enum item "AlreadyUsed" introduced
     - use enums types in methods interfaces instead of unsigned int
     - use functors in closestState methods
     - new methods introduced
   . TrackFunctor.h: templated methods moved here from Track.h, methods renamed.

 - In TrgEvent v5r8
   . In HltScore.xml: new member inclusiveCandidates with a list of all exclusive
     (non-HltGeneric) streams

 - In CaloUtils v5r1
   . Select to use only Cnv tracks in reconstruction

2005-11-22 LHCbSys v19r2

This version uses Gaudi v17r2. It is backwards compatible for RTTC data

 - New packages     : RichCondition - to handle Rich conditions from condDB
               CondDBEntityResolver - implements IXmlEntityResolver interface
 - Modified packages: KernelSys v4r17, RichKernel v5r6, RichRecBase v1r17,
     EventSys v20r12, RichEvent v8r5, DAQSys v1r8, RichDAQ v2r3, DetSys v7r6,
     RichDet v8r5, DetDesc v15r5, DetDescCnv v2r10, XmlTools v3r8,
     DetCondExample v7r7, CaloInterfaces v5r0, CaloUtils v5r0, EventAssoc v2r1

 - In RichKernel v5r6
   . Update to use new numbering schemes from Conditions.
   . Replace tools IRichHPDInfoTool and IRichHPDToLevel1Tool with single tool
     IRichDetNumberingTool
   . Add classes RichObjPtn, RichHistoID
   . Reorganization and updates of tool and algorithm base classes
   . New interfaces for RichConditions tools
   . Additions and improvements to IRichMCTruthTool, Rich1DTabFunc,
     IRichMirrorSegFinder, RichTrackSegment creator, ID objects in
     RichDAQDefinitions.h
   . Updates to Level1 ID tool to give access to all valid Level1 IDs

 - In RichRecBase v1r17
   . Adapt to changes in algorithm and tool base classes, and in RichDAQ
   . Add support for new Track event model
   . Improvements to transient reconstruction objects

 - In RichEvent v8r5
   . Updates for new Track event model
   . Add new MCRichDigitSummary object for MC associations on the DST files

 - In RichDAQ v2r3
   . Update to use new numbering schemes from Conditions.
   . use memory management (test, to see if this improves HLT time)
   . Turn on sorting of RichSmartIDs from RawBuffer by default
   . Add protections for empty Level1 board banks

 - In RichDet v8r5
   . Additions to radiator detector elements to load up RichCondition tools.
   . Modifications in DeRichSphMirror for the secondary spherical mirrors
   . MultiSolid radiator for the new aerogel
   . Allow for different reflectivity for every mirror segment.

 - In DetDesc v15r5
   . Use "long long" instead of "longlong" in EventClockSvc properties.
   . Cache UpdateManagerSvc pointer in DetDesc::Services instead of in each
     DetectorElement instance.
   . Minor clean-up in the ParamValidDataObject-related classes.
   . Added 2 missing virtual destructors in IUpdateManagerSvc.h

 - In DetDescCnv v2r10
   . Fixed handling of absolute paths in hrefs in XmlGenericCnv
   . Fixed a problem in XmlGenericCnv when handling URLs with a ':' in the
     object name (it was conflicting with the ChannelId syntax)
   . Fixed handling of nested objects (in case of XML strings) in
     XmlBaseDetElemCnv (it was already fixed for XmlGenericCnv)
   . Allow usage of relative paths in XML strings (mainly for CondDB)

 - In XmlTools v3r8
   . Added the new interface IXmlEntityResolverSvc.
   . XmlParserSvc uses intialize() and finalize() instead of constructor
     and destructor

 - In DetCondExample v7r7
   . Made DetDataAgent print the ClassID of loaded objects.
   . Added a small example that load all the detector description
   . Added a Python script that copies a filesystem tree to a COOL database
   . Use also XmlConditions, Python (for PyCool) and Tools/CondDBEntityResolver
   . Changed CLID_DummyDetectorElement, conflicting with another DetectorElement
     in XmlDDDB.

 - In CaloInterfaces v5r0, CaloUtils v5r0
   . Adapt to new track model

 - In EventAssoc v2r1
   . Add dictionaries for Track Relations (for Calo DST objects)

2005-11-15 LHCbSys v19r1

This version uses Gaudi v17r2 and produces reflex dictionaries
It is backwards compatible for RTTC data

 - Modified packages: KernelSys v4r16, LHCbKernel v5r15, MuonKernel v2r7p1,
       CaloEvent v3r10, DAQEvent v5r3p1, Event v4r8, GenEvent v3r5,
       ITEvent v13r3, L0Event v14r3p2, LinkerEvent v1r9, MuonEvent v4r1,
       OTEvent v14r0p2, PhysEvent v8r11, RichEvent v8r4p1, TrackEvent v1r4p1,
       TrgEvent v5r6, VeloEvent v13r2p2

 - In KernelSys v4r16, EventSys v20r11
   . Changes to have platform dependent dicts with GaudObjDesc v8r3

 - In CaloEvent v3r10
   . New class CaloAdc to store the result of the digitisation

This version integrates also changes made for LHCbSys v19r0 but never released:

 - New packages     : DC04Hacks v1r0 - temporary, to read DC04 data with Reflex
 - Modified packages: KernelSys v4r15, LHCbKernel v5r14, Relations v2r6,
     EventSys v20r10, TrackEvent v1r4, DAQEvent v5r3, GenEvent v3r4,
     PackedEvent v1r2, LinkerInstances v2r1, EventAssoc v2r0, STTools v1r2,
     DetSys v7r5, DetCond v7r7, DetCondExample v7r6, DAQSys v1r7, STDAQ v1r6,
     RichRecBase v1r16p2, IOExample v1r5

 - In LHCb v19r0
   . Remove creation of DataOnDemandSvc from LHCbApplication.opts, as this must
     be done *after* creation of PoolDbCacheSvc in GaudiPoolDbRoot.opts

 - In LHCbKernel v5r14,  DAQEvent v5r3, GenEvent v3r4, LinkerInstances v2r1,
      PackedEvent v1r2, DetSys v7r5
   . Modify requirements to produce reflex dictionaries

 - In LHCbKernel v5r14
   . Add no. of strips per Beetle to constants
   . Clean up some of the RICH enums

 - In Relations v2r6, EventAssoc v2r0
   . Change custom dictionary for Reflex

 - In EventSys v20r10
   . Change PoolDicts.opts to load SEAL Reflex dictionaries
   . Disable lcgdictcheck test, not yet working with Reflex

 - In TrackEvent v1r4
   . TrackKeys.h and StateKeys.h files removed. Enumerations now produced in
     Track.xml and State.xml
   . Bug fixes in closestState, closestToZ, closestToPlane methods of Track
   . Bug fix to Node chi2 calculation
   . Added Measurement::update() method
   . Added history enums for converted tracks
   . Improved doxygen documentation

 - In DetCond v7r7, DetCondExample v7r6
   . Minimal changes to follow changes in Gaudi, COOL, SEAL, POOL

 - In STDAQ v1r6
   . Change job option, to cluster by Beetle instead of by port

 - In STTools v1r2
   . Add tool to give cluster properties (position and error), with interface
     ISTClusterPosition

 - In RichRecBase v1r16p2
   . Bug fix to TrackSelector for TrStoredTracks that caused a boost array
     to go out of range for "Unknown" or "UnUsable" tracks.

 - In IOExample v1r5
   . Various cleanups for Reflex persistency

2005-11-08 LHCbSys v19r0

 This version was never released. It contained preliminary changes to work
 with reflex dictionaries and Gaudi v17r1

 See v19r1 release notes for details of changes in this version that were
 released with v19r1

2005-09-22 LHCbSys v18r9

This version uses Gaudi v16r5

 - Packages removed:  LHCbInterfaces. All interfaces moved to LHCbKernel/Kernel
 - Modified packages: KernelSys v4r14, LHCbKernel v5r13, TrackInterfaces v4r14,
     EventSys v20r9, TrgEvent v5r6, DetSys v7r4, DetDesc v15r4, DetDescCnv v2r9,
     DetCond v7r6, STDet v1r5, Magnet v2r9, XmlTools v3r7, LHCbAlgs v1r9
     TrgTools v7r6, MCTools v1r14, TrackPython v1r1, DetCondExample v7r5,
     GaudiConf v9r2, DAQSys v1r6p1, MuonDAQ v1r2p3, HepMC v4r126p0

 - In LHCbKernel v5r13
   . Add IBdlTool, IBIntegrator, ICheckTool, IInAcceptance, INormalizeTool
     interfaces to Kernel directory

 - In TrackInterfaces v1r3
   . Remove IBIntegrator interface, moved to LHCbKernel
   . Add ITrackChi2Calculator interface, copied from TrMatching
   . ITrackSelector renamed to ITrackCriteriaSelector
   . IStateCreator renamed to IIdealStateCreator

 - In TrackPython v1r1, LHCbAlgs v1r9, MCTools v1r14
   . Remove LHCbInterfaces dependency and adapt to new interfaces location in
     LHCbKernel

 - In EventSys v20r9
   . Add TrackEventDict to PoolDicts.opts

 - In TrgEvent v5r6
   . Add class IDs to TrgCalo classes

 - In DetSys v7r4
   . Add SmartRef and IDetDataSvc to lcg dictionary for Python

 - In DetDesc v15r4
   . Various updates and bug fixes for handling conditions data - details in
     DetDesc release notes
   . Moved ICondDBAccessSvc and ICondDBSvc interfaces back to DetCond package
   . Changes to IGeometryInfo etc. to add possibility to apply misalignments
     about an arbitrary pivot in the local frame of the detector element
   . Added radiation and interaction length calculation to elements
   . Fixed a bug in the XML string generated by TabulatedProperty::toXml()
   . Fixed a Win32 warning about Param.h and a bug when writing empty vectors
   . Fixed a memory leak in UpdateManagerSvc occurring when registering without
     condition

 - In DetDescCnv v2r9
   . Added calculation of radiation length and interaction length to element
     converter
   . Improvements to CondDb address, including support for COOL Channel Id
   . Better handling of self-referring XML: it works also for strings (using
     the 3rd string of the XML address as original source of the XML string)

 - In DetCond v7r6
   . Added support to cool::ChannelId
   . Allow direct mapping of the CondDB structure to the DetectorDataSvc tree
   . Use 3rd string of GenericAddress to store the origin of the XML string
   . Fixed a bug in CondDBCache search for conflicts in the IOVs

 - In STDet v1r5
   . New method 'isInVDeadZone(...)' to check if (u,v) is inside a wafer
     and in a vertical dead zone given some tolerance

 - In Magnet v2r9
   . Add BdlTool and BIntegrator tools, moved from various tracking packages
   . Use [] instead of () everywhere in B field calculations, to avoid possible
     confusion over ranges of indices in CLHEP vectors

 - In XmlTools v3r7
   . XmlCnvSvc sets the 3rd string of GenericAddress for XML string addresses
   . fixed a Win32 warning in XmlCnvSvc.cpp

 - In TrgTools v7r6
   . Use relevant state for electrons in order to profit from Bremsstrahlung
     corrections

 - In MCTools v1r14
   . Introduce new service EvtTypeSvc and algorithm EvtTypechecker. See MCTools
     release notes for usage details
   . Initialise m_nEvents in MCEffBuilder to avoid strange output

 - In DetCondExample v7r5
   . Add more tests
   . Add example of usage of TabulatedProperty in the CondDB

 - In GaudiConf v9r2
   . New file options/addrcheck.supp, contains suppressions for addrcheck tool
     of valgrind (recommended instead of memcheck, as it is much faster)

 - In MuonDAQ v1r2p3
   . Fix uninitialised variable in MuonRawBuffer2Digit

 - In HepMC v4r126p0
   . Split new MattDobbs HepMC 1.26 version between HepMC and HepEvt
     This version contains the HERWIG interface

2005-07-25 LHCbSys v18r8

This version uses Gaudi v16r5

 - New packages      : LinkerInstances v2r0 - dictionaries of Linker objects for
                                              use with GaudiPython
                       TrackPython v1r0 - To expose track interfaces to Python
 - Modified packages : KernelSys v4r13p1, LHCbKernel v5r12p1,
     EventSys v20r8, DAQEvent v5r2p2, PhysEvent v8r10, TrackEvent v1r3,
     PackedEvent v1r1, L0Event v14r3p1, GenEvent v3r3p2, LinkerEvent v1r8p1,
     DetSys v7r3, DetDesc v15r3, DetDescCnv v2r8, VeloDet v9r8,
     MuonDet v4r8, CaloDet v6r9p1, OTDet v5r6, XmlTools v3r6, TrgTools v7r5,
     DetCond v7r5, XmlTools v3r6, DAQSys v1r6, VeloDAQ v2r3p2, OTDAQ v3r3,
     LHCbAlgs v1r8, RichRecBase v1r16p1, TrackInterfaces v1r2,LHCbInterfaces v1r3

 - In DoxyFile.cfg
   . Get dot tool configuration from dottools.cfg, rather than from makedoc.py
   . Add *.icpp to file patterns

 - In LHCbKernel v5r12p1
   . LHCbID::channelID() now returns the internal unsigned int of the specific
     VeloChannelID, ITChannelID, etc.

 - In EventSys v20r8
   . Add PoolCopy.opts: options for copying (or merging) Pool data files

 - In DAQEvent v5r2p2
   . EventHeaderFromRaw, check existence of DAQ bank before accessing it, return
     StatusCode::FAILURE if missing
   . Add "VeloFull" to RawBuffer bank types enum

 - In PhysEvent v8r10
   . Add FilterCriterion, Tagger classes. Update FlavourTag

 - In PackedEvent v1r1
   . Restore the TrStoredMeasurement references when unpacking PackedTracks

 - In TrackEvent v1r3
   . Added Track clone method with key
   . Fixed bug in ordering states added to a track

 - In DAQEvent v5r2p2, PhysEvent v8r10, TrackEvent v1r3
   . Trivial fixes for GaudiObjDesc generation of Reflex dictionaries

 - In VeloDAQ v2r3p2
   . Bug fix: last Velo Phi bank was missing from in L1Buffer, in cases when this
     bank would be empty

 - In OTDAQ v3r3
   . Add support for OT RawBank v2 (one Tell1 header word instead of 3)
   . Change readout gate from 50ns to 75ns
   . Do not create GOL header for empty GOLs

 - In DetSys v7r3
   . Add creation of LCG dictionaries for all LHCb detector description classes,
     to allow python bindings

 - In DetDesc v15r3
   . Various changes to IGeometryInfo, GeometryInfoPlus and AlignmentCondition to
     setting and propagation of alignment transformation parameters
   . Remove GeometryInfo class, add interfaces previously in DetCond
   . TabulatedProperty now inherits from ValidDataObject
   . UpdateManagerSvc now registers as IncidentListener to BeginEvent

 - In XmlTools v3r6, DetDescCnv v2r8
   . Implemented lock on cached documents (needs explicit release)

 - In DetDescCnv v2r8
   . XmlBaseConditionCnv::fillObjRefs now returns status of internal call

 - In TrgTools v7r5
   . Backward compatible changes to cope with v200507 geometry

 - In VeloDet v9r8
   . Add caching methods for recalculation of Z position after alignment changes

 - In CaloDet v6r9p1
   . Trivial changes to allow creation of lcg dictionaries

 - In OTDet v5r6
   . Trivial changes to allow creation of lcg dictionaries
   . Remove ResolutionCor in DeOTDetector, following test beam 2005

 - In MuonDet v4r8
   . Fix memory leak in XmlMuonRegionCnv

 - In DetCond v7r5
   . Move abstract interfaces to DetDesc
   . Added CondDBAccessSvc::dumpCache() to print content of the cache

 - In DetCondExample v7r4
   . Adapt to move of interfaces from DetCond to DetDesc

 - In LHCbAlgs v1r8
   . Add EventNodeKiller algorithm to kill nodes in the event data store

 - In RichRecBase v1r16p1
   . Add missing include Kerne/RichRadiatorType.h to RichRecPixel.xml

 - In TrackInterfaces v1r2
   . Added propagate() and predict() methods to ITrackExtrapolator
   . Add IMeasurementProvider tool interface

 - In LHCbInterfaces v1r3
   . Add LHCbInterfaces/IInAcceptance.h

2005-06-28 LHCbSys v18r7

 - Packages modified: KernelSys v4r13, LHCbKernel v5r12, RichKernel v5r5,
     DetSys v7r2, DetDesc v15r2, DetDescCnv v2r7, XmlTools v3r5p1, VeloDet v9r7,
     EventSys v20r7, TrackEvent v1r2, RichEvent v8r4, DAQEvent v5r2p1,
     DAQSys v1r5, RichDAQ v2r2, LHCb v18r7, LHCbAlgs v1r7, TrackInterfaces v1r1,
     TrgTools v7r4p1, RichRecBase v1r16, DetCond v7r4, DetCondExample v7r3

 - In LHCb v18r7
   . Remove Pool persistency and dictionary setup from LHCbApplication.opts,
     as it breaks online applicatons. Should be done explicitly in offline apps.

 - In LHCbKernel v5r12
   . Fixes to POOL dictionaries for use from GaudiPython:
     + Remove --pool option from lcgdict build command
     + Add copy constructor to CaloCellID, VeloChannelID, ITChannelID
   . Fix LHCbID for ITChannelID and other LHCbID improvements

 - In LHCbAlgs v1r7
   . LbAppInit is a GaudiHistoAlg, property "HistoProduce" replaces "doHistos"
   . Split memory histogram into two, both with "HistoSize" bins
     + hID=2: one entry per event for first HistoSize events
     + hID=3: one entry every HistoSize events, starting at event 1

 - In DetDesc v15r2
   . Changes for handling conditions attached to IGeometryInfo
   . Delete all dynamically allocated matrices and pointer to MsgStream in
     GeometryInfoPlus destructor
   . Updates to UpdateManagerSvc

 - In DetDescCnv v2r7
   . Allow parsing of address strings that include environment variables

 - In XmlTools v3r5p1
   . Fix small memory leak in XmlParserSvc (cache was not freed in destructor)

 - In VeloDet v9r7
   . Sort sensors in Z before storing, to support geometries where sorting not
     done in the XML

 - In TrgTools v7r4p1
   . L1InitEvent.cpp: dummy initialization of event and run number in
                      L1Score to prevent access to raw buffer

 - In DAQEvent v5r2p1
   . In CreateL1Event, CreateRawEvent, do not create if already existing

 - In TrackInterfaces v1r1
   . Add ITrackFitter interface

 - In TrackEvent v1r2
   . Changes to enums in TrackKeys.h, for clarity

 - In RichKernel v5r5
   . Changes to RichMirrorSegFinder interface
   . Changes to allow running HLT and offline reconstruction in same job

 - In RichEvent v8r4
   . Move non-persistent digitization classes MCRichDeposit, MCRichSummedDeposit
     to Rich/RichReadout package
   . Add non-const accessors to allow direct manipulation of data members
    (avoids an additional copy during reconstruction)

 - In RichRecBase v1r16
   . Add new base classes for pixel, photon and track creator tools.
   . Add new methods to access a range of RichRecPixels
   . Fix a few bugs in the "trackSelected" methods of RichTrackSelector
   . Only load the creator tools "on-demand" for the algorithm base classes
     Has the side that some tools are only created during the first event...
   . Changes to allow running HLT and offline reconstruction in same job

 - In RichDAQ v2r2
   . Rename RichHPDIDTool RichHPDInfoTool
   . Add functionality to RichHPDInfoTool to disable given HPDs and methods to
     access information on whether a given HPD is active
   . Fix stats for cases when some events are not processed (such as in HLT)
   . Changes to allow running HLT and offline reconstruction in same job

 - In DetCond v7r4
   . Added the possibility of having an in-memory copy of the CondDB.
   . Renamed ConditionsDBCnvSvc to CondDBCnvSvc, added ICondDBCnvSvc interface

 - In DetCondExample v7r3
   . Code cleanups and updates for DetCond v7r4

2005-06-13 LHCbSys v18r6

 - Packages added:    Event/PackedEvent v1r0 (replaces Event/Rdst)
 - Packages removed:  Event/Rdst
 - Packages modified: KernelSys v4r12, LHCbKernel v5r11, DAQSys v1r4p1,
      EventSys v20r6, TrEvent v14r3, DAQEvent v5r1p1, TrackEvent v1r1,
      DetSys v7r1, DetDesc v15r1, VeloDet v9r6, DetDescCnv v2r6, MuonDet v4r7,
      TrgTools v7r4, DetDescExample v6r4, DetCond v7r3

 - In LHCbKernel v5r11:
   . Speed improvements in VeloChannelID and LHCbID constructors, for L1
   . Add Kernel/StandardPacker.h, moved from Event/Rdst

 - In PackedEvent v1r0:
   . Changed default locations of packed containers to Event/pSim, Event/pDst

 - In TrEvent v14r3:
   . Remove Track and State, now in TrackEvent

 - In DAQEvent v5r2:
   . Add HLT to RawBuffer BankType enum. For RTTC
   . Clear registry entry of /Event/Header after adding it to RawBuffer

 - In TrackEvent v1r1:
   . Fix bug in Track::addToStates and addToMeasurements, was adding twice
   . Minor changes to Track and State

 - In DetDesc v15r1, DetDescCnv v2r6
   . Add support for Alignment Conditions
   . Change OutputLevel of very frequent DEBUG messages to VERBOSE
   . Optimization of UpdateManagerSvc
   . Calculate effective number of nucleons N() from A(), no longer in XmlDDDB

 - In VeloDet v9r6
   . Add support for flipped R sensors
   . Make const most methods of DeVelo and DeVeloSensor
   . Remove most protected data members in DeVeloSensor

 - In MuonDet v4r7
   . Add hack to bypass a problem discovered with new GeometryInfo implementation
   . Change OutputLevel of very frequent DEBUG messages to VERBOSE

 - In LHCb v18r6
   . Add options/LHCbApplication.opts, options shared by most applications

 - In DAQSys v1r4p1
   . Remove explicit creation of DataOnDemandSvc from RawBuffer.opts

 - In TrgTools v7r4
   . Move TrgInsertTrackErrParam algorithm to HltGeneric

 - In DetDescExample v6r4
   . Print out also N() of materials

 - In DetCond v7r3
   . Split into component and link library

2005-05-24 LHCbSys v18r5

 - Packages added:    TrackInterfaces v1r0, DetCond v7r2, DetCondExample v7r2
 - Packages modified: KernelSys v4r11, Relations v2r5, RichKernel v5r4p1,
     EventSys v20r5, Rdst v1r1, TrackEvent v1r0, LHCbInterfaces v1r2,
     DetSys v7r0, DetDesc v15r0, DetDescCnv v2r5, CaloDet, OTDet v5r5,
     RichDet v8r4, STDet v1r4, VeloDet v9r5, DetDescExample v6r3, DAQSys v1r4

 - In Relations v2r5:
   . Add a pointer wrapper class, to make relations to raw pointer objects

 - In DAQSys v1r5:
   . Add to RawBuffer.opts creation of /Event/Raw on demand if not existing

 - In Rdst v1r1:
   . Use key() instead of linkID() when storing SmartRef, to avoid problems
     when linkID is not defined (e.g. in job that creates the SmartRef)
   . Replace Rdst.opts with UnpackDigi.opts and UnpackDst.opts.
   . Clear the registry address of containers that have been packed. Ensures that
     programs reading a packed file do not try to load the unpacked containers if
     they exist on an ancestor file.

 - In TrackEvent v1r0
   . First release of new Track Event model
   . Add TrackVertex class (copy of TrgVertex using Track)

 - In TrackInterfaces v1r0
   . First release of interfaces for new Track model

 - In LHCbInterfaces v1r2
   . Remove ITrackProjector, ITrackExtrapolator. Moved to TrackInterfaces

 - In DetDesc v7r0
   . Various changes to prepare deployment of CondDb. In particular:
     . Change in ValidDataObject and SimpleValidity following the change in
       GaudiKernel/IValidity (needs GaudiKernel >= v19r2, XmlDDDB >= v24r2)
     . Change in LogVolBase inheritance tree
       (ValidDataObject instead of DataObject+IValidity)

 - In DetDescCnv v2r5, CaloDet, OTDet v5r5, RichDet v8r4, STDet v1r4,
      VeloDet v9r5, DetDescExample v6r3
   . Adapt to changes in DetDesc

 - In DetCond v7r2, DetCondExample v7r2
   . First public release of conditions database for LHCb

2005-05-11 LHCbSys v18r4

 - Packages added:    STTools v1r1, TrgTools v7r3, Rdst v1r0
 - Packages modified: DetSys v6r5, DetDescCnv v2r4, XmlTools v3r5, LHCbAlgs v1r6,
     EventSys v20r4, LinkerEvent v1r8, DAQEvent v5r1, TrgEvent v5r5,
     EventAssoc v1r5, AssociatorsSys v3r0, CaloAssociators v5r0, CaloUtils v4r9,
     DetDescChecks v2r3, DAQSys v1r3, CaloDAQ v1r1

 - In STTools v1r1:
   . New package, to break coupling between Rec packages and ITAlgorithms
   . Initially contains STSignalToNoiseTool, renamed from ITSignalToNoiseTool

 - In LHCbAlgs v1r6:
   . Remove TESFilter, moved to EventUtils

 - In DAQSys v1r3:
   . Enable creation of /Event/Header by DataOnDemandSvc (in RawBuffer.opts)

 - In CaloDAQ v1r1:
   . Add a missing factory
   . Access RawEvent directly and avoid copying banks when decoding

 - In CaloUtils v4r9:
   . Add CaloTrackAlg and CaloHistoTrackAlg base classes previously in CaloReco

 - In CaloAssociators v5r0:
   . Complete restructuring, see release notes for details

 - In EventAssoc v1r5:
   . Add dictionary for CaloDigit to MCParticle relation

 - In DAQEvent v5r1:
   . Add constructor from buffer pointer and length to RawEvent and L1Event,
     for online use, and remove constructor from map
   . Store buffer pointer and length in RawEvent, L1Event and add get accessors
   . Add enum to RawBuffer containing "MagicPattern" value
   . Disable copy and assignment operators in L1Buffer and RawBuffer

 - In LinkerEvent v1r8:
   . Allow for keys that cannot be implicitly converted to int

 - In TrgEvent v5r5:
   . Add HltScore and HltAlgorithmScore classes

 - In Rdst v1r0:
   . First version of event classes for Rdst, with coding and decoding algorithms

 - In DetDescCnv v2r4, XmlTools v3r5:
   . Pointer returned by XmlParserSvc::parseString() must now be released by
     caller. XmlGenericCnv deletes the DOMDocument returned in this way.

 - In DetDescChecks v2r3:
   . Cleanup code, add progress bar to output
!======================= LHCbSys v18r3 2005-04-21 =======================
! 2005-04-21 - Marco Cattaneo
 - Move to Gaudi v16r3
 - Packages added:    TrackEvent v0r1: Pre-release of new track event model
                      EventUtils v1r0: Components to manipulate objects in TES
 - Packages modified: GaudiConf v9r1, KernelSys v4r10, LHCbKernel v5r10,
     L0mConf v2r2p4, L0MuonKernel v3r0p1, ProcessorKernel v1r0p1,
     LHCbAlgs v1r5, EventSys v20r3, AssociatorsSys v2r4p1, ITAssociators v2r11p1,
     OTAssociators v3r2p1, VeloAssociators v1r14p1, IOExample v1r4p2

 - In GaudiConf v9r1
   . update Gaudi.supp suppression file for valgrind 2.2.0 and Gaudi v16r2
   . use preprocessor directives to set application name and version via
     GaudiMain, printed out by ApplicationMgr

 - In LHCbAlgs v1r5
   . Remove from LbAppinit printout of application name and version, now done
     by GaudiMain. APPVERSION environment variable no longer required.

 - In LHCbKernel v5r10
   . Fix to LHCbID, 26 bits for ITChannelID

 - In L0mConf v2r2p4
   . Fix a small memory leak

 - In L0MuonKernel v3r0p1
   . Fix an uninitialized variable

 - In ITAssociators v2r11p1, OTAssociators v3r2p1, VeloAssociators v1r14p1
   . Add algorithm to test built Relations

 - In IOExample v1r4p2
   . Update input files for EventSys v20r3 event model

!======================= LHCbSys v18r2 2005-04-07 =======================
! 2005-04-07 - Marco Cattaneo
 - Packages added:    ProcessorKernel v1r0 - Base classes for generic L0 Muon
                                             processor simulation
                      L0MuonDAQ v1r0       - L0 Muon DAQ utilities
 - Packages modified: MCTools v1r13, LHCbAlgs v1r4, KernelSys v4r9,
       Relations v2r4, MuonKernel v2r7, L0MuonKernel v3r0, LHCbKernel v5r9,
     EventSys v20r2, PhysEvent v8r9, Event v4r7, ITEvent v13r2p1, RichEvent v8r3,
       LinkerEvent v1r7, MuonEvent v4r0, L0Event v14r3, OTEvent v14r0p1,
       VeloEvent v13r2p1,
     DetSys v6r4, XmlTools v3r4, DetDesc v14r4, VeloDet v9r4, STDet v1r3,
       DetDescCnv v2r3p1,
     AssociatorsSys v2r4, ITAssociators v2r11, MuonAssociators v1r5p1,
       OTAssociators v3r2, VeloAssociators v1r14, TrAssociators v5r1p1,
     DAQSys v1r1p2, MuonDAQ v1r2p2, STDAQ v1r5, RichRecBase v1r15p1

 - In Relations v2r4
   . Optimisation of constructors
   . Remove a (false) Warning message when options are correctly chosen

 - In L0MuonKernel v3r0
   . Rearrange code to make independent of GaudiKernel, optimize for performance

 - In MuonKernel v2r7
   . Add toString method and constructor taking a string to MuonTileID class

 - In LHCbKernel v5r9
   . Fix OTChannelID encoding in LHCbID
   . Remove obsolete files Kernel/LHCbStreams.h and Kernel/CLHEPStreams.h

 - In MCTools v1r13
   . Fix bug in encoding of OT information in BuildMCTrackInfo. Removes
     compatibility with DC04 data

 - In LHCbAlgs v1r4
   . Add "PreloadGeometry" option to LbAppInit. Default is false

 - In Event v4r7
   . Change internal representation of MCHit (data is backwards incompatible):
     now store entry point and *displacement* to exit point
   . Change internal representation of MCParticle (data is backwards compatible):
     removed m_collision (still available via originVertex()), changed m_helicity
     to int (was double)

 - In PhysEvent v8r9
   . Add Kernel directory for interfaces closely related to PhysEvent
   . Add Kernel/IParticleTransporter.h, moved here from DaVinciKernel

 - In LinkerEvent v1r7
   . Major bug fix in LinkedFrom (methods 'first' and 'intRange')
   . Make non const the methods direct() and inverse() to LinkerTool
   . Add the 'bool empty()' method to LinkerRange

 - In MuonEvent v4r0
   . Add inheritance from MCHit to MCMuonHit. Interface change due to replacement
     of setExit() by setDisplacement(), and Energy() by energy()

 - In RichEvent v8r3
   . Remove inheritance from MCHit from MCRichHit, since exit point (and so
     displacement) are meaningless in this context. Saves 12 bytes per hit

 - In L0Event v14r3
   . Added to L0MuonBase.h constants for decoding L1Buffer

 - In XmlTools v3r4
   . Fix a memory loak in XmlParserSvc

 - In DetDesc v14r4
   . Add DataStoreLoadAgent to preload complete data store

 - In VeloDet v9r4
   . Enable DeVelo to cope with an arbitrary number of detector element
     hierarchies between Velo and individual sensors.

 - In STDet v1r3
   . Fix bug in TTLayer.cpp (not backwards compatble for data)

 - In STDAQ v1r5
   . Implement header word for ST data, increment bank version. Version number
     used to distinguish between old and new data

 - In AssociatorsSys v2r4
   . IT, OT, Velo associators to MCHit also create and use Linker tables,
     allows transparent removal of Relations from Boole persistent output

!======================= LHCbSys v18r1 2005-03-08 =======================
! 2005-03-08 - Marco Cattaneo
 - Move to Gaudi v16r2
 - Packages modified: KernelSys v4r8, LHCbKernel v5r8, RichKernel v5r4,
     EventSys v20r1, DAQEvent v5r0, RichEvent v8r2, RichRecBase v1r15,
     DetSys v6r3, RichDet v8r3, VeloDet v9r3, MuonTools v3r8, DAQSys v1r1p1,
     RichDAQ v2r2p1, VeloDAQ v2r3p1, CaloDAQ v1r0p2, MuonDAQ v1r2p1, OTDAQ v3r2p1

 - In LHCbKernel v5r8
   . Backwards icompatible changes to RichSmartID
   . Add missing lcg dict entries

 - In RichKernel v5r4
   . Add new methods to algorithm and tool base classes to access the TES
     location for a given DataObject

 - In DAQEvent v5r0
   . Backwards incompatible changes to RawBuffer
   . Add/Modify RawBuffer and L1Buffer bank types
   . Encode/decode event and run number into DAQ RawBank

 - In RichEvent v8r2
   . Add history bit fields to MCRichDigit, MCRichDeposit, MCRichSummedDeposit
   . Remove unused photo-detector numbers from MCRichHit and MCRichOpticalPhoton
   . Updates to MCRichSegment for CLHEP 1.9... and LCG dictionaries

 - In RichRecBase v1r15
   . Minor fix to RichTrackID, add monitor algorithm and tool base classes

 - In RichDet v8r3
   . Add protection against invalid pixel information

 - In VeloDet v9r3
   . Fix bug to isInside

 - In MuonTools v3r8
   . Add MuonPosTool

!======================= LHCbSys v18r0 2005-02-11 =======================
! 2005-02-11 - Marco Cattaneo
 - Move to Gaudi v16r1
 - Packages removed:  GaudiObjDesc (go back to version picked up from Gaudi)
                      RichTools, RichMCTools (moved to Lbcom)
 - Packages added:    AsctToLinker (previously in Boole, Brunel)
                      L0mConf, L0MuonKernel (previously in Boole, DaVinci)
                      RichRecBase (previously in Brunel, DaVinci)
 - Packages modified: GaudiConf v9r0, LHCbAlgs v1r3p1, MCTools v1r12,
     DAQSys v1r1, STDAQ v1r4p1, CaloDAQ v1r0p1, RichDAQ v2r2, VeloDAQ v2r3,
     KernelSys v4r7, LHCbKernel v5r7, RichKernel v5r3, Relations v2r3,
     EventSys v20r0, PhysEvent v8r2, TrEvent v14r2, RichEvent v8r1p1,
     LinkerEvent v1r6, DAQEvent v4r6, TrgEvent v5r4, GenEvent v3r3p1,
     CaloEvent v13r9, DetSys v6r2, RichDet v8r2, IOExample v1r4p1

 - In GaudiConf v9r0, GenEvent v3r3p1, IOExample v1r4p1
   . Updates for ROOT 4.*

 - In LHCbKernel v5r7, GenEvent v3r3p1, CaloEvent v13r9
   . Changes for CLHEP 1.9

 - In LHCbKernel v5r7, PhysEvent v8r2, TrEvent v14r2, DAQEvent v4r6,
      TrgEvent v5r4, RichKernel v5r3, RichDet v8r2, RichDAQ v2r1:
   . Changes for GaudiObjDesc v7r*

 - In LinkerEvent v1r6
   . Several improvements (see details in release notes)

 - In Relations v2r3
   . Few modifications to improve performance (many details in release notes)
   . Backwards incompatible change in POOL dictionary, for Python usage

 - In AsctToLinker v1r4
   . Changes to avoid duplicate entries

 - In STDAQ v1r4p1, RichEvent v8r1p1
   . Backwards compatible fixes for gcc 3.3

 - In MCTools v1r12, AsctToLinker v1r14
   . Move to new Gaudi base classes

 - In VeloDAQ v2r3
   . Bug fix to also encode/decode sensors 40 and 41

!======================= LHCbSys v17r3 2005-01-20 =======================
! 2005-01-20 - Marco Cattaneo
 - New packages:      DAQSys v1r0, CaloDAQ v1r0
 - Modified packages: CaloInterfaces v4r3,
     KernelSys v4r6, LHCbKernel v5r6, RichKernel v5r2, VeloKernel v1r5p1,
     EventSys v19r3, CaloEvent v13r8, L0Event v14r2, TrgEvent v5r3,
     DetSys v6r1, DetDesc v14r3, Magnet v2r8, DetDescChecks v2r2,
     AssociatorsSys v2r2p1, Associators v2r4p1,
     RichDAQ v2r0, RichTools v1r3, RichMCTools v2r4, MCTools v1r11

 - In LHCbKernel v5r6:
   . Improved RichSmartID constructors and messaging (backward compatible)

 - In RichKernel v5r2:
   . Add base classes for monitoring tools and algorithms
   . Add interfaces for new DAQ tools
   . Change interface to RichSmartID tool

 - In DAQSys v1r0:
   . Hat package for all xxDAQ packages
   . RawBuffer.opts to set up RawBuffer decoding via DataOnDemandSvc

 - In CaloDAQ v1r0:
   . RawBuffer encoding and decoding for Calo (moved from CaloEvent)
   . More compact coding of Prs/Ecal/Hcal energies (-1.5 kByte/evt). Decoding
     compatible both with this new format and the old one

 - In RichDAQ v2r0:
   . Complete rewrite (see release notes)
   . Add new versions of data format
     + Version 0 : Old version used for DC04
     + Version 1 : Same HPD bank structure as version 0, but new headers and
                   L1 board grouping
     + Version 2 : Same as version 1 but using new zero-suppressed HPD format

 - In CaloEvent v13r8:
   . RawBuffer encoding, decoding (and data on demand options) moved to CaloDAQ

 - In L0Event v14r2:
   . Re-implement L0PrsSpdHit and L0CaloADC
   . L0PrsSpdHit is now a KeyedObject (transient object)

 - In TrgEvent v5r3:
   . Add muon hits as track hit

 - In RichTools v1r3:
   . Updates to RichSmartID Tool

 - In RichMCTools v2r4:
   . Add algorithm BuildMCRichDigitLinks (previously in RichDAQ)

 - In DetDesc v14r3, Magnet v2r8, MCTools v1r11, VeloKernel v1r5p1,
      RichKernel v5r2, CaloInterfaces v4r3
   . Backwards compatible changes for CLHEP 1.9

 - In MCTools v1r11:
   . Add MCHitMonitor algorithm

!====================== LHCbSys v17r2p1 2005-01-13 ======================
! 2005-01-13 - Marco Cattaneo
 - Add configuration files for doxygen documentation

!======================= LHCbSys v17r2 2004-12-15 =======================
! 2004-12-15 - Marco Cattaneo
 - New packages:  GaudiObjDesc v7r0 (added temporarily until released with Gaudi)

 - Modified packages: KernelSys v4r5, LHCbKernel v5r5, Relations v2r1,
                      EventSys v19r2, TrgEvent v5r2, VeloEvent v13r2,
                      PhysEvent v8r7, CaloEvent v13r7, MuonEvent v3r2,
                      RichEvent v8r1, Event v4r6, L0Event v14r1p2,
                      DetSys v6r0, VeloDet v9r2, DetDesc v14r2p1, OTDet v5r4p1,
                      AssociatorsSys v2r2, VeloAssociators v1r13, MCTools v1r10,
                      VeloDAQ v2r2, OTDAQ v3r2, LHCbAlgs v1r3, GaudiConf v8r3,
                      LHCbInterfaces v1r1, IOExample v1r4

 - In GaudiConf v8r3
   . Remove remaining .py options files (obsolete)

 - In LHCbKernel v5r5, TrgEvent v5r2
   . Add missing POOL dictionaries

 - In LHCbKernel v5r5, VeloEvent v13r2, VeloDet v9r2, VeloDAQ v2r2
   . Backwards incompatible changes to Velo geometry and wafer numbering

 - In MCTools v1r10
   . Modified the VeloCluster to MCParticle linker to check each channel ID
     separately, no longer just one channel in a cluster

 - In LHCbKernel v5r5, CaloEvent v13r7, MuonEvent v3r2, Event v4r6,
      RichEvent v8r1, PhysEvent v8r7, L0Event v14r1p2
   . Modifications to use new version of GaudiObjDesc

 - In Relations v2r1
   . Remove WIN32 special code, no longer necessary with VC7.1

 - In OTDet v5r4p1
   . Add a default location for the detector element

 - In OTDAQ v3r2
   . Move to new GaudiAlgorithm base classes

 - In LHCbInterfaces v1r1
   . New version of ITrExtrapolator.h, for new track model. Old version stays in
     TrKernel package

 - In TrEvent v14r1
   . Add classes Track.h, State.h for new track model. Independent of old classes

 - In IOExample v1r4
   . Update WriteMin.opts to files produced with new Rich Event model

!======================= LHCbSys v17r1 2004-11-26 =======================
! 2004-11-26 - Marco Cattaneo
 - Modified packages: KernelSys v4r4, LHCbKernel v5r4, RichKernel v5r1,
                   EventSys v19r1, RichEvent v8r0, TrgEvent v5r1, PhysEvent v8r6,
                   LinkerEvent v1r5, Relations v2r0,
                   DetSys v5r9, RichDet v8r1, GaudiConf v8r2, LHCbAlgs v1r2,
                   RichDAQ v1r6, RichMCTools v2r3, RichTools v1r2, MCTools v1r9,
                   AssociatorsSys v2r1,  Associators v2r4, VeloAssociators v1r12,
                   ITAssociators v2r10, OTAssociators v3r1, MuonAssociators v1r5,
                   TrAssociators v5r1, CaloAssociators v4r4

 - In GaudiConf v8r2
   . For rh73_gcc323 and slc_ia32_gcc323, append "_0411" to ROOT_native_version,
     to pick up fix for using rootd on Castor
   . Remove obsolete options files (Common.opts, Dlls.opts, Services.opts)
   . Remove corresponding STDOPTIONS environment variable

 - In LHCbKernel v5r4
   . Backwards compatible changes to RichSmartID

 - In RichKernel v5r1
   . Add some interfaces and methods to existing interfaces

 - In RichEvent v8r0
   . New format for RichPID class, incompatible with DC04 data
   . Add support for TrgTracks in RichPID and TrgStates in RichTrckSegment

 - In TrgEvent v5r1
   . Remove inheritance from TrgVertex to Vertex
     (circular dependency with PhysEvent package)
   . Add new bitfields and container names to TrgTrack
   . Add TrgCaloCluster
   . Make the TrgDecision "hasTriggered" method const.

 - In LinkerEvent v1r5
   . Add typedefs and new LinkedTo methods to access relations with STL flavour

 - In RichDet v8r1
   . Add access to tabulated properties to DeRich and DeRichRadiator

 - In LHCbAlgs v1r2
   . LbAppInit:
     + Remove use of timing tool at initialisation
     + Improve initialisation of random numbers (see LHCbAlgs release notes)

 - In RichDAQ v1r6
   . Use DataOnDemandSvc
   . work directly from RawBuffer, skipping creation of RichDigits

 - In RichMCTools v2r3
   . Add new methods to RichMCTool
   . Add flags to turn off individual radiators

 - In RichTools v1r2
   . Add new method to RichRayTracing
   . Add flags to turn off individual radiators

 - In MCTools v1r8
   . IMCEffReconstructible.h:
     + Take MCParticle arguments as const.
     + reconstructible( const MCParticle* mcPart ) returns an enum
       RecblCategory { NotRec=0, Long=1, TTT=2, VTT=3, Neutral=4 };

 - In STDAQ v1r4
   . Add limit on number of RawBuffer clusters per board (set to 256)
   . Ensure L1 word initialized to zero

 - In Relations v2r0
   . Use DataOnDemandSvc to instantiate associator algorithms (see release notes)

 - In Associators v2r4, ITAssociators v2r10, OTAssociators v3r1, VeloAssociators v1r12,
      TrAssociators v5r1, CaloAssociators v4r4, MuonAssociators v1r5, RichMCTools v2r3
   . Adapt to use new version of Relations

!======================= LHCbSys v17r0 2004-11-01 =======================
! 2004-11-01 - Marco Cattaneo
 - New packages: OTDAQ v3r1 (moved here from application projects)

 - Modified packages: KernelSys v4r3, LHCbKernel v5r3, EventSys v19r0,
     CaloEvent v13r5p1, EventAssoc v1r4, MuonEvent v3r1p1, OTEvent v14r0,
     RichEvent v4r0p1, TrEvent v14r0, DetSys v5r8, OTDet v5r4,
     AssociatorsSys v2r0, OTAssociators v3r0, TrAssociators v5r0,
     MCTools v1r8, IOExample v1r3

 - In LHCbKernel v5r3
   . First implementation of LHCbID
   . Backwards incompatible modifications to OTChannelID (add TDC time)

 - In OTEvent v14r0
   . New OT Event model (incompatible with DC04 data)

 - In EventAssoc v1r4, TrEvent v14r0, OTAssociators v3r0, TrAssociators v5r0,
      MCTools v1r8, IOExample v1r3
   . Update for use with new OT Event model (replace OTCluster by OTTime)

 - In OTDet v5r4, MCTools v1r8
   . Prepare for OT Beam tilt

!======================= LHCbSys v16r3 2004-10-27 =======================
This version is built on branch v16r2b2, against Gaudi v15r3

! 2004-10-27 - Marco Cattaneo
 - Modified packages: KernelSys v4r2p2, LHCbKernel v5r2p2,
                      EventSys v18r3, CaloEvent v13r6, DAQEvent v4r5,
                      GaudiConf v8r0p1, LHCbAlgs v1r1p1, CaloUtils v4r8

 - In CaloEvent v13r6
   . Add a few new 'technical' functors

 - In DAQEvent v4r5
   . Change RawBank bankType encoding to include a bank version number
   . Add algorithm EventHeaderFromRaw

 - In GaudiConf v8r0p1
   . Update valgrind suppression file for Gaudi v15r2

 - In LHCbAlgs v1r1p1
   . In LbAppInit: bug fix when creating event header if it does not exist

 - In CaloUtils v4r8
   . Bug fix in evaluation of energy fractions
   . New helper class TrTrackUse to simplify selection/rejection of TrStoredTrack

!======================= LHCbSys v16r2 2004-09-23 =======================
This version is built against Gaudi v15r2

! 2004-09-23 - Marco Cattaneo
 - New packages: MuonDAQ v1r2, VeloDAQ v1r0, STDAQ v1r3
                 (Moved here from application projects)

 - Modified packages: KernelSys v4r2, LHCbKernel v5r2, CaloKernel v3r2,
                 EventSys v18r2, CaloEvent v13r5, EventAssoc v1r3, TrgEvent v4r0,
                 AssociatorsSys v1r15, Associators v2r3, CaloAssociators v4r3,
                 LHCbAlgs v1r1, CaloInterfaces v4r2, RichKernel v5r0p1

 - In LHCbKernel v5r2:
   . Fix typo in InstanceCounter.h, affecting LoKi

 - In CaloKernel v3r2:
   . CaloVector.h: tiny efficiency improvements

 - In RichKernel v5r0p1:
   . Add an include to fix compilation with Gaudi v15r2

 - In LHCbAlgs v1r1:
   . LbAppInit - Protect against undefined APPVERSION environment variable
   . LbAppInit - Print memory usage at each event, if debug() OutputLevel
   . TESCheck  - New algorithm, preload and/or check existence of objects in TES

 - In CaloEvent v13r5:
   . Changes to allow RawBuffer decoding using data-on-demand service
   . Remove dependency on Relations package

 - In TrgEvent v4r0:
   . Re-implementation of L1Score to handle single muon trigger, better
     diagnostic of dimuon trigger.
   . Add TrgCaloParticle for electrons/photons.
   . Add new TrgTrack containers for downstream and KShort tracks
   . Add a new field to TrgL0Muon containing MuonTileID.

 - In CaloAssociators v4r3, Associators v2r3:
   . All Relations factories moved to Associators package

 - In CaloInterfaces v4r2:
   . Modifications to prepare for HLT developments

 - In MuonDAQ v1r2
   . Include files moved to public directory

!======================= LHCbSys v16r1 2004-07-29 =======================
This version is built against Gaudi v15r1

! 2004-07-29 - Marco Cattaneo
 - Removed  packages: HltEvent (obsolete)
 - Modified packages: KernelSys v4r1, LHCbKernel v5r1, EventSys v18r1,
                      CaloEvent v13r3, TrgEvent v3r1, DAQEvent v4r4p1

 - In LHCbKernel v5r1
   . Major simplification of maps code, including removal of machine specific
     code and gcc 2.95.* support

 - In TrgEvent v3r1:
   . Add new class TrgDecision to contain L0, L1 and Hlt decision only

 - In DAQEvent v4r4p1:
   . Fix a typo in L1Buffer banktype enum, L0DU was called LODU

!======================= LHCbSys v16r0 2004-07-19 =======================
This version is built against Gaudi v15r0

! 2004-07-19 - Marco Cattaneo
 - New packages: LHCbInterfaces v1r0 (for public interfaces of tools etc.)
                 LHCbAlgs v1r0 (for general purpose algorithms and tools)
                 RichTools v1r0 (previously RichDetTools,
                                 moved here from applications projects)
                 RichMCTools v2r0 (moved here from applications projects)
                 RichDAQ v1r5 (moved here from applications projects)
                 DetDescChecks v2r1 (checks of XmlDDDB geometry)
                 Relations v1r0 (split from LHCbKernel)

 - Removed  packages: L1Event. Obsolete, completely superseded by TrgEvent
                      PYTHIA. No longer needed to compile HepMC - removes last
                              Fortran dependency from LHCbSys
                      DumpEventExample. Obsolete, functionality in IOExample

 - Modified packages: GaudiConf v8r0,
     KernelSys v4r0, LHCbKernel v5r0, RichKernel v5r0, CaloKernel v3r1,
                     MuonKernel v2r6, TrKernel v11r4, VeloKernel v1r5,
     EventSys v18r0, EventAssoc v1r2, RichEvent v7r4, DAQEvent v5r0, Event v4r5,
                     L0Event v14r1p1, HepMC v4r121p0, GenEvent v3r3,
                     LinkerEvent v1r4, CaloEvent v13r2p1
     DetSys v5r7, DetDesc v14r2, STDet v1r2, RichDet v7r2, OTDet v5r3,
                  Magnet v2r1, VeloDet v8r8p3, XmlTools v3r3,
     AssociatorsSys v1r14, ITAssociators v2r9, Associators v2r2p1,
                           VeloAssociators v1r11, CaloAssociators v4r2,
                           MuonAssociators v1r4, OTAssociators v2r9,
     MCTools v1r7, RichMCTools v2r0, CaloInterfaces v4r1,
     IOExample v1r2, DetDescExample v6r2p1

 - In GaudiConf v8r0:
   . Remove RootDb.opts, which is obsolete with Gaudi v15

 - In LHCbKernel v5r0:
   . Move Relations to separate package (requirements of many packages affected)
   . Remove ProcessPhase (moved to LHCbAlgs)
   . Added "Invalid" to the RichDetectorType, RichRadiatorType and
     RichSide enumerations.
   . Reorganisation of RichSmartID.xml to improve human-readability

 - In LHCbAlgs v1r0:
   . Use GaudiSequencer as base class of ProcessPhase

 - In STDet v1r2:
   . Add new members to layer and wafer. Make GSL dependency no_auto_imports

 - In RichKernel v5r0, RichEvent v7r4, RichDet v7r2, RichTools v1r0,
      RichMCTools v2r0, RichDAQ v1r5
   . Repackaging to remove RichUtils package

 - In RichEvent v7r4
   . Re-organise the xml files to improved human readability
   . Removed exception throwing from RichGeomPhoton set methods

 - In RichDet v8r0:
   . Added RichMirrorSegPosition

 - In RichKernel v5r0, RichDet v8r0, RichTools v1r0, RichMCTools v2r0
   . Improvements to RichRayTracing

 - In Magnet v2r1:
   . Speed up, by avoiding unneccessary array copies and re-initialisations

 - In ITAssociators v2r9:
   . Use new GaudiAlg, GaudiTools base classes

 - In EventSys v18r0, EventAssoc v1r2, Associators v2r2p1
   . Remove relations, factories, dictionaries involving obsolete L1Event objects

 - In DAQEvent v4r4
   . Changed to a component library. Added algorithms to create empty L1Buffer,
     RawBuffer, and to create L1Event, RawEvent from corresponding Buffer

 - In HepMC v4r121p0
   . Remove files for managing HepEvt converters (moved to Gen/HepEvt package)
     Removed dependency on PYTHIA and Fortran compiler

 - in OTDet v5r3
   . Improved definition of isInside()

 - in MCTools v1r7
   . Add DumpMCEventAlg

 - In IOExample v1r2
   . StoreBrowser Algorithm moved to LHCbAlgs, example is now just job options
   . Read example also calls new DumpMCEventAlg
   . Write example no longer reads obsolete GaudiRootDb files

 - In DetDescChecks v2r1
   . Package to check integrity and material distribution of XmlDDDB. See
     release notes for details

!====================== LHCbSys v15r13 2004-06-30 =======================
! 2004-06-30 - Marco Cattaneo
 - Modified packages: KernelSys v3r6p1, RichKernel v4r6,
                      EventSys v17r12, RichEvent v7r3p1

 - In RichKernel v4r6
   . Remove default initialization value for RichHypoData, to fix Windows problem

 - In RichEvent v7r3p1
   . Fix bugs in MCRichSegment::bestMomentum and MCRichSegment::bestPoint

!====================== LHCbSys v15r12 2004-06-28 =======================
Built against Gaudi v14r6

! 2004-06-18 - Marco Cattaneo
 - Modified packages: EventSys v17r11, Event v4r4, DAQEvent v4r3, TrgEvent v3r0,
                      PhysEvent v8r4, EventAssoc v1r1p1,
                      DetSys v5r6p2, MuonTools v3r7, MCTools v1r6

 - In EventSys v17r11:
   . Add check on completeness of LCG dictionaries, executed when building
     Linux debug version

 - In Event v4r4:
   . Fix a bug MCHit::dxdz and MCHit::dydz, slope was only returned if entry
     and exit points were closer than 0.1 um
   . Add class MCEffTree to represent a decay of interest and provide
     reconstructible/reconstructed information for it.
   . Add class MCEffParticle used internally by MCEffTree.

 - In DAQEvent v4r3:
   . Add missing LCG dictionaries for STL containers used in L1Event, RawEvent

 - In TrgEvent v3r0:
   . Add new class L1Score to store L1Decision result and monitoring info

 - In PhysEvent v8r4:
   . Add new class EffCheckResult to access MCParticle info from efficiency algs

 - In EventAssoc v1r1p1:
   . Add missing dictionaries for relations instantiated in LoKi

 - In MuonTools v3r7:
   . Initialize MuonTileIDXYZ completely before first event

 - In MCTools v1r6:
   . Add IMCParticleSelector tool
   . Add method MCDecayFinder::decaySubTrees to give access to MC subdecay tree
   . Add MCEffBuilder algorithm to calculate MC efficiency
   . Add MCEffMonitor algorithm to read info written by MCEffBuilder
   . Add MCEffReconstructible and MCEffBreakdown tools
   . Add MCTools/IMCEffReconstructed.h interface
   . Add protection for crazy MCHits in BuildMCTrackInfo.cpp

!====================== LHCbSys v15r11 2004-05-27 =======================
! 2004-05-27 - Marco Cattaneo
 - Modified packages: CaloUtils v4r7

 - In CaloUtils v4r7:
   . CallMatrix.h: Fix bug in evaluation of overlap for 2 rectangular areas
     N.B. For DC04 data, this fix should only be used in DaVinci, it should
          not be applied to Brunel v23r*

!====================== LHCbSys v15r10 2004-05-17 =======================
! 2004-05-17 - Marco Cattaneo
 - Modified packages: EventSys v17r10, LinkerEvent v1r3, TrgEvent v2r3,
                      DumpEventExample v7r3

 - In EventSys v17r9p1:
   . Load SealSTLDict last, to bypass a problem with unresolved dictionaries

 - In LinkerEvent v1r3:
   . Fix two bugs in LinkedFrom

 - In TrgEvent v2r3:
   . New bit 'hasMissedVeloStations' to flag possible conversion or V0 product

 - In DumpEventExample v7r3:
   . Fix job options to read ParticleTable.txt instead of particle.cdf

!======================= LHCbSys v15r9 2004-05-05 =======================
! 2004-05-05 - Marco Cattaneo
 - Modified packages: GaudiConf v7r8, KernelSys v3r6, LHCbKernel v4r6,
                      EventSys v17r9, PhysEvent v8r3, EventAssoc v1r1,
                      Event v4r3, TrgEvent v2r2, DetSys v5r6p1, MuonTools v3r6p1

 - In GaudiConf v7r8:
   . Update Gaudi.supp for Gaudi v4r5, adding also known Memcheck:Leak

 - In LHCbKernel v4r6, PhysEvent v8r3, EventAssoc v1r1, TrgEvent v2r2
   . Fixes to POOL dictionaries

 - In Event v4r3
   . Add Cerenkov to MCVertexType enum

 - In MuonTools v3r6p1
   . Fix requirements to please CMT v1r16

!======================= LHCbSys v15r8 2004-04-23 =======================
! 2004-04-23 - Marco Cattaneo
 - Modified packages: EventSys v17r8, DAQEvent v4r2, DetSys v5r6, MuonDet v4r6

 - In DAQEvent v4r2:
   . Fix range of L1Event bankType (savannah bug 3130)

 - In MuonDet v4r6:
   . Fix a memory leak (savannah bug 3129)

!======================= LHCbSys v15r7 2004-04-21 =======================
! 2004-04-21 - Marco Cattaneo
  Built against Gaudi v14r5

 - Modified packages: GaudiConf v7r7, EventSys v17r7, RichEvent v7r3,
     DetSys v5r5, RichDet v7r1, AssociatorsSys v1r13,
     OTAssociators v2r8, MuonAssociators v1r3, VeloAssociators v1r10

 - In GaudiConf v7r7:
   . Update Gaudi.supp valgrind suppression file for Gaudi v14r4

 - In OTAssociators v2r8:
   . Bug fix to an if statement

 - In MuonAssociators v1r3:
   . Do not use Spillover hits in MuonCoord2MCParticleAlg

 - In VeloAssociators v1r10:
   . Retrieve VeloCluster2MCHitAsct tool only once at initialize

 - In RichEvent v7r3:
   . Better handling of MCRichSegment trajectory

 - In RichDet v7r1:
   . Remove a cout

!======================= LHCbSys v15r6 2004-04-07 =======================
! 2004-04-07 - Marco Cattaneo
  Built against Gaudi v14r4

 - Removed packages:  GaudiTools (was added temporarily in v15r4)

 - Modified packages: EventSys v17r6, GenEvent v3r2,
                      DetSys v5r4, Magnet v2r6

 - In GenEvent v3r2:
   . Introduce xml for new classes:
     GenMCLink.xml - holds info to connect signal MCParticle to corresponding
                     GenParticle in HepMC (pointer to HepMC event and barcode)
     HardInfo.xml  - holds info relative to hard process for each pp-collision
     GenCollision.xml - extend class Collision to add refernce to HardInfo

 - In Magnet v2r6:
   . Use fieldMap045 by default
   . Use CLHEP units internally, to avoid conversion on each call
   . Add test application

!======================= LHCbSys v15r5 2004-04-01 =======================
! 2004-04-01 - Marco Cattaneo
 - Modified packages: KernelSys v3r5, LHCbKernel v4r5,
                      DetSys v5r3, VeloDet v8r8p2, MCTools v1r5,
                      EventSys v17r5, CaloEvent v13r2, Event v4r2, GenEvent v3r1

 - In LHCbKernel v4r5:
   . Moved ITDataFunctor.h from ITAlgorithms
   . Add Kernel/LHCbConstants.h, containing constants of general LHCb interest,
     previously in ITAlgorithms/ITGeneral.h
   . Put in LHCbMath.h some Tolerance parameters previously in ITGeneral.h

 - In VeloDet v8r8p2:
   . Add isPhiSensor, isPileUpSensor, type, zoneOfStrip methods to DeVelo

 - In Event v4r2:
   . Add LHCHalo, RICHPhoto, Annihil, Photo to MCVertexType enum

 - In CaloEvent v13r2:
   . Add protection to CaloDigitsFromRaw in case RawBuffer is missing

 - In GenEvent v3r1:
   . Remove transient flag from xml to make HepMC persistent

 - In MCTools v1r5:
   . Changed VisPrimVertTool to use MCTrackInfo instead of TrReconstructible tool
   . Moved MCDecayFinder.* and corresponding parser/lexer from DaVinciMCTools

!======================= LHCbSys v15r4 2004-03-18 =======================
! 2004-03-18 - Marco Cattaneo

 - New packages: GaudiTools v8r1 (added temporarily to pick up latest fixes)

 - Modified packages: KernelSys v3r4, LHCbKernel v4r4, RichKernel v4r5,
                EventSys v17r4, DAQEvent v4r1, VeloEvent v13r0p1, RichEvent v7r2,
                DetSys v5r2, Magnet v2r5, RichDet v7r0,
                AssociatorsSys v1r12, ITAssociators v2r8, CaloAssociators v4r1

 - In LHCbKernel v4r4:
   . Associator tools now inherit from GaudiTools
   . Relations do not return failure in case of unresolved SmartRefs when
     rebuilt from persistency.

 - In RichKernel v4r5:
   . Improvements to RichHypoData

 - In DAQEvent v4r1:
   . Add L0PU to RawBuffer::BankType enum

 - In VeloEvent v13r0p1:
   . This version is built on CVS branch v13r0b
   . Use VeloChannelID as key of VeloCluster ** not backwards compatible **

 - In RichEvent v7r2:
   . Various cleanups

 - In Magnet v2r5:
   . Remove dependency on FieldMap package. Required version must be used
     explicitly in application requirements

 - In RichDet v7r0:
   . Added standard TDS locations
   . Removed DeRichPDPanel
   . Added local to global conversion for HPDPanel

 - In ITAssociators v2r8:
   . Add tool to associate only digits selected for the RawBuffer

 - In CaloAssociators v4r1:
   . Add a warning if relations are empty

!======================= LHCbSys v15r3 2004-03-08 =======================
! 2004-03-08 - Marco Cattaneo
  Built against Gaudi v14r3

 - Modified packages: KernelSys v3r3, LHCbKernel v4r3, CaloKernel v3r0,
     VeloKernel v1r4, DetSys v5r1, VeloDet v8r8p1, STDet v8r1, CaloDet v6r8,
     EventSys v17r1, ITEvent v13r2, TrEvent v13r1, CaloEvent v13r1,
     PhysEvent v8r2, AssociatorsSys v1r11, VeloAssociators v1r9,
     TrAssociators v4r0, CaloAssociators v4r0, MCTools v1r4, IOExample v1r1,
     GaudiConf v7r6

 - Removed packages: TrFitEvent (to be moved to BRUNEL project)

 - In GaudiConf v7r6:
   . Remove obsolete SicbTestDataFile options
   . Add $STDOPTS/Gaudi.supp valgrind error suppression file

 - In LHCbKernel v4r3:
   . Internal change to bit assignments of VeloChannelID
   . Add Kernel/LHCbMath.h, implementing LHCbMath::round( x ) to round double
     and float to nearest int.

 - In VeloKernel v1r4:
   . Remove VeloRound.h, use LHCbMath::round instead

 - In ITEvent v13r2:
   . Add STL1Cluster class

 - In STDet v8r1:
   . Add methods to return all Z positions of ladders

 - In TrEvent v13r1:
   . Added track types to TrStoredTrack:
     isLong, isUpstream, isDownstream, isVelotrack, isBackward, isTtrack

 - In PhysEvent v8r2:
   . Add PhotonID to detectorPID enum for later use by Calorimeter group.
   . Add firstMeasured method, for Ks reconstruction usage.
   . Added category and setCategory to FlavourTag
   . New class SelResult to store result of selection.
   . Removed obsolete PhysSel and PhySelDecay classes

 - In MCTools v1r4:
   . Fix infinite loop in BuildMCTrackInfo

 - In TrAssociators v4r0:
   . TrFitTrackMCTruthAlg moved to TrFitAssociators (BRUNEL project)
   . TrTrackMCTruthAlg reimplemented to use directly the Velo/IT/OT associators
   . Above changes remove dependency on TrFitEvent

 - In CaloInterfaces v4r0:
   . Fix ICaloHypoLikelihood and ICaloLikelihood interface names
   . Add implementations of InterfaceID() and destructor methods

 - In CaloKernel v3r0:
   . Use new base classes from GaudiAlg v7r0 and GaudiTools v8r0

 - In CaloEvent v13r1, CaloDet v6r8, CaloAssociators v4r0:
   . Adapt to changes in CaloInterfaces and CaloKernel

 - In ITAssociators v2r7:
   . Use the same algorithm also when using the tool.

 - In IOExample v1r1:
   . Update output file definitions to latest versions of Boole/Brunel

!======================= LHCbSys v15r2 2004-02-04 =======================
! 2004-02-04 - Marco Cattaneo

 - New packages:      STDet v1r0

 - Modified packages: KernelSys v3r2, LHCbKernel v4r2, RichKernel v4r4,
                    EventSys v17r2, ITEvent v13r1, RichEvent v7r1, MuonEvent v3r1
                    DetSys v5r0, RichDet v6r5, MuonDet v4r5
                    AssociatorsSys v1r10, TrFitEvent v4r3, MCTools v1r3

 - Removed packages:  ITDet, RiSicbGeom

 - In ITEvent v13r1:
   . Add total deposited charge to ITCluster. Backwards compatible for GaudiDb
     persistency, incompatible for POOL persistency.

 - In STDet v1r0:
   . New ST detector element to support new TT geometries
   . Replaces ITDet, requires XmlDDDB v21r0 and geometry lhcb-2004*
   . Incompatible with previous geometries

 - In TrFitEvent v4r3, MCTools v1r3:
   . Adapt to STDet change

 - In LHCbKernel v4r2, RichKernel v4r4
   . Backwards compatible changes to RichSmartID

 - In RichEvent v7r1
   . Added debug objects for Gauss MCTruth
   . removed obsolete SicbCnv classes MCRichPhotodetectorHit, MCRichRadiatorHit

 - In RichDet v6r5
   . Added global-local conversion for HPD panels

 - In MuonEvent v3r1
   . Add one significant bit to DAQ time stamp in MuonDigit

 - In MuonDet v4r5
   . Add support for RawBuffer simulation

 - In LinkerEvent v1r2
   . Add new method notFound()

 - In PhysEvent v8r1
   . Add constructor with key to Vertex

-  In TrgEvent v2r1
   . New class TrgL0Muon, plus various fixes

!======================= LHCbSys v15r1 2004-01-27 =======================
! 2004-01-27 - Marco Cattaneo

 - New packages:      Calo/CaloInterfaces v3r1 (moved from BOOLE+BRUNEL+DAVINCI)
                      Calo/CaloUtils v4r6 (moved from BOOLE+BRUNEL+DAVINCI)
                      SICB/RiSicbGeom v3r8 (moved from SICBOO+BOOLE+BRUNEL)
                      Phys/MCTools v1r2 (moved from BOOLE+BRUNEL+DAVINCI)

 - Modified packages: KernelSys v3r1, LHCbKernel v4r1
                      EventSys v17r1, L0Event v14r1, Event v4r1
                      DetSys v4r2, XmlTools v3r2,
                      AssociatorsSys v1r9p1, TrAssociators v3r8p1

 - In LHCbKernel v4r1
   . New files to generate lcg dictionary when GOD cannot

 - In Event v4r1:
   . Change internal representation of MCProperty

 - In LinkerEvent v1r1:
   . Change internal representation of LinksByKey

 - In L0Event v14r1:
   . Modifications for filling L1Buffer

 - In XmlTools v3r2:
   . Fix a valgrind warning

!======================= LHCbSys v15r0 2004-01-16 =======================
! 2004-01-16 - Marco Cattaneo

 - New packages:      Ex/IOExample v1r0 - to demonstrate reading and writing
                                          data with POOL
                      Event/EventAssoc v1r0 - to generate relations dictionaries
                      Event/LinkerEvent v1r0 - new type of association table
                      Event/TrgEvent v2r0 - New L1+Hlt event model

 - Modified packages: XmlTools v3r1, GaudiConf v7r5, DumpEventExample v7r2,
                      KernelSys v3r0, LHCbKernel v4r0, TrKernel v1r3,
                        RichKernel v4r3, MuonKernel v2r5, CaloKernel v2r5,
                      EventSys v17r0, CaloEvent v13r0, DAQEvent v4r0, Event v4r0,
                        GenEvent v3r0, L0Event v14r0, L1Event v12r0,
                        OTEvent v13r0, ITEvent v13r0, VeloEvent v13r0,
                        TrEvent v13r0, RichEvent v7r0, MuonEvent v3r0,
                        PhysEvent v8r0, HltEvent v5r0
                      DetSys v4r1, DetDesc v14r1, DetDescCnv v2r3, ITDet v1r9,
                        OTDet v5r2, VeloDet v8r8, Magnet v2r4
                      AssociatorsSys v1r9, TrFitEvent v4r2, ITAssociators v2r6,
                        OTAssociators v2r7, TrAssociators v3r8, Associators v2r2,
                        VeloAssociators v1r7, CaloAssociators v3r5,
                        MuonAssociators v1r2

 - Removed packages:  EventKernel, DbCnv

 - In all modified packages:
   . Modifications to requirements to build against GAUDI_v14r0.

 - In all Event packages
   . Modifications to xml to generate dictionaries for POOL
   . Xml parsed by GaudiObjDesc v6r*, to produce POOL dictionaries

 - In EventSys v17r0
   . Added LinkerEvent v1r0 (new package to build links between keyed objects)
   . Added TrgEvent v2r0 (track classes for L1+Hlt applications)
   . Added GenEvent v3r0 (previously not included)
   . Added options/PoolDicts.opts to load all dictionary DLLs
   . Moved ParticleID from Event to LHCbKernel
   . Moved ProcStatus from TrEvent to Event
   . Moved MCTruth from EventKernel to Event

 - In Event v4r0
   . Added MCProperty to store int (bit flags) associated to a MCParticle

 - In CaloEvent v13r0
   . Added "seed" attribute to CaloCluster. Old data can still be read,
     seed is set to zero in this case

 - In AssociatorsSys v1r9
   . Added options/DLLs.opts to load all associators DLLs

 - In GaudiConf v7r5
   . Added RootDb.opts to set up Root/IO persistency
   . Modified SimContent.opts for consistency with GaussTape.opts of Gauss

!======================= LHCbSys v14r0 2003-12-08 =======================
! 2003-12-08 - Marco Cattaneo

 - Modified packages: HepMC v3r121p2, GenEvent v2r4p1, PYTHIA v2r6205p3,
                      KernelSys v2r0, LHCbKernel v3r0, CaloKernel v2r4,
                                      RichKernel v4r2, MuonKernel v2r4,
                      EventSys v16r0, EventKernel v4r0, Event v3r7, DBCnv v8r0,
                                      L0Event v13r4, DAQEvent v3r2,
                      DetSys v4r0, DetDesc v14r0, XmlTools v3r0, DetDescCnv v2r2,
                                   ITDet v1r8, OTDet v5r1, RichDet v6r4,
                                   VeloDet v8r7, CaloDet v6r7, Magnet v2r3

 - In all modified packages:
   .  Modifications to requirements to build against GAUDI_v13r0

 - In LHCbKernel v3r0:
   . SerializeStl.h: add serialisation methods for std::map from RichKernel
   . Remove Kernel/MuonTileID.h (more recent version exists in MuonKernel)

 - In RichKernel v4r2:
   . Remove RichKernel/MessageSvcStl.h (now in GaudiKernel/MsgStream.h)
   . Remove RichKernel/SerializeStl.h (methods moved to LHCbKernel)

 - In EventKernel v4r0:
   . Remove src/stl_hash (now in GaudiKernel)

!======================= LHCbSys v13r5 2003-12-04 =======================
! 2003-12-04 - Marco Cattaneo
 - Modified packages: GaudiConf v7r4,
                      KernelSys v1r9, LHCbKernel v2r10,
                      EventSys v15r3, Event v3r6, DAQEvent v3r1
                      DetSys v3r3, ITDet v1r7, RichDet v6r3, OTDet v5r0,
                      AssociatorsSys v1r8, TrFitEvent v4r1p1, TrAssociators v3r7

 - In GaudiConf v7r4:
   . Remove L1/OT/Clusters from DigiContent.opts

 - In LHCbKernel:
   . Modification of bits in OTChannelID - backwards incompatible

 - In Event v3r6:
   . MCParticle: add methods beta(), gamma(), pseudoRapidity()
   . MCHit     : add methods pathLength(), dxdz(), dydz()

 - In DAQEvent v3r1:
   . Add protections to L1Buffer and RawBuffer

 - In ITDet v1r7: ** Requires XmlDDDB v19r1 or greater **
   . Add methods to return type of ladder (LR,TB ,TT, )
   . Changes for new XML structure - no tracker catalogue !
   . Changes to allow tiling with both even and odd numbers of rows in the TT

 - In RichDet v6r3:
   . Restructuring of DeRichRadiator. Backwards compatible, needs recompilation

 - In OTDet v5r0:
   . Introduction of DeOTQuarters. Backwards incompatible. Changes station,
     module and layer numbering. Requires XmlDDDB v20r0 or greater.

 - In TrAssociators v3r7:
   . Adapt to new OTDet numbering

 - In TrFitEvent v4r1p1
   . Use DeITDetectorLocation::Default instead of explicit path

!======================= LHCbSys v13r4 2003-11-27 =======================
! 2003-11-25 - Marco Cattaneo
 - Modified packages: GaudiConf v7r3,
     KernelSys v1r8, LHCbKernel v2r9, RichKernel v4r1,
     EventSys v15r2, TrEvent v12r2, RichEvent v6r1, CaloEvent v12r1,
                     DAQEvent v3r0, DbCnv v7r2p1,
     DetSys v3r2, CaloDet v6r6p1, CaloDetXmlCnv v2r3p1, DetDescCnv v2r1p1,
                  MuonDet v4r4p1, XmlTools v2r0p1, DetDesc v13r0p1, RichDet v6r2

!======================= LHCbSys v13r3p1 2003-11-10 =======================
! 2003-11-10 - Marco Cattaneo
 - Modified packages: EventSys v15r1, DAQEvent v2r1

!======================== LHCbSys v13r3 2003-11-03 ========================
! 2003-11-03 - Marco Cattaneo
 - Modified packages: GaudiConf v7r2,
                   KernelSys v1r7, RichKernel v4r0,
                   EventSys v15r0, RichEvent v6r0, DAQEvent v2r0, PhysEvent v7r8,
                   DetSys v3r1, RichDet v6r1,
                   AssociatorSys v1r7, TrFitEvent v4r1
 - Removed packages: BookKeeping

!======================== LHCbSys v13r2 2003-10-14 ========================
! 2003-10-14 - Marco Cattaneo
 - Modified packages: KernelSys v1r6, RichKernel v3r3, CaloKernel v2r3p1

!======================== LHCbSys v13r1 2003-10-10 ========================
! 2003-10-10 - Marco Cattaneo
 - New packages:       DAQEvent v1r1
 - Modified packages:
       GaudiConf v7r1, DetDescExample v6r2, DumpEventExample v7r1, GenEvent v2r4
       KernelSys v1r5, RichKernel v3r2
       EventSys v14r3, EventKernel v3r0 HltEvent v4r0, RichEvent v5r1,
                       DbCnv v7r2, Event v3r5, L0Event v13r3
       DetSys v3r0, DetDesc v13r0, RichDet v6r0, Magnet v2r2, CaloDet v6r6,
                    DetDescCnv v2r1, ITDet v1r6, OTDet v4r1, VeloDet v8r6
       AssociatorsSys v1r6, TrFitEvent v4r0, TrAssociators v3r6

!======================== LHCbSys v13r0 2003-07-17 ========================
! 2003-07-17 - Marco Cattaneo
 - Removed all packages under SICB hat (moved to new SICBOO project)

 - Modified packages to support to Boole/Brunel split and Gauss integration:
      GaudiConf v7r0,
      AssociatorsSys v1r5, VeloAssociators v1r6, ITAssociators v2r5,
                           OTAssociators v2r6, CaloAssociators v3r4
      EventSys v14r2, CaloEvent v12r0, PhysEvent v7r7

 - Modified packages for bug fixes:
      DetSys v2r2, ITDet v1r5

 - Modified package to remove dependency on SICB converters:
      DumpEventExample v7r0, (also DetDescExample v6r1 to use new GaudiConf)

!======================== LHCbSys v12r1 2003-07-08 ========================
! 2003-07-08 - Marco Cattaneo
 - Modifications to Rich for Gauss and OO digitization
 - Modified packages:
      GaudiConf v6r10,
      DetSys v2r1, RichDet v5r0,
      EventSys v14r1, Event v3r4, RichEvent v5r0,
      KernelSys v1r4, RichKernel v3r1,
      SICBSys v1r5, RiSicbCnv v6r0, RiSicbGeom v3r3, SicbCnv v18r0
      SicbToOORawh v1r2p1

!====================== LHCbSys v12r0 2003-07-03 =============================
! 2003-06-17 - Marco Cattaneo
 - Update all package versions for v12r0 release
 - Main changes:
   . Support for new version of Xerces, to build against Gaudi v12
   . Support for gcc 3.2
   . Introduction of OT modules description (OTDet v4r0)
   . Additional associators from OTDigit to MC truth (OTAssociators v2r5)
   . Support for Flat Spillover (MuonSicbCnv v5r6)
   . Add detInfo attribute to MCHit (Event v3r3)
   . Optimise use of message service (MuonTools v5r6)
   . Various fixes for valgrind errors

!====================== LHCbSys v11r12 2003-06-02 ============================
! 2003-05-28 - Marco Cattaneo
 - requirements:
   use GaudiConf v6r8,
       DetSys v1r6, DetDesc v11r9p1,
       KernelSys v1r2, LHCbKernel v2r7,
       EventSys v13r6, MuonEvent v2r3, PhysEvent v7r4p1
       SicbToOORawh v1r1
   add HltEvent v2r0

!====================== LHCbSys v11r11 2003-04-16 ============================
! 2003-04-16 - Marco Cattaneo
 - requirements :
	 use GaudiConf v6r7, KernelSys v1r1, DetSys v1r5, EventSys v13r5,
       AssociatorsSys v1r3, SICBSys v1r3
   add SicbToOORawh v1r0

!====================== LHCbSys v11r10 2003-02-04 ============================
! 2003-03-11 - Florence Ranjard
 - requirements :
   use PYTHIA v2r6205p2 with a fix for WIN32

! 2003-02-04 - Marco Cattaneo
 - requirements:
   use EventSys v13r4

!====================== LHCbSys v11r9 2003-01-30 =============================
! 2003-01-30 - Marco Cattaneo
 - requirements:
   use DetSys v1r4

!====================== LHCbSys v11r8 2003-01-23 =============================
! 2003-01-23 - Marco Cattaneo
 - requirements:
   use DetSys v1r3, EventSys v13r3, updated examples

!====================== LHCbSys v11r7 2003-01-16 =============================
! 2003-01-16 - Marco Cattaneo
 - requirements:
   use SICBSys v1r2, AssociatorsSys v1r2, EventSys v13r2, updated examples

!====================== LHCbSys v11r6 2003-01-08 =============================
! 2003-01-08 - Marco Cattaneo
 - requirements:
   use explicitly all packages of project, for use by getpack -r

! 2002-12-20 - Marco Cattaneo
 - requirements:
   use SICBSys v1r1, AssociatorsSys v1r1, EventSys v13r1, DetSys v1r2

!====================== LHCbSys v11r5 ================================
! 2002-12-13 - Florence Ranjard
 - requirements - use DetSys v1r1 to use bug fix DetDesc v11r8.
                  remove expanded list of packages

!====================== LHCbSys v11r4 =================================
! 2002-12-03 - Florence Ranjard
 - requirements - based on Brunel v15r4, Gaudi v11r3

!====================== LHCbSys v11r3 =================================
! 2002-11-26 - Florence Ranjard
 - requirements - based on Brunel v15r3 and Gaudi v11r2

!====================== LHCbSys v11r2 =================================
! 2002-11-14 - Florence Ranjard
 - requirements - include all packages to facilitate the installation

!======================= LHCbSys v11r1 =================================
! 2002-11-07 - Florence Ranjard
 - requirements - remove XmlDDDB

!======================== LHCbSys v11r0 ==================================
! 2002-10-30 - Florence Ranjard
 - requirements - add Associators

! 2002-10-10 - Florence Ranjard
 - requirements - v11r0 uses Gaudi v11r0

!======================== LHCbSys v10r98===================================
! 2002-09-25 - Florence Ranjard
 - requirements - it is LHCb minus SICBSys
!==========================================================================