https://github.com/acts-project/acts
Experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++
https://github.com/acts-project/acts
particle-track-reconstruction physics-experiment reconstruction simulation
Last synced: 4 months ago
JSON representation
Experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++
- Host: GitHub
- URL: https://github.com/acts-project/acts
- Owner: acts-project
- License: mpl-2.0
- Created: 2019-03-13T09:44:13.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T09:15:07.000Z (over 1 year ago)
- Last Synced: 2024-10-29T11:05:20.791Z (over 1 year ago)
- Topics: particle-track-reconstruction, physics-experiment, reconstruction, simulation
- Language: C++
- Homepage: https://acts.readthedocs.io
- Size: 89 MB
- Stars: 104
- Watchers: 11
- Forks: 168
- Open Issues: 154
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-oneapi - ATLAS Charged Particle Seed Finding with DPC++ - The ATLAS Experiment is one of the general-purpose particle physics experiments built at the Large Hadron Collider (LHC) at CERN in Geneva. Its goal is to study the behavior of elementary particles at the highest energies ever produced in a laboratory help us better understand universe. (Table of Contents / Mathematics and Science)
- awesome-oneapi - ATLAS Charged Particle Seed Finding with DPC++ - The ATLAS Experiment is one of the general-purpose particle physics experiments built at the Large Hadron Collider (LHC) at CERN in Geneva. Its goal is to study the behavior of elementary particles at the highest energies ever produced in a laboratory help us better understand universe. (Projects / HPC)
- awesome-cern - ACTS - independent toolkit for (charged) particle track reconstruction in high energy an nuclear physics experiments (Physics/mathematics analysis/simulation / Event Management)
README
# ACTS Common Tracking Software
or *A Common Tracking Software* if you do not like recursive acronyms
[](https://doi.org/10.5281/zenodo.5141418)
[](https://mattermost.web.cern.ch/acts/)
[](https://sonarcloud.io/summary/new_code?id=acts-project_acts)
[](https://github.com/acts-project/acts/releases)
[](https://github.com/acts-project/acts/actions)
[](https://acts-project.github.io/metrics/)
ACTS is an experiment-independent toolkit for (charged) particle track
reconstruction in (high energy) physics experiments implemented in modern C++.
More information can be found in the [ACTS documentation](https://acts.readthedocs.io/).
## Quick start
ACTS is developed in C++ and is build using [CMake](https://cmake.org). Building
the core library requires a C++20 compatible compiler,
[Boost](https://www.boost.org), and [Eigen](https://eigen.tuxfamily.org). The
following commands will clone the repository, configure, and build the core
library
```sh
git clone https://github.com/acts-project/acts
cmake -B -S
cmake --build
```
For more details, e.g. specific versions and additional dependencies, have a
look at the ["Building ACTS"
guide](https://acts-project.github.io/building_acts.html). If you find a bug,
have a feature request, or want to contribute to ACTS, have a look at the
[contribution guidelines](CONTRIBUTING.md).
## Versioning and public API
Release versions follow [semantic versioning](https://semver.org/spec/v2.0.0.html)
to indicate whether a new version contains breaking changes within the public API.
Currently, only a limited part of the visible API is considered the public API
and subject to the semantic versioning rules. The details are outlined in the
[versioning and public API documentation](docs/versioning.rst).
## Repository organization
The repository contains all code of the ACTS projects, not just the core
library that a physics experiment is expected to use as part of its
reconstruction code. All optional components are disabled by default. Please
see the ["Building ACTS" guide](https://acts-project.github.io/building_acts.html)
on how-to enable them.
| *Folder* | *include path* | *Namespace* | *Python module* |
| :--- | :--- | :--- | :--- |
| `Core/` | `#include "Acts/..."` | `Acts::` | `acts` |
| `Plugins/` | `#include "ActsPlugins/PluginName/..."` | `ActsPlugins::` | `acts.pluginname` |
| `Fatras/` | `#include "ActsFatras/..."` | `ActsFatras::` | `acts.fatras` |
| `Alignment/` | `#include "ActsAlignment/..."` | `ActsAlignment::` | `acts.alignment` |
| `Examples/` | `#include "ActsExamples/..."` | `ActsExamples::` | `acts.examples` |
| `Python/` | `#include "ActsPython/..."` (not much used) | `ActsPython::` | N/A |
| `Tests/` | `#include "ActsTests/..."` (not much used) | `Acts::Tests::` | N/A |
Short summary of the modules and directories:
- `Core/` contains all the core functionality with minimal dependencies and no framework or I/O related code
- `Plugins/` contains plugins for core functionality that require
additional external packages.
- `Fatras/` provides fast track simulation tools based on the core
library.
- `Examples/` contains simulation and reconstruction examples. These are
internal tools for manual full-chain development and tests.
- `Tests/` contains automated unit tests, integration tests, and
(micro-)benchmarks.
- `Python/` contains the python bindings for the different modules
- `thirdparty/` contains external dependencies that are usually not available
through the system package manager.
## Authors and license
Contributors to the ACTS project are listed in the [AUTHORS](AUTHORS) file.
The ACTS project is published under the terms of the Mozilla Public License, v. 2.0.
A copy of the license can be found in the [LICENSE](LICENSE) file or at
https://mozilla.org/MPL/2.0/ .
The ACTS project contains copies of the following external packages:
- [OpenDataDetector](https://github.com/acts-project/OpenDataDetector)
licensed under the MPLv2 license.