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-project.github.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 ["Building ACTS"
0033 guide](https://acts-project.github.io/building_acts.html). If you find a bug,
0034 have a feature request, or want to contribute to ACTS, have a look at the
0035 [contribution guidelines](CONTRIBUTING.md).
0036
0037 ### Python bindings
0038
0039 ACTS is also available as a Python package via `pip install pyacts`. See the
0040 [Python bindings documentation](https://acts-project.github.io/group__python__bindings.html)
0041 for details.
0042
0043 ## Versioning and public API
0044
0045 Release versions follow [semantic versioning](https://semver.org/spec/v2.0.0.html)
0046 to indicate whether a new version contains breaking changes within the public API.
0047 Currently, only a limited part of the visible API is considered the public API
0048 and subject to the semantic versioning rules. The details are outlined in the
0049 [versioning and public API documentation](docs/pages/versioning.md).
0050
0051 ## Repository organization
0052
0053 The repository contains all code of the ACTS projects, not just the core
0054 library that a physics experiment is expected to use as part of its
0055 reconstruction code. All optional components are disabled by default. Please
0056 see the ["Building ACTS" guide](https://acts-project.github.io/building_acts.html)
0057 on how-to enable them.
0058
0059
0060 | *Folder* | *include path* | *Namespace* | *Python module* |
0061 | :--- | :--- | :--- | :--- |
0062 | `Core/` | `#include "Acts/..."` | `Acts::` | `acts` |
0063 | `Plugins/` | `#include "ActsPlugins/PluginName/..."` | `ActsPlugins::` | `acts.pluginname` |
0064 | `Fatras/` | `#include "ActsFatras/..."` | `ActsFatras::` | `acts.fatras` |
0065 | `Alignment/` | `#include "ActsAlignment/..."` | `ActsAlignment::` | `acts.alignment` |
0066 | `Examples/` | `#include "ActsExamples/..."` | `ActsExamples::` | `acts.examples` |
0067 | `Python/` | `#include "ActsPython/..."` (not much used) | `ActsPython::` | N/A |
0068 | `Tests/` | `#include "ActsTests/..."` (not much used) | `Acts::Tests::` | N/A |
0069
0070
0071 Short summary of the modules and directories:
0072 - `Core/` contains all the core functionality with minimal dependencies and no framework or I/O related code
0073 - `Plugins/` contains plugins for core functionality that require
0074 additional external packages.
0075 - `Fatras/` provides fast track simulation tools based on the core
0076 library.
0077 - `Examples/` contains simulation and reconstruction examples. These are
0078 internal tools for manual full-chain development and tests.
0079 - `Tests/` contains automated unit tests, integration tests, and
0080 (micro-)benchmarks.
0081 - `Python/` contains the python bindings for the different modules
0082 - `thirdparty/` contains external dependencies that are usually not available
0083 through the system package manager.
0084
0085 ## Authors and license
0086
0087 Contributors to the ACTS project are listed in the [AUTHORS](AUTHORS) file.
0088
0089 The ACTS project is published under the terms of the Mozilla Public License, v. 2.0.
0090 A copy of the license can be found in the [LICENSE](LICENSE) file or at
0091 https://mozilla.org/MPL/2.0/ .
0092
0093 The ACTS project contains copies of the following external packages:
0094
0095 - [OpenDataDetector](https://github.com/acts-project/OpenDataDetector)
0096 licensed under the MPLv2 license.
0097
0098 ACTS is a collaborative open source software project, and hence does not base its
0099 organisational structure on (intellectual) *ownership* of certain pieces of code
0100 by individuals. The usage of GitHub's `CODEOWNERS` system is currently under
0101 evaluation primarily to identify opt-in contact persons for certain parts of the
0102 code base in an attempt to simplify workflows and identify information contacts
0103 and reviewers. A detailed description of our test usage is part of the
0104 `CODEOWNERS` file.