Geometry

Detector geometry descriptions for HEP are almost universally defined using a hierarchy of fully nested volumes, often saved as a GDML file [Chytracek et al., 2006]. These volumes can be represented as a directed acyclic graph (DAG): the nodes are the geometric elements, and the edges are an instantiation of the volume below inside the volume above. This instantiation is associated with a transformation and other metadata. In HEP geometries, child nodes may not overlap each other or their enclosing parent volume.

Celeritas nomenclature tends toward computer science terminology.

Celeritas

Geant4

VecGeom

KENO [1]

(not used)

Solid

Unplaced

Shape

Volume

Logical volume

Logical volume

Unit/array/media

Volume instance

Physical volume [4]

Placed volume

Hole/array element

Child

Daughter

Daughter

Hole/placement

Parent

Mother

Mother

Interface

Border surface

Hole/array element

Boundary

Skin surface

Hole/placement

Surface

Surface property [2]

Celeritas defines abstract geometry concepts, indexed as IDs, to support multiple geometry applications [3] and to make the code backend-agnostic for integrating with physics. These include “volumes” (known in some other fields as “cells”) and “surfaces” defined by the relationships between volumes.

Volume

A volume corresponds to a homogeneous physical object that can have multiple instances but is treated identically. It has a specific shape, material, metadata, and associated scoring/sensitive region. Each volume is simply a node in the detector geometry graph. This definition differs slightly from Geant4 and VecGeom, where the G4LogicalVolume and UnplacedVolume classes directly reference the child geometry nodes and thus implicitly include the objects embedded in a volume.

Volume instance

An instance of a volume is defined in conjunction with a transform and an enclosing object (or, in the special case of the outermost or “world” volume instance, no enclosing object). In Geant4 this roughly corresponds to a physical volume. [4] VecGeom refers to volume instances as placed volumes. In a user-provided (or SCALE-generated) ORANGE geometry, a volume instance might correspond to a particular hole placement (i.e., a universe daughter), an array element, or a media entry (i.e., a cell). The volume instance is an edge in the graph of volumes.

Unique instance

A unique instance of a volume refers to the logical definition of a specific region of global space in the geometry model. It is the full directed path [Bender and Williamson, 2010] from the root volume node (world volume) to a node (logical volume) somewhere in the graph, thereby describing all enclosing volumes and their locations. This path can be encoded uniquely as a single integer by pre-calculating the number of direct and indirect children for each node. Celeritas always uses 64-bit integers to store the VolumeUniqueInstanceId.

Surface

A surface is defined as a contiguous area on the boundary of a volume, sometimes on only a single side of the volume. Note that this definition differs from the infinite surfaces of ORANGE and the surface frames of VecGeom. Surfaces currently are defined in two ways: Interface surfaces (“border” surfaces in Geant4) are one-directional surfaces defined as the interface from one volume instance to another. Boundary surfaces (“skin” surfaces in Geant4) surround an entire volume, and their properties apply symmetrically to tracks entering or exiting.