Celeritas  0.5.0-56+6b053cd
Classes | Typedefs | Enumerations | Functions
geocel/Types.hh File Reference

Shared (VecGeom + ORANGE) geometry type definitions. More...

#include "corecel/OpaqueId.hh"
#include "corecel/Types.hh"
#include "corecel/cont/Array.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::Real3 = Array< real_type, 3 >
 Three-dimensional cartesian coordinates.
 
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::LevelId = OpaqueId< struct Level_ >
 Type-safe "level", i.e., depth of embedded unit/scene/volume.
 
using celeritas::GeoMaterialId = OpaqueId< struct GeoMaterial_ >
 Identifier for a material fill.
 
using celeritas::SurfaceId = OpaqueId< struct Surface_ >
 Identifier for a surface (for surface-based geometries)
 
using celeritas::VolumeId = OpaqueId< struct Volume_ >
 Identifier for a geometry volume that may be repeated.
 
using celeritas::VolumeInstanceId = OpaqueId< struct VolumeInstance_ >
 Identifier for an instance of a geometry volume (aka physical/placed)
 

Enumerations

enum class  celeritas::Axis { x , y , z , size_ }
 Enumeration for cartesian axes. More...
 
enum class  celeritas::Bound : unsigned char { lo , hi , size_ }
 Which of two bounding points, faces, etc. More...
 

Functions

CELER_CONSTEXPR_FUNCTION int celeritas::to_int (Axis a)
 Convert Axis enum value to int.
 
CELER_FUNCTION Axis celeritas::to_axis (int a)
 Convert int to Axis enum value.
 
CELER_CONSTEXPR_FUNCTION int celeritas::to_int (Bound b)
 Convert Bound enum value to int.
 
constexpr char celeritas::to_char (Axis ax)
 Get the lowercase name of the axis.
 

Detailed Description

Shared (VecGeom + ORANGE) geometry type definitions.

Enumeration Type Documentation

◆ Axis

enum celeritas::Axis
strong

Enumeration for cartesian axes.

Enumerator

X axis/I index coordinate.

Y axis/J index coordinate.

Z axis/K index coordinate.

size_ 

Sentinel value for looping over axes.

◆ Bound

enum celeritas::Bound : unsigned char
strong

Which of two bounding points, faces, etc.

Here, lo/hi correspond to left/right, back/front, bottom/top. It's used for the two points in a bounding box.