v-17.03
MohammadAlTurany
released this
27 Mar 14:20
·
1924 commits
to dev
since this release
General
- Improvement in precision and stability of implementation of the Runge Kutta algorithm. Calculate track length during propagation. Use common units for magnetic field, momentum and length in this implementation.
- Online histogram server: introduce possibility to add canvases and folders with histograms. Added option to start on a different port number. Added public accessor to THttpServer object in FairRunOnline.
Improve reliability of the parser for ASCII parameter files. - Possibility to register input objects (TObject) in FairRootManager.
Examples
- Example of FairRoot data analysis using FairMQ in
examples/MQ/9-PixelDetector
. - FairRoot data transfer optimisation (binary data format) in
examples/MQ/9a-PixelDetector
.
FairMQ
NEW
- Shared memory transport (using boost::interprocess).
- Adding multiple transports support (one transport per channel).
- Example for using multiple transports
examples/MQ/multiple-transports
. - Callback-based API (
OnData()
) to simplify common use cases. - Subscription mechanism for configuration (Nicolas Winckler).
- Prototype plugin system for config & control functionality (with DDS as first plugin for both).
- Support multiple endpoints per socket (Mikolaj Krzewicki).
- Configurable rate logging interval per channel.
- Provide easier access to socket metrics (msg/MB:tx/rx) via channel API.
API Changes
- Convert transport factories to return smart pointers.
- Remove SendPart APIs, all multipart now via FairMQParts.
- Require std::move when adding existing message to FairMQParts.
Fixes
- Incorrect calculation of transfer rate for multipart.
- Compatibility with ZeroMQ 4.2.1 (changed default option value).
- Eliminate race condition in the state machine & channel.
Misc
- Avoid polling when only one input channel is used (higher performance for small messages).
- Avoid waiting in the socket rate logger thread when there is nothing to log (faster init/shutdown).
- Findnanomsg.cmake: Only search for the shared nanomsg library.
- Simplify logger filtering options, fix log error double printing issues (Nicolas Winckler).
- Apply standard-conform format to JSON files (Sebastien Binet).
- Test nanomsg transport only when nanomsg library is found.
- FairMQSampler: use RuntimeDB only if parameter file is provided.
- Get default network interface from the default route.
- FindZeroMQ.cmake: Prefix of defined variables matches package name (ZeroMQ_). Old prefix ZMQ_deprecated. Accepts ZEROMQ_ROOT hint variable (aliBuild/alienv integration).
- Many small fixes, improvements and code cleanups.