Skip to content

Releases: FairRootGroup/FairRoot

v19.0.0

17 May 14:31
v19.0.0
078d8f1
Compare
Choose a tag to compare

Breaking Changes

  • CMake

  • C++

    • fEvtHeader member variable now is a private unique pointer owned by
      FairRun. To access the event header, use the public member function
      GetEventHeader() by @YanzhaoW in #1254.
    • Dropped headers @rbx in #1340:
      • basemq/baseMQtools/baseMQtools.h
      • basemq/policies/Sampler/FairMQFileSource.h
      • basemq/policies/Sampler/FairSourceMQInterface.h
      • basemq/policies/Sampler/SimpleTreeReader.h
      • basemq/policies/Serialization/BinaryBaseClassSerializer.h
      • basemq/policies/Storage/BinaryOutFileManager.h
      • basemq/policies/Storage/BoostDataSaver.h
      • basemq/policies/Storage/RootOutFileManager.h
      • basemq/policies/Storage/TriviallyCopyableDataSaver.h
      • basemq/policies/Serialization/IOPolicy.h
    • The following files/classes have been moved to the example where they are used and renamed by @rbx in #1349:
      • basemq/devices/FairMQProcessor.h -> examples/advanced/Tutorial3/MQ/processor.cxx
      • basemq/devices/FairMQSampler.h -> examples/advanced/Tutorial3/MQ/sampler.cxx
      • basemq/tasks/FairMQProcessorTask.h -> examples/advanced/Tutorial3/MQ/processorTask/ProcessorTask.h
      • basemq/tasks/FairMQSamplerTask.h -> examples/advanced/Tutorial3/MQ/samplerTask/SamplerTask.h
    • FairTimeStamp change by @TobiasStockmanns in #1526
      • virtual bool operator<(const FairTimeStamp* rValue) const changed to bool operator<(const FairTimeStamp& rValue) const

Deprecations

If you think you really require a deprecated API, please
file an issue.

  • Deprecated MbsAPI by @ChristianTackeGSI in #1056
    • We plan to remove it completely in the next major release
    • Disabled by default, enable via -DBUILD_MBS=ON
  • Deprecated Proof related classes by @ChristianTackeGSI in #1235
  • Deprecated FairEventBuilder and FairEventBuilderManager by @karabowi in #1414
    • Disabled by default, enable via -DBUILD_EVENT_BUILDER=ON
  • Deprecated FairRun::SetEventHeader(FairEventHeader*), use
    FairRun::SetEventHeader(std::unique_ptr<FairEventHeader> EvHeader) instead, a change by @ChristianTackeGSI in #1423
  • Deprecated FairRunAna::Run(Long64_t entry), use
    FairRunAna::RunSingleEntry(Long64_t entry) instead, a change by @karabowi in #1426
    • Semantics were unclear due to dubious Run(int) and Run(long)

Other Notable Changes

  • Restructured the source tree by moving all public components to the new
    '/fairroot' folder
  • Consider calling fairroot_check_root_cxxstd_compatibility()
    in your CMakeLists.txt by @ChristianTackeGSI in #1060
  • fairsoft-config isn't searched for and not needed any more, a change by #1071

Full Changelog: v18.8.2...v19.0.0

v18.8.2

01 Mar 16:31
v18.8.2
00249b0
Compare
Choose a tag to compare

Bug fixes

Add software recognition configs:

Full Changelog: v18.8.1...v18.8.2

v18.6.10

15 Dec 17:19
v18.6.10
5993c8e
Compare
Choose a tag to compare

Bug fixes

  • Apply ROOT expert patch to GeoAssembly bounding box after alignment by @PALoizeau, @fuhlig1 in ed6446e
  • Store proper random seed after ROOT changed the return value of the GetSeed function of TRandom3 by @fuhlig1 in #1412

Other

Full Changelog: v18.6.9...v18.6.10

v18.8.1

24 Feb 15:49
v18.8.1
287f5ef
Compare
Choose a tag to compare

Feature

Bugfix

Clean-up

Full Changelog: v18.8.0...v18.8.1

v18.8.0

16 Dec 11:15
v18.8.0
fb0fcef
Compare
Choose a tag to compare

Features

Breaking Changes

  • Move online related code into the new Online library (e61a0e7)
    • The special steering class FairRunOnline was moved from
      the Base into the Online library.
    • Also the MBS/LMD related source classes were moved to
      the new Online library.
    • If one of these classes are used in your code, you need
      to link against new target FairRoot::Online.
  • Dropped CheckCXX11Features (This was also released in 18.6.8 and 18.4.8) (34ca7e6)
    • FairRoot assumes a recent compiler that fully supports C++17. (e6003d0)
    • Remove the following things from your CMakeLists.txt:
      • Set(CheckSrcDir "${FAIRROOTPATH}/share/fairbase/cmake/checks")`
      • include(CheckCXX11Features)
      • IF(HAS_CXX11_SHAREDPOINTER)
          Add_Definitions(-DHAS_SHAREDPOINTER)
        ENDIF(HAS_CXX11_SHAREDPOINTER)
    • If your C++ code depends on HAS_SHAREDPOINTER being set, rewrite it accordingly.
    • If any of your CMake code depends on HAS_CXX11_* being set, rewrite it accordingly.
    • If your code has specific C++ needs, consider CMake's target_compile_features().
  • Dropped CHECK_EXTERNAL_PACKAGE_INSTALL_DIR (1d0e5b0)
    • Just remove it from your CMakeLists.txt.
  • Dropped USE_PATH_INFO CMake option. It was an anti-pattern. Don't use it! (21c7535)
  • Dropped ROOT_GENERATE_ROOTMAP. It was used on ROOT 5.x. (e7f2a96)
    • Rewrite your build system, if you still use it.
  • FairRootManager::Get{Tree,Folder}Name() now return const char *. (585e1a8)
    Do NOT delete the returned pointer!
  • FairRunSim::SetSimulationConfig() now takes a
    unique_ptr instead of a raw pointer with unknown
    ownership. (43536bf)
  • Some headers were cleaned up and now #include fewer
    other headers. You might have to add some #includes
    in your code.
  • Added a new build switch BUILD_BASEMQ for controlling whether FairRoot::BaseMQ and
    dependent targets are built (FairRoot::FairMQ and FairRoot::ParMQ). It is enabled
    by default and will now require its external package dependencies FairMQ and Boost. (00a9b9c 7b1547b eb8cf04)
  • Boost serialization support for FairTimeStamp, FairHit, and FairMCPoint has been
    moved to the FairRoot::BaseMQ target to have FairRoot::Base no longer depend on
    Boost.Serialization. The user must opt-in to the previously baseline Boost serialization
    support by including one of the new headers, e.g. for FairHit:
    #include <FairHit.h>
    #include <FairHitBoostSerializationSupport.h>
    There is also a convenience header <FairBoostSerializationSupport.h> which includes all
    class-based support headers currently offered. (d40f9d9)
  • Removed USE_DB_METHOD define and dependent code (c56a1f7)

Deprecations

This release of FairRoot deprecates many APIs for various
reasons. If you think you really require some API, please
file an issue, so that we can see how to handle this.

  • Deprecating MbsAPI (a5587bb 812b1cc 3c43363)
    • This release deprecates MbsAPI.
      • It will be disabled by default in FairRoot 19.
      • We plan to remove it completely in FairRoot 20.
    • If you need it, speak up NOW.
  • Deprecate some singleton-like APIs:
    • FairRunAnaProof::Instance() - keep a pointer to the
      object after instantiating it in your code. (29b7cbf)
    • FairRadGridManager::Instance() - Consider using the
      GetRadGridMan() method on FairMCApplcation. (e595507)
    • FairRadMapManager::Instance, FairRadLenManager::Instance (cd84521)
    • FairGeaneApplication::Instance (9c6ac00)
  • Deprecated some other APIs
    • FairGeoVector::round was nonfunctional and never did anything. (3c7305d)
    • FairTask::*InputPersistance: (b6cbd8e)
      There's no getter for fInputPersistance,
      no other code in FairRoot uses the setters,
      we're not aware of anyone using it.
    • FairFieldFactory::fCreator points to this. (4446223)
    • FairRootManager::FillEventHeader is only a wrapper around
      FairSource::FillEventHeader. (b46784a)
    • FairModule::ConstructASCIIGeometry(T*, TString, U*), use
      FairModule::ConstructASCIIGeometry(TString) instead. (bde97a4)
    • FairRootManager::RunWithTimeStamps() (cb78b4e)
  • Many items were already deprecated in prior versions.
    Marked them with proper C++14 deprecation warnings.
    Scheduled them for removal in v20. (f386f3b 9459446)
  • Deprecated DataMatch library (8a75c8b)
    • Contact the developers should you need it.
    • Scheduled to remove without replacement in a future major release of FairRoot.
  • Added option to disable deprecated PROOF support (024660d)

Other Notable Changes

  • Added CHANGELOG.md to trace important changes (50c7c2b)

  • CMake targets for libraries are now exported. (dc9001b bc8282b ebf61b4 e2f3f0a 59fe7ca)
    Some have names different from the filesystem library name.

    Old Library Name Target Name
    TrkBase FairRoot::TrackBase
    FairDataMatch FairRoot::DataMatch
    FairTools FairRoot::Tools
    FairFastSim FairRoot::FastSim
    FairMCStepLogger FairRoot::MCStepLogger
    Gen FairRoot::Generators

    All those not listed here have the library name prefixed
    with FairRoot:: as the target name.

  • Note that the library filesystem name is scheduled to be
    changed in 19.2 to a fairroot-trackbase style naming.
    For those using the targets this change will not be visible.

  • Use override to mark overriden methods (b7102b2 ceb98ea 3e591d0 731a6f8 51783a0 224598b 1292f9d b1146c7)

  • Tests using Geant3 have been disabled by default, because
    those tests have a probability > 0 for failing.
    If you want to run them anyways, pass
    -DENABLE_GEANT3_TESTING=ON to CMake. (829ccc4)

  • Use Fixtures instead of Depends in test orchestration (5bcc5b8 7997124)

  • Undeprecate FairRootManager::GetOut{File,Tree}
    It has been deprecated since 18.0.0. (e342df3)

v18.6.9

28 Sep 14:37
Compare
Choose a tag to compare

Feature

Bugfix

Full Changelog: v18.6.8...v18.6.9

v18.4.9

28 Sep 11:58
v18.4.9
Compare
Choose a tag to compare

Bugfix

Full Changelog: v18.4.8...v18.4.9

v18.6.8

13 Apr 11:27
v18.6.8
Compare
Choose a tag to compare

Maintenance release

  • Add SetTreeName and SetFolderName setters (#1151)
  • Remove obsolete Cxx11 feature checks (c95fddc, ffde06e)
  • Backport forward compatibility patches (#1171)
    • FairLogger v1.10+
    • FairMQ v1.5
    • ROOT v6.26

Full Changelog: v18.6.7...v18.6.8

v18.4.8

13 Apr 11:20
v18.4.8
Compare
Choose a tag to compare

Maintenance release

  • Add SetTreeName and SetFolderName setters (#1152)
  • Remove obsolete Cxx11 feature checks (0de1151, 59e6f25)
  • Backport forward compatibility patches (#1170)
    • FairLogger v1.10+
    • FairMQ v1.5
    • ROOT v6.26

Full Changelog: v18.4.7...v18.4.8

v18.6.7

01 Feb 13:35
v18.6.7
Compare
Choose a tag to compare

Bugfix

  • Fix TGeo unit system to be the ROOT one (a476338)