Warning, /acts/README.md is written in an unsupported language. File is not indexed.
0001 # ACTS Common Tracking Software
0002
0003 or *A Common Tracking Software* if you do not like recursive acronyms
0004
0005 [](https://doi.org/10.5281/zenodo.5141418)
0006 [](https://mattermost.web.cern.ch/acts/)
0007 [](https://sonarcloud.io/summary/new_code?id=acts-project_acts)
0008 [](https://github.com/acts-project/acts/releases)
0009 [](https://github.com/acts-project/acts/actions)
0010 [](https://acts-project.github.io/metrics/)
0011
0012 ACTS is an experiment-independent toolkit for (charged) particle track
0013 reconstruction in (high energy) physics experiments implemented in modern C++.
0014
0015 More information can be found in the [ACTS documentation](https://acts.readthedocs.io/).
0016
0017 ## Quick start
0018
0019 ACTS is developed in C++ and is build using [CMake](https://cmake.org). Building
0020 the core library requires a C++20 compatible compiler,
0021 [Boost](https://www.boost.org), and [Eigen](https://eigen.tuxfamily.org). The
0022 following commands will clone the repository, configure, and build the core
0023 library
0024
0025 ```sh
0026 git clone https://github.com/acts-project/acts <source>
0027 cmake -B <build> -S <source>
0028 cmake --build <build>
0029 ```
0030
0031 For more details, e.g. specific versions and additional dependencies, have a
0032 look at the [getting started guide](docs/getting_started.md). If you find a bug,
0033 have a feature request, or want to contribute to ACTS, have a look at the
0034 [contribution guidelines](CONTRIBUTING.rst).
0035
0036 ## Versioning and public API
0037
0038 Release versions follow [semantic versioning](https://semver.org/spec/v2.0.0.html)
0039 to indicate whether a new version contains breaking changes within the public API.
0040 Currently, only a limited part of the visible API is considered the public API
0041 and subject to the semantic versioning rules. The details are outlined in the
0042 [versioning and public API documentation](docs/versioning.rst).
0043
0044 ## Repository organization
0045
0046 The repository contains all code of the ACTS projects, not just the core library
0047 that a physics experiment is expected to use as part of its reconstruction code.
0048 All optional components are disabled by default. Please see the
0049 [getting started guide](docs/getting_started.md) on how-to enable them.
0050
0051
0052 | *Folder* | *include path* | *Namespace* | *Python module* |
0053 | :--- | :--- | :--- | :--- |
0054 | `Core/` | `#include "Acts/..."` | `Acts::` | `acts` |
0055 | `Plugins/` | `#include "ActsPlugins/PluginName/..."` | `ActsPlugins::` | `acts.pluginname` |
0056 | `Fatras/` | `#include "ActsFatras/..."` | `ActsFatras::` | `acts.fatras` |
0057 | `Alignment/` | `#include "ActsAlignment/..."` | `ActsAlignment::` | `acts.alignment` |
0058 | `Examples/` | `#include "ActsExamples/..."` | `ActsExamples::` | `acts.examples` |
0059 | `Python/` | `#include "ActsPython/..."` (not much used) | `ActsPython::` | N/A |
0060 | `Tests/` | `#include "ActsTests/..."` (not much used) | `Acts::Tests::` | N/A |
0061
0062
0063 Short summary of the modules and directories:
0064 - `Core/` contains all the core functionality with minimal dependencies and no framework or I/O related code
0065 - `Plugins/` contains plugins for core functionality that require
0066 additional external packages.
0067 - `Fatras/` provides fast track simulation tools based on the core
0068 library.
0069 - `Examples/` contains simulation and reconstruction examples. These are
0070 internal tools for manual full-chain development and tests.
0071 - `Tests/` contains automated unit tests, integration tests, and
0072 (micro-)benchmarks.
0073 - `Python/` contains the python bindings for the different modules
0074 - `thirdparty/` contains external dependencies that are usually not available
0075 through the system package manager.
0076
0077 ## Authors and license
0078
0079 Contributors to the ACTS project are listed in the [AUTHORS](AUTHORS) file.
0080
0081 The ACTS project is published under the terms of the Mozilla Public License, v. 2.0.
0082 A copy of the license can be found in the [LICENSE](LICENSE) file or at
0083 https://mozilla.org/MPL/2.0/ .
0084
0085 The ACTS project contains copies of the following external packages:
0086
0087 - [OpenDataDetector](https://github.com/acts-project/OpenDataDetector)
0088 licensed under the MPLv2 license.