File IGeometryIdGenerator.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Experimental
class IGeometryIdGenerator
#include <Acts/Detector/interface/IGeometryIdGenerator.hpp>

This is the interface for generating geometry ids and assign them to detector volumes, portals and surfaces.

Subclassed by Acts::Experimental::GeometryIdGenerator

Public Types

using GeoIdCache = std::any

Public Functions

virtual ~IGeometryIdGenerator() = default
virtual void assignGeometryId(GeoIdCache &cache, DetectorVolume &dVolume) const = 0

The virtual interface definition for assigning a geometry id to a detector volume.

Parameters
  • cache – is the cache object for e.g. object counting

  • dVolume – the detector volume to assign the geometry id to

virtual void assignGeometryId(GeoIdCache &cache, Portal &portal) const = 0

The virtual interface definition for assigning a geometry id to a portal.

Parameters
  • cache – is the cache object for e.g. object counting

  • portal – the portal to assign the geometry id to

virtual void assignGeometryId(GeoIdCache &cache, Surface &surface) const = 0

The virtual interface definition for assigning a geometry id to a surface.

Parameters
  • cache – is the cache object for e.g. object counting

  • surface – the surface to assign the geometry id to

virtual GeoIdCache generateCache() const = 0

Virtual interface method to generata a geometry id cache.

Returns

a geometry id cache decorated in a std::any object