EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Charge interpretation for track parameters

Classes

struct  Acts::Neutral
 Charge and momentum interpretation for neutral particles. More...
 
struct  Acts::SinglyCharged
 Charge and momentum interpretation for particles with +-e charge. More...
 
class  Acts::AnyCharge
 

Detailed Description

Track parameters store a single coefficient that describes charge and momentum. This is either charge/momentum or 1/momentum, but the interpretation depends on what type of particle is described. In this code base this coefficient is always referred to as qOverP (or charge-over-momentum) even for uncharged particles. The following types are used to restrict the particle charge magnitude (at compile time) and support the umambigous extraction of charge and absolute momentum from said track parameter coefficient.

All types are designed to be interchangeable. Each one can be constructed with the input charge magnitude

```cpp Charge c(1_e); ```

and can then be used to extract the charge value

```cpp auto q = c.extractCharge(qOverP); ```

or the absolute momentum

```cpp auto p = c.extractMomentum(qOverP); ```

from the charge-over-momentum track parameter.