Analysis Software
Documentation for sPHENIX simulation software
|
#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 | |
GeometryIdentifier & | operator= (GeometryIdentifier &&)=default |
GeometryIdentifier & | operator= (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 | passive () const |
Return the approach identifier. | |
constexpr Value | sensitive () const |
Return the sensitive identifier. | |
constexpr Value | extra () const |
constexpr GeometryIdentifier & | setVolume (Value volume) |
Set the volume identifier. | |
constexpr GeometryIdentifier & | setBoundary (Value boundary) |
Set the boundary identifier. | |
constexpr GeometryIdentifier & | setLayer (Value layer) |
Set the layer identifier. | |
constexpr GeometryIdentifier & | setApproach (Value approach) |
Set the approach identifier. | |
constexpr GeometryIdentifier & | setPassive (Value approach) |
Set the approach identifier - shared with Passive. | |
constexpr GeometryIdentifier & | setSensitive (Value sensitive) |
Set the sensitive identifier. | |
constexpr GeometryIdentifier & | setExtra (Value extra) |
Set the extra 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 | |
GeometryIdentifier & | operator= (GeometryIdentifier &&)=default |
GeometryIdentifier & | operator= (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 GeometryIdentifier & | setBits (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 |
(2^8)-1 = 255 volumes | |
static constexpr Value | kBoundaryMask = 0x00ff000000000000 |
(2^8)-1 = 255 boundaries | |
static constexpr Value | kLayerMask = 0x0000fff000000000 |
(2^12)-1 = 4095 layers | |
static constexpr Value | kApproachMask = 0x0000000ff0000000 |
(2^8)-1 = 255 approach surfaces | |
static constexpr Value | kPassiveMask = kApproachMask |
static constexpr Value | kSensitiveMask = 0x000000000fffff00 |
(2^20)-1 = 1048575 sensitive surfaces | |
static constexpr Value | kExtraMask = 0x00000000000000ff |
(2^8)-1 = 255 extra values | |
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) |
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:
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:
Definition at line 31 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 31 of file GeometryIdentifier.hpp
using Acts::GeometryIdentifier::Value = uint64_t |
Definition at line 29 of file materialPlotHelper.hpp.
View newest version in sPHENIX GitHub at line 29 of file materialPlotHelper.hpp
using Acts::GeometryIdentifier::Value = uint64_t |
Definition at line 33 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 33 of file GeometryIdentifier.hpp
|
inline |
Construct from an already encoded value.
Definition at line 36 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 36 of file GeometryIdentifier.hpp
|
default |
Construct default GeometryIdentifier with all values set to zero.
|
default |
|
default |
|
default |
|
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
|
default |
Construct default GeometryIdentifier with all values set to zero.
|
default |
|
default |
|
default |
|
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().
|
inline |
Return the approach identifier.
Definition at line 55 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 55 of file GeometryIdentifier.hpp
References getBits(), and kApproachMask.
Referenced by Acts::Python::addGeometry(), ActsExamples::selectLowestNonZeroGeometryObject(), ActsExamples::to_json(), and ActsExamples::RootMaterialWriter::writeMaterial().
|
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().
|
inline |
Return the boundary identifier.
Definition at line 51 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 51 of file GeometryIdentifier.hpp
References getBits(), and kBoundaryMask.
Referenced by Acts::Python::addGeometry(), Acts::VolumeMaterialMapper::BoundSurfaceSelector::operator()(), ActsExamples::selectLowestNonZeroGeometryObject(), ActsExamples::to_json(), and ActsExamples::RootMaterialWriter::writeMaterial().
|
inline |
Return the extra identifier Usage can be experiment-specific, like tagging which kind of detector a surface object corresponds to, or which subsystem it belongs to
Definition at line 63 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 63 of file GeometryIdentifier.hpp
References getBits(), and kExtraMask.
Referenced by Acts::Python::addGeometry().
|
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
|
inlinestaticprivate |
Extract the bit shift necessary to access the masked values.
Definition at line 114 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 114 of file GeometryIdentifier.hpp
Referenced by getBits(), and setBits().
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.
Extract the masked bits from the encoded value.
Definition at line 122 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 122 of file GeometryIdentifier.hpp
References extractShift(), and m_value.
Referenced by approach(), boundary(), extra(), layer(), passive(), sensitive(), and volume().
|
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.
|
inline |
Return the layer identifier.
Definition at line 53 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 53 of file GeometryIdentifier.hpp
References getBits(), and kLayerMask.
Referenced by Acts::Python::addGeometry(), ActsPropagator::checkLayer(), Acts::Svg::TrackingGeometryConverter::convert(), ActsExamples::RootMeasurementWriter::DigitizationTree::DigitizationTree(), ActsExamples::RootMeasurementWriter::DigitizationTree::fillIdentification(), ActsExamples::HoughTransformSeeder::HoughTransformSeeder(), ActsExamples::SeedingFTFAlgorithm::LayerNumbering(), ResidualOutlierFinder::operator()(), ActsExamples::DigitizationConfigurator::operator()(), ActsExamples::selectLowestNonZeroGeometryObject(), ActsExamples::SpacePointMaker::SpacePointMaker(), ActsExamples::to_json(), and ActsExamples::RootMaterialWriter::writeMaterial().
|
default |
|
default |
|
default |
|
default |
|
inline |
Return the approach identifier.
Definition at line 57 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 57 of file GeometryIdentifier.hpp
References getBits(), and kApproachMask.
|
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.
|
inline |
Return the sensitive identifier.
Definition at line 59 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 59 of file GeometryIdentifier.hpp
References getBits(), and kSensitiveMask.
Referenced by Acts::Python::addGeometry(), ActsExamples::RootMeasurementWriter::DigitizationTree::DigitizationTree(), ActsExamples::RootMeasurementWriter::DigitizationTree::fillIdentification(), ActsExamples::SeedingFTFAlgorithm::LayerNumbering(), ActsExamples::selectLowestNonZeroGeometryObject(), ActsExamples::to_json(), Acts::SurfaceJsonConverter::toJsonDetray(), and ActsExamples::RootMaterialWriter::writeMaterial().
|
inline |
Set the approach identifier.
Definition at line 78 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 78 of file GeometryIdentifier.hpp
References kApproachMask, and setBits().
Referenced by Acts::Python::addGeometry(), Acts::Layer::closeGeometry(), ActsExamples::from_json(), while(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
inlineprivate |
Set the masked bits to id in the encoded value.
Definition at line 126 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 126 of file GeometryIdentifier.hpp
References extractShift(), m_value, and mask.
Referenced by setApproach(), setBoundary(), setExtra(), setLayer(), setPassive(), setSensitive(), and setVolume().
|
inline |
Set the boundary identifier.
Definition at line 70 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 70 of file GeometryIdentifier.hpp
References kBoundaryMask, and setBits().
Referenced by Acts::Python::addGeometry(), Acts::Experimental::GeometryIdGenerator::assignGeometryId(), Acts::TrackingVolume::closeGeometry(), ActsExamples::from_json(), while(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
inline |
Set the extra identifier.
Definition at line 90 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 90 of file GeometryIdentifier.hpp
References kExtraMask, and setBits().
Referenced by Acts::Python::addGeometry(), and Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Set the layer identifier.
Definition at line 74 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 74 of file GeometryIdentifier.hpp
References kLayerMask, and setBits().
Referenced by Acts::Python::addGeometry(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::TrackingVolume::closeGeometry(), ActsExamples::from_json(), ActsExamples::DigitizationConfigurator::operator()(), detail::parseMapKey(), ActsExamples::selectLayer(), Acts::Experimental::GeometryIdGenerator::volumeId(), while(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
inline |
Set the approach identifier - shared with Passive.
Definition at line 82 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 82 of file GeometryIdentifier.hpp
References kApproachMask, and setBits().
Referenced by SurfaceGeoIdGenerator::assignGeometryId().
|
inline |
Set the sensitive identifier.
Definition at line 86 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 86 of file GeometryIdentifier.hpp
References kSensitiveMask, and setBits().
Referenced by Acts::Python::addGeometry(), SurfaceGeoIdGenerator::assignGeometryId(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Acts::Layer::closeGeometry(), Acts::TrackingVolume::closeGeometry(), ActsExamples::from_json(), detail::parseMapKey(), while(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
inline |
Set the volume identifier.
Definition at line 66 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 66 of file GeometryIdentifier.hpp
References kVolumeMask, and setBits().
Referenced by Acts::Python::addGeometry(), VolumeGeoIdGenerator::assignGeometryId(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::TrackingVolume::closeGeometry(), Acts::GeometryHierarchyMapJsonConverter< Acts::SurfaceAndMaterialWithContext, Acts::ITrackingGeometryJsonDecorator >::decodeIdentifier(), ActsExamples::from_json(), ActsExamples::DigitizationConfigurator::operator()(), detail::parseMapKey(), runHoughExample(), runMeasurementsToSP(), ActsExamples::selectLayer(), ActsExamples::selectVolume(), Acts::Experimental::GeometryIdGenerator::volumeId(), while(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
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.
|
inline |
Return the encoded value.
Definition at line 46 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 46 of file GeometryIdentifier.hpp
References m_value.
Referenced by Acts::PodioUtil::convertSurfaceToPodio(), ActsExamples::SensitiveSurfaceMapper::remapSensitiveNames(), Acts::Test::runTest(), Acts::SurfaceJsonConverter::toJson(), Acts::SurfaceJsonConverter::toJsonDetray(), ActsExamples::CsvMeasurementWriter::writeT(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
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.
|
inline |
Return the volume identifier.
Definition at line 49 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 49 of file GeometryIdentifier.hpp
References getBits(), and kVolumeMask.
Referenced by Acts::Python::addGeometry(), Acts::Experimental::GeometryIdGenerator::assignGeometryId(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::VolumeMaterialMapper::checkAndInsert(), Acts::SurfaceMaterialMapper::checkAndInsert(), ActsPropagator::checkLayer(), Acts::Svg::TrackingGeometryConverter::convert(), Acts::MaterialMapJsonConverter::convertToHierarchy(), ActsExamples::RootMeasurementWriter::DigitizationTree::DigitizationTree(), Acts::GeometryView3D::drawTrackingVolume(), Fill(), ActsExamples::RootMeasurementWriter::DigitizationTree::fillIdentification(), ActsExamples::HoughTransformSeeder::HoughTransformSeeder(), ActsSurfaceMaps::isMicromegasSurface(), ActsSurfaceMaps::isTpcSurface(), ActsExamples::SeedingFTFAlgorithm::LayerNumbering(), Acts::VolumeMaterialMapper::mapMaterialTrack(), ResidualOutlierFinder::operator()(), ActsExamples::DigitizationConfigurator::operator()(), ActsExamples::selectLowestNonZeroGeometryObject(), ActsExamples::SpacePointMaker::SpacePointMaker(), ActsExamples::to_json(), sPHENIXActsDetectorElement::transform(), Acts::MappingMaterialDecorator::volumeLoop(), and ActsExamples::RootMaterialWriter::writeMaterial().
|
friend |
Definition at line 136 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 136 of file GeometryIdentifier.hpp
|
friend |
Definition at line 83 of file materialPlotHelper.hpp.
View newest version in sPHENIX GitHub at line 83 of file materialPlotHelper.hpp
|
friend |
Definition at line 140 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 140 of file GeometryIdentifier.hpp
|
friend |
Definition at line 79 of file materialPlotHelper.hpp.
View newest version in sPHENIX GitHub at line 79 of file materialPlotHelper.hpp
|
friend |
Definition at line 132 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 132 of file GeometryIdentifier.hpp
|
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().
|
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().
|
staticprivate |
(2^8)-1 = 255 approach surfaces
Definition at line 103 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 103 of file GeometryIdentifier.hpp
Referenced by approach(), passive(), setApproach(), and setPassive().
|
staticprivate |
(2^8)-1 = 255 boundaries
Definition at line 99 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 99 of file GeometryIdentifier.hpp
Referenced by boundary(), and setBoundary().
|
staticprivate |
(2^8)-1 = 255 extra values
Definition at line 108 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 108 of file GeometryIdentifier.hpp
Referenced by extra(), and setExtra().
|
staticprivate |
(2^12)-1 = 4095 layers
Definition at line 101 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 101 of file GeometryIdentifier.hpp
Referenced by layer(), and setLayer().
|
staticprivate |
Definition at line 104 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 104 of file GeometryIdentifier.hpp
|
staticprivate |
(2^20)-1 = 1048575 sensitive surfaces
Definition at line 106 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 106 of file GeometryIdentifier.hpp
Referenced by sensitive(), and setSensitive().
|
staticprivate |
(2^8)-1 = 255 volumes
Definition at line 97 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 97 of file GeometryIdentifier.hpp
Referenced by setVolume(), and volume().
|
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().
|
private |
Definition at line 111 of file GeometryIdentifier.hpp.
View newest version in sPHENIX GitHub at line 111 of file GeometryIdentifier.hpp
|
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().
|
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().