Warning, /acts/docs/core/geometry/surfaces.md is written in an unsupported language. File is not indexed.
0001 # Surface classes
0002
0003 All classes which represent a thin surface in ACTS inherit from
0004 the common virtual base class {class}`Acts::Surface`, which defines
0005 the public interface of all surfaces. While the different concrete
0006 surface classes are defined by their respective native local
0007 coordinate system, the shapes on these surfaces are defined by classes
0008 that inherit from {class}`Acts::SurfaceBounds`, which every surface must provide.
0009 In case of boundless surfaces, a special {class}`Acts::InfiniteBounds` class is
0010 available.
0011
0012 Each {class}`Acts::Surface` instance reports its type from {func}`Acts::Surface::type()`:
0013
0014 :::{doxygenenum} Acts::Surface::SurfaceType
0015 :::
0016
0017 | Surface Type | Local Coordinates | Bound Types available |
0018 |:---------------------------------------------------------------|-------------------|:--------------------------------------------------------------------------------------------------------------------------------|
0019 | {class}`Acts::ConeSurface` | $[r\phi, z]$ | {class}`Acts::ConeBounds` |
0020 | {class}`Acts::CylinderSurface` | $[r, \phi]$ | {class}`Acts::CylinderBounds` |
0021 | {class}`Acts::DiscSurface` | $[r, \phi]$ | {class}`Acts::RadialBounds`, {class}`Acts::DiscTrapezoidBounds` |
0022 | {class}`Acts::PlaneSurface` | $[x, y]$ | {class}`Acts::RectangleBounds`, {class}`Acts::TrapezoidBounds`, <br>{class}`Acts::InfiniteBounds`, {class}`Acts::EllipseBounds` |
0023 | {class}`Acts::PerigeeSurface`,<br> {class}`Acts::StrawSurface` | $[d, z]$ | {class}`Acts::CylinderBounds` |
0024 | {class}`Acts::LineSurface` | $[d_0, z_0]$ | {class}`Acts::LineBounds` |
0025
0026 ```{tip}
0027 In an ideal setup, the coordinate systems also define the readout
0028 measurement directions. In such a case, a track prediction from the
0029 propagation will already be in the correct frame of the measurement and
0030 residual or compatibility checks will not need additional coordinate
0031 transformations.
0032 ```
0033
0034 ## Plane surface
0035
0036 ![PlaneBounds](figures/PlaneBounds.png)
0037
0038 :::{doxygenclass} Acts::PlaneSurface
0039 ---
0040
0041 members: globalToLocal,localToGlobal,intersect,normal
0042 ---
0043
0044 :::
0045
0046 ## Disc surface
0047
0048 ![DiscBounds](figures/DiscBounds.png)
0049
0050 :::{doxygenclass} Acts::DiscSurface
0051 ---
0052
0053 members: globalToLocal,localToGlobal,intersect,normal,mergedWith
0054 ---
0055
0056 :::
0057
0058 ## Cylinder surface
0059
0060 ![CylinderBounds](figures/CylinderBounds.png)
0061
0062 :::{doxygenclass} Acts::CylinderSurface
0063 ---
0064
0065 members: globalToLocal,localToGlobal,intersect,normal,mergedWith
0066 ---
0067
0068 :::
0069
0070 ## Cone surface
0071
0072 :::{doxygenclass} Acts::ConeSurface
0073 ---
0074
0075 members: globalToLocal,localToGlobal,intersect,normal
0076 ---
0077
0078 :::
0079
0080 ## Line surface
0081
0082 {class}`Acts::LineSurface` is a special kind of surface that depends on a reference
0083 direction, typically the unit momentum direction $\vec d$ of a particle. A point in
0084 space is considered *on surface* if and only if it coincides with the point of
0085 closest approach between the direction vector $\vec d$ and the line direction
0086 vector $\vec z$. As such, the function {func}`Acts::LineSurface::globalToLocal`
0087 can fail, if the argument position and direction do not fulfill this criterion.
0088 It is pure-virtual, meaning that it can not be instantiated on its own.
0089
0090 :::{doxygenclass} Acts::LineSurface
0091 ---
0092
0093 members: globalToLocal,localToGlobal,intersect,normal
0094 ---
0095
0096 :::
0097
0098 ### Straw surface
0099
0100 :::{doxygenclass} Acts::StrawSurface
0101 ---
0102
0103 members: false
0104 ---
0105
0106 :::
0107
0108 ### Perigee surface
0109
0110 :::{doxygenclass} Acts::PerigeeSurface
0111 ---
0112
0113 members: false
0114 ---
0115
0116 :::
0117
0118 ## API listings
0119
0120 :::{doxygenclass} Acts::Surface
0121 :::