|
Celeritas 0.7+23b478d
|
Shared (VecGeom + ORANGE) geometry type definitions. More...
#include "corecel/OpaqueId.hh"#include "corecel/Types.hh"#include "corecel/cont/Array.hh"#include "corecel/sys/ThreadId.hh"Classes | |
| struct | celeritas::GeoTrackInitializer |
| Data required to initialize a geometry state. More... | |
| struct | celeritas::Propagation |
| Result of a propagation step. More... | |
Typedefs | |
| using | celeritas::Real2 = Array< real_type, 2 > |
| Two-dimensional cartesian coordinates. | |
| using | celeritas::Size2 = Array< size_type, 2 > |
| Two-dimensional extents. | |
| template<class T , size_type N> | |
| using | celeritas::SquareMatrix = Array< Array< T, N >, N > |
| Alias for a small square dense matrix. | |
| using | celeritas::SquareMatrixReal3 = SquareMatrix< real_type, 3 > |
| Alias for a small square dense matrix. | |
| using | celeritas::DetectorId = OpaqueId< struct Detector_ > |
| Opaque index for mapping volume-specific "sensitive detector" objects. | |
| using | celeritas::GeoMatId = OpaqueId< struct GeoMaterial_ > |
| Identifier for a material fill. | |
| using | celeritas::SurfaceId = OpaqueId< struct Surface_, unsigned int > |
| Combined boundary/interface surface identifier. | |
| using | celeritas::VolumeId = OpaqueId< struct Volume_, unsigned int > |
| Identifier for a canonical geometry volume that may be repeated. | |
| using | celeritas::VolumeInstanceId = OpaqueId< struct VolumeInstance_, unsigned int > |
| Identifier for an instance of a geometry volume (aka physical/placed) | |
| using | celeritas::VolumeLevelId = OpaqueId< struct VolumeLevel_, unsigned int > |
| Type-safe depth in the canonical volume graph (zero for world) | |
| using | celeritas::VolumeUniqueInstanceId = OpaqueId< struct VolumeInstance_, ull_int > |
| Identifier for a unique volume in global space (aka touchable) | |
Geometry-specific implementation details | |
| using | celeritas::ImplSurfaceId = OpaqueId< struct ImplSurface_ > |
| Implementation detail surface (for surface-based geometries) | |
| using | celeritas::ImplVolumeId = OpaqueId< struct ImplVolumeId_ > |
| Implementation detail: "global" volume index internal to a geometry. | |
Enumerations | |
| enum class | celeritas::Axis { x , y , z , size_ } |
| Enumeration for cartesian axes. More... | |
| enum class | celeritas::GeoStatus : signed char { error = -2 , invalid = -1 , interior = 0 , boundary_inc = 1 , boundary_out = 2 } |
| Geometry state as a track moves across boundaries through the geometry. More... | |
Functions | |
| char const * | celeritas::to_cstring (GeoStatus value) |
| Get a string corresponding to a geometry track state. | |
| constexpr int | celeritas::to_int (Axis a) |
| Convert Axis enum value to int. | |
| Axis | celeritas::to_axis (int a) |
| Convert int to Axis enum value. | |
| constexpr char | celeritas::to_char (Axis ax) |
| Get the lowercase name of the axis. | |
| constexpr bool | celeritas::is_valid (GeoStatus s) |
| Whether the geometry is on a boundary. | |
| constexpr bool | celeritas::is_on_boundary (GeoStatus s) |
| Whether the geometry is on a boundary. | |
| constexpr bool | celeritas::is_outside (VolumeId v) |
| Whether a volume is outside the canonical geometry extents. | |
Shared (VecGeom + ORANGE) geometry type definitions.
|
strong |
|
strong |
Geometry state as a track moves across boundaries through the geometry.
The "incoming" (incident) and "outgoing" (exiting) states are relative to the boundary (surface) that the track is on, not the volume.
is_valid (invalid values are strictly negative) and is_on_boundary (values on the boundary are strictly positive).