EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::GeometryIdentifier Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/GeometryIdentifier.hpp>

Public Types

using Value = uint64_t
 
using Value = uint64_t
 

Public Member Functions

constexpr GeometryIdentifier (Value encoded)
 Construct from an already encoded value.
 
 GeometryIdentifier ()=default
 Construct default GeometryIdentifier with all values set to zero.
 
 GeometryIdentifier (GeometryIdentifier &&)=default
 
 GeometryIdentifier (const GeometryIdentifier &)=default
 
 ~GeometryIdentifier ()=default
 
GeometryIdentifieroperator= (GeometryIdentifier &&)=default
 
GeometryIdentifieroperator= (const GeometryIdentifier &)=default
 
constexpr Value value () const
 Return the encoded value.
 
constexpr Value volume () const
 Return the volume identifier.
 
constexpr Value boundary () const
 Return the boundary identifier.
 
constexpr Value layer () const
 Return the layer identifier.
 
constexpr Value approach () const
 Return the approach identifier.
 
constexpr Value sensitive () const
 Return the sensitive identifier.
 
constexpr GeometryIdentifiersetVolume (Value volume)
 Set the volume identifier.
 
constexpr GeometryIdentifiersetBoundary (Value boundary)
 Set the boundary identifier.
 
constexpr GeometryIdentifiersetLayer (Value layer)
 Set the layer identifier.
 
constexpr GeometryIdentifiersetApproach (Value approach)
 Set the approach identifier.
 
constexpr GeometryIdentifiersetSensitive (Value sensitive)
 Set the sensitive identifier.
 
constexpr GeometryIdentifier (Value encoded)
 Construct from an already encoded value.
 
 GeometryIdentifier ()=default
 Construct default GeometryIdentifier with all values set to zero.
 
 GeometryIdentifier (GeometryIdentifier &&)=default
 
 GeometryIdentifier (const GeometryIdentifier &)=default
 
 ~GeometryIdentifier ()=default
 
GeometryIdentifieroperator= (GeometryIdentifier &&)=default
 
GeometryIdentifieroperator= (const GeometryIdentifier &)=default
 
constexpr Value value () const
 Return the encoded value.
 
constexpr Value volume () const
 Return the volume identifier.
 
constexpr Value boundary () const
 Return the boundary identifier.
 
constexpr Value layer () const
 Return the layer identifier.
 
constexpr Value approach () const
 Return the approach identifier.
 
constexpr Value sensitive () const
 Return the sensitive identifier.
 

Private Member Functions

constexpr Value getBits (Value mask) const
 Extract the masked bits from the encoded value.
 
constexpr GeometryIdentifiersetBits (Value mask, Value id)
 Set the masked bits to id in the encoded value.
 
constexpr Value getBits (Value mask) const
 Extract the masked bits from the encoded value.
 

Static Private Member Functions

static constexpr int extractShift (Value mask)
 Extract the bit shift necessary to access the masked values.
 
static constexpr int extractShift (Value mask)
 Extract the bit shift necessary to access the masked values.
 

Private Attributes

Value m_value = 0
 

Static Private Attributes

static constexpr Value kVolumeMask = 0xff00000000000000
 
static constexpr Value kBoundaryMask = 0x00ff000000000000
 
static constexpr Value kLayerMask = 0x0000fff000000000
 
static constexpr Value kApproachMask = 0x0000000ff0000000
 
static constexpr Value kSensitiveMask = 0x000000000fffffff
 
static constexpr Value volume_mask = 0xff00000000000000
 
static constexpr Value boundary_mask = 0x00ff000000000000
 
static constexpr Value layer_mask = 0x0000fff000000000
 
static constexpr Value approach_mask = 0x0000000ff0000000
 
static constexpr Value sensitive_mask = 0x000000000fffffff
 

Friends

constexpr bool operator== (GeometryIdentifier lhs, GeometryIdentifier rhs)
 
constexpr bool operator!= (GeometryIdentifier lhs, GeometryIdentifier rhs)
 
constexpr bool operator< (GeometryIdentifier lhs, GeometryIdentifier rhs)
 
constexpr bool operator== (GeometryIdentifier lhs, GeometryIdentifier rhs)
 
constexpr bool operator< (GeometryIdentifier lhs, GeometryIdentifier rhs)
 

Detailed Description

Identifier for geometry nodes within the geometry hierarchy.

An identifier can be split into the following components. They define a hierarchy of objects starting from the high-level volumes:

  • Volume
  • Boundary surfaces (for a volume)
  • Layers (confined within a volume)
  • Approach surfaces (for a layer)
  • Sensitive surfaces (confined to a layer, also called modules)

Reimplementation of GeometryIdentifier du to the fact that the default Root C++ version is too old Identifier for geometry nodes.

Each identifier can be split info the following components:

  • Volumes - uses counting given by TrackingGeometry
  • (Boundary) Surfaces - counts through boundary surfaces
  • (Layer) Surfaces - counts confined layers
  • (Approach) Surfaces - counts approach surfaces
  • (Sensitive) Surfaces - counts through sensitive surfaces

Definition at line 28 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 28 of file GeometryIdentifier.hpp

Member Typedef Documentation

Definition at line 29 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 29 of file materialPlotHelper.hpp

Definition at line 30 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 30 of file GeometryIdentifier.hpp

Constructor & Destructor Documentation

constexpr Acts::GeometryIdentifier::GeometryIdentifier ( Value  encoded)
inline

Construct from an already encoded value.

Definition at line 33 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 33 of file GeometryIdentifier.hpp

Acts::GeometryIdentifier::GeometryIdentifier ( )
default

Construct default GeometryIdentifier with all values set to zero.

Acts::GeometryIdentifier::GeometryIdentifier ( GeometryIdentifier &&  )
default
Acts::GeometryIdentifier::GeometryIdentifier ( const GeometryIdentifier )
default
Acts::GeometryIdentifier::~GeometryIdentifier ( )
default
constexpr Acts::GeometryIdentifier::GeometryIdentifier ( Value  encoded)
inline

Construct from an already encoded value.

Definition at line 32 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 32 of file materialPlotHelper.hpp

Acts::GeometryIdentifier::GeometryIdentifier ( )
default

Construct default GeometryIdentifier with all values set to zero.

Acts::GeometryIdentifier::GeometryIdentifier ( GeometryIdentifier &&  )
default
Acts::GeometryIdentifier::GeometryIdentifier ( const GeometryIdentifier )
default
Acts::GeometryIdentifier::~GeometryIdentifier ( )
default

Member Function Documentation

constexpr Value Acts::GeometryIdentifier::approach ( ) const
inline

Return the approach identifier.

Definition at line 51 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 51 of file materialPlotHelper.hpp

References approach_mask, and getBits().

+ Here is the call graph for this function:

constexpr Value Acts::GeometryIdentifier::approach ( ) const
inline

Return the approach identifier.

Definition at line 52 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 52 of file GeometryIdentifier.hpp

References getBits(), and kApproachMask.

Referenced by Acts::JsonGeometryConverter::convertToRep(), and ActsExamples::RootMaterialWriter::write().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr Value Acts::GeometryIdentifier::boundary ( ) const
inline

Return the boundary identifier.

Definition at line 47 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 47 of file materialPlotHelper.hpp

References boundary_mask, and getBits().

+ Here is the call graph for this function:

constexpr Value Acts::GeometryIdentifier::boundary ( ) const
inline

Return the boundary identifier.

Definition at line 48 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 48 of file GeometryIdentifier.hpp

References getBits(), and kBoundaryMask.

Referenced by Acts::JsonGeometryConverter::convertToRep(), Acts::VolumeMaterialMapper::BoundSurfaceSelector::operator()(), and ActsExamples::RootMaterialWriter::write().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static constexpr int Acts::GeometryIdentifier::extractShift ( Value  mask)
inlinestaticprivate

Extract the bit shift necessary to access the masked values.

Definition at line 67 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 67 of file materialPlotHelper.hpp

static constexpr int Acts::GeometryIdentifier::extractShift ( Value  mask)
inlinestaticprivate

Extract the bit shift necessary to access the masked values.

Definition at line 92 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 92 of file GeometryIdentifier.hpp

Referenced by getBits(), and setBits().

+ Here is the caller graph for this function:

constexpr Value Acts::GeometryIdentifier::getBits ( Value  mask) const
inlineprivate

Extract the masked bits from the encoded value.

Definition at line 75 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 75 of file materialPlotHelper.hpp

References extractShift(), and m_value.

+ Here is the call graph for this function:

constexpr Value Acts::GeometryIdentifier::getBits ( Value  mask) const
inlineprivate

Extract the masked bits from the encoded value.

Definition at line 100 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 100 of file GeometryIdentifier.hpp

References extractShift(), and m_value.

Referenced by approach(), boundary(), layer(), sensitive(), and volume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr Value Acts::GeometryIdentifier::layer ( ) const
inline

Return the layer identifier.

Definition at line 49 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 49 of file materialPlotHelper.hpp

References getBits(), and layer_mask.

+ Here is the call graph for this function:

constexpr Value Acts::GeometryIdentifier::layer ( ) const
inline

Return the layer identifier.

Definition at line 50 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 50 of file GeometryIdentifier.hpp

References getBits(), and kLayerMask.

Referenced by Acts::JsonGeometryConverter::convertToRep(), ActsExamples::RootMaterialWriter::write(), ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::RootPlanarClusterWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GeometryIdentifier& Acts::GeometryIdentifier::operator= ( GeometryIdentifier &&  )
default
GeometryIdentifier& Acts::GeometryIdentifier::operator= ( GeometryIdentifier &&  )
default
GeometryIdentifier& Acts::GeometryIdentifier::operator= ( const GeometryIdentifier )
default
GeometryIdentifier& Acts::GeometryIdentifier::operator= ( const GeometryIdentifier )
default
constexpr Value Acts::GeometryIdentifier::sensitive ( ) const
inline

Return the sensitive identifier.

Definition at line 53 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 53 of file materialPlotHelper.hpp

References getBits(), and sensitive_mask.

+ Here is the call graph for this function:

constexpr Value Acts::GeometryIdentifier::sensitive ( ) const
inline

Return the sensitive identifier.

Definition at line 54 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 54 of file GeometryIdentifier.hpp

References getBits(), and kSensitiveMask.

Referenced by Acts::JsonGeometryConverter::convertToRep(), ActsExamples::RootMaterialWriter::write(), ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::RootPlanarClusterWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr GeometryIdentifier& Acts::GeometryIdentifier::setApproach ( Value  approach)
inline

Set the approach identifier.

Definition at line 69 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 69 of file GeometryIdentifier.hpp

References kApproachMask, and setBits().

Referenced by Acts::Layer::closeGeometry(), Acts::JsonGeometryConverter::jsonToMaterialMaps(), ActsExamples::RootMaterialDecorator::RootMaterialDecorator(), and ActsExamples::RootMaterialTrackWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr GeometryIdentifier& Acts::GeometryIdentifier::setBits ( Value  mask,
Value  id 
)
inlineprivate

Set the masked bits to id in the encoded value.

Definition at line 104 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 104 of file GeometryIdentifier.hpp

References extractShift(), and m_value.

Referenced by setApproach(), setBoundary(), setLayer(), setSensitive(), and setVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr GeometryIdentifier& Acts::GeometryIdentifier::setBoundary ( Value  boundary)
inline

Set the boundary identifier.

Definition at line 61 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 61 of file GeometryIdentifier.hpp

References kBoundaryMask, and setBits().

Referenced by Acts::TrackingVolume::closeGeometry(), Acts::JsonGeometryConverter::jsonToMaterialMaps(), ActsExamples::RootMaterialDecorator::RootMaterialDecorator(), and ActsExamples::RootMaterialTrackWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr GeometryIdentifier& Acts::GeometryIdentifier::setLayer ( Value  layer)
inline

Set the layer identifier.

Definition at line 65 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 65 of file GeometryIdentifier.hpp

References kLayerMask, and setBits().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::TrackingVolume::closeGeometry(), Acts::JsonGeometryConverter::jsonToMaterialMaps(), Acts::Test::makeId(), ActsExamples::RootMaterialDecorator::RootMaterialDecorator(), ActsExamples::selectLayer(), and ActsExamples::RootMaterialTrackWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr GeometryIdentifier& Acts::GeometryIdentifier::setSensitive ( Value  sensitive)
inline

Set the sensitive identifier.

Definition at line 73 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 73 of file GeometryIdentifier.hpp

References kSensitiveMask, and setBits().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Layer::closeGeometry(), Acts::TrackingVolume::closeGeometry(), Acts::JsonGeometryConverter::jsonToMaterialMaps(), Acts::Test::makeId(), ActsExamples::RootMaterialDecorator::RootMaterialDecorator(), and ActsExamples::RootMaterialTrackWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr GeometryIdentifier& Acts::GeometryIdentifier::setVolume ( Value  volume)
inline

Set the volume identifier.

Definition at line 57 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 57 of file GeometryIdentifier.hpp

References kVolumeMask, and setBits().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::TrackingVolume::closeGeometry(), Acts::GeometryHierarchyMapJsonConverter< value_t >::decodeIdentifier(), Acts::JsonGeometryConverter::jsonToMaterialMaps(), Acts::Test::makeId(), ActsExamples::RootMaterialDecorator::RootMaterialDecorator(), ActsExamples::selectLayer(), ActsExamples::selectVolume(), and ActsExamples::RootMaterialTrackWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

constexpr Value Acts::GeometryIdentifier::value ( ) const
inline

Return the encoded value.

Definition at line 42 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 42 of file materialPlotHelper.hpp

References m_value.

constexpr Value Acts::GeometryIdentifier::value ( ) const
inline

Return the encoded value.

Definition at line 43 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 43 of file GeometryIdentifier.hpp

References m_value.

Referenced by ActsExamples::CsvPlanarClusterReader::read(), Acts::Test::runTest(), ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::RootMaterialTrackWriter::writeT().

+ Here is the caller graph for this function:

constexpr Value Acts::GeometryIdentifier::volume ( ) const
inline

Return the volume identifier.

Definition at line 45 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 45 of file materialPlotHelper.hpp

References getBits(), and volume_mask.

+ Here is the call graph for this function:

constexpr Value Acts::GeometryIdentifier::volume ( ) const
inline

Return the volume identifier.

Definition at line 46 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 46 of file GeometryIdentifier.hpp

References getBits(), and kVolumeMask.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::VolumeMaterialMapper::checkAndInsert(), Acts::SurfaceMaterialMapper::checkAndInsert(), Acts::JsonGeometryConverter::convertToRep(), Fill(), ActsSurfaceMaps::isMicromegasSurface(), ActsSurfaceMaps::isTpcSurface(), ActsExamples::RootMaterialWriter::write(), ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::RootPlanarClusterWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

constexpr bool operator!= ( GeometryIdentifier  lhs,
GeometryIdentifier  rhs 
)
friend

Definition at line 114 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 114 of file GeometryIdentifier.hpp

constexpr bool operator< ( GeometryIdentifier  lhs,
GeometryIdentifier  rhs 
)
friend

Definition at line 83 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 83 of file materialPlotHelper.hpp

constexpr bool operator< ( GeometryIdentifier  lhs,
GeometryIdentifier  rhs 
)
friend

Definition at line 118 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 118 of file GeometryIdentifier.hpp

constexpr bool operator== ( GeometryIdentifier  lhs,
GeometryIdentifier  rhs 
)
friend

Definition at line 79 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 79 of file materialPlotHelper.hpp

constexpr bool operator== ( GeometryIdentifier  lhs,
GeometryIdentifier  rhs 
)
friend

Definition at line 110 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 110 of file GeometryIdentifier.hpp

Member Data Documentation

constexpr Value Acts::GeometryIdentifier::approach_mask = 0x0000000ff0000000
staticprivate

Definition at line 60 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 60 of file materialPlotHelper.hpp

Referenced by approach().

constexpr Value Acts::GeometryIdentifier::boundary_mask = 0x00ff000000000000
staticprivate

Definition at line 58 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 58 of file materialPlotHelper.hpp

Referenced by boundary().

constexpr Value Acts::GeometryIdentifier::kApproachMask = 0x0000000ff0000000
staticprivate

Definition at line 85 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 85 of file GeometryIdentifier.hpp

Referenced by approach(), and setApproach().

constexpr Value Acts::GeometryIdentifier::kBoundaryMask = 0x00ff000000000000
staticprivate

Definition at line 81 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 81 of file GeometryIdentifier.hpp

Referenced by boundary(), and setBoundary().

constexpr Value Acts::GeometryIdentifier::kLayerMask = 0x0000fff000000000
staticprivate

Definition at line 83 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 83 of file GeometryIdentifier.hpp

Referenced by layer(), and setLayer().

constexpr Value Acts::GeometryIdentifier::kSensitiveMask = 0x000000000fffffff
staticprivate

Definition at line 87 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 87 of file GeometryIdentifier.hpp

Referenced by sensitive(), and setSensitive().

constexpr Value Acts::GeometryIdentifier::kVolumeMask = 0xff00000000000000
staticprivate

Definition at line 79 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 79 of file GeometryIdentifier.hpp

Referenced by setVolume(), and volume().

constexpr Value Acts::GeometryIdentifier::layer_mask = 0x0000fff000000000
staticprivate

Definition at line 59 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 59 of file materialPlotHelper.hpp

Referenced by layer().

Value Acts::GeometryIdentifier::m_value = 0
private

Definition at line 89 of file GeometryIdentifier.hpp.

View newest version in sPHENIX GitHub at line 89 of file GeometryIdentifier.hpp

Referenced by getBits(), setBits(), and value().

constexpr Value Acts::GeometryIdentifier::sensitive_mask = 0x000000000fffffff
staticprivate

Definition at line 61 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 61 of file materialPlotHelper.hpp

Referenced by sensitive().

constexpr Value Acts::GeometryIdentifier::volume_mask = 0xff00000000000000
staticprivate

Definition at line 57 of file materialPlotHelper.hpp.

View newest version in sPHENIX GitHub at line 57 of file materialPlotHelper.hpp

Referenced by volume().


The documentation for this class was generated from the following files: