Analysis Software
Documentation for sPHENIX simulation software
|
Material decorator using a map as input. More...
Public Types | |
using | BinningMap = std::map< uint64_t, std::pair< int, int >> |
using | VolumeMaterialMap = std::map< GeometryIdentifier, std::shared_ptr< const IVolumeMaterial >> |
Public Member Functions | |
MappingMaterialDecorator (const Acts::TrackingGeometry &tGeometry, Acts::Logging::Level level, bool clearSurfaceMaterial=true, bool clearVolumeMaterial=true) | |
void | decorate (Surface &surface) const final |
void | decorate (TrackingVolume &volume) const final |
void | volumeLoop (const Acts::TrackingVolume *tVolume) |
std::shared_ptr< const Acts::ISurfaceMaterial > | binnedSurfaceMaterial (const std::shared_ptr< const Acts::Surface > &surface) const |
BinningMap & | binningMap () |
Readonly access to the BinningMap. | |
void | setBinningMap (BinningMap binningMap) |
set the binning map | |
Public Member Functions inherited from Acts::IMaterialDecorator | |
virtual | ~IMaterialDecorator ()=default |
Virtual Destructor. | |
Private Member Functions | |
const Logger & | logger () const |
Private Attributes | |
BinningMap | m_binningMap |
VolumeMaterialMap | m_volumeMaterialMap |
bool | m_clearSurfaceMaterial {true} |
bool | m_clearVolumeMaterial {true} |
std::unique_ptr< const Logger > | m_logger |
Material decorator using a map as input.
This reads in map with binning information to decorate the detector with proto-material for material mapping. This allows us to change the mapping parameters directly in the C++ code. Takes a tracking geometry in input, all the surface with mapMaterial=true
will be added to a binning map.
Definition at line 37 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 37 of file MappingMaterialDecorator.hpp
using Acts::MappingMaterialDecorator::BinningMap = std::map<uint64_t, std::pair<int, int>> |
Definition at line 39 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 39 of file MappingMaterialDecorator.hpp
using Acts::MappingMaterialDecorator::VolumeMaterialMap = std::map<GeometryIdentifier, std::shared_ptr<const IVolumeMaterial>> |
Definition at line 42 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 42 of file MappingMaterialDecorator.hpp
|
inline |
Definition at line 44 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 44 of file MappingMaterialDecorator.hpp
References Acts::getDefaultLogger().
|
inline |
Add protomaterial to a surface bases on the binning map
surface | protomaterial will be added to |
Definition at line 174 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 174 of file MappingMaterialDecorator.hpp
References ACTS_ERROR, Acts::binPhi, Acts::binR, Acts::binX, Acts::binY, Acts::binZ, Acts::closed, Acts::RadialBounds::eAveragePhi, Acts::CylinderBounds::eAveragePhi, Acts::TrapezoidBounds::eHalfLengthXnegY, Acts::TrapezoidBounds::eHalfLengthXposY, Acts::TrapezoidBounds::eHalfLengthY, Acts::CylinderBounds::eHalfLengthZ, Acts::RadialBounds::eHalfPhiSector, Acts::CylinderBounds::eHalfPhiSector, Acts::AnnulusBounds::eMaxPhiRel, Acts::RectangleBounds::eMaxX, Acts::RectangleBounds::eMaxY, Acts::AnnulusBounds::eMinPhiRel, Acts::RectangleBounds::eMinX, Acts::RectangleBounds::eMinY, Acts::RadialBounds::get(), Acts::AnnulusBounds::get(), Acts::RectangleBounds::get(), Acts::CylinderBounds::get(), Acts::TrapezoidBounds::get(), m_binningMap, Acts::open, Acts::RadialBounds::rMax(), Acts::AnnulusBounds::rMax(), Acts::RadialBounds::rMin(), Acts::AnnulusBounds::rMin(), and Acts::s_epsilon.
Referenced by decorate().
|
inline |
Readonly access to the BinningMap.
Definition at line 266 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 266 of file MappingMaterialDecorator.hpp
References m_binningMap.
|
inlinefinalvirtual |
Decorate a surface
surface | the non-cost surface that is decorated |
Implements Acts::IMaterialDecorator.
Definition at line 57 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 57 of file MappingMaterialDecorator.hpp
References Acts::ACTS_VERBOSE(), binnedSurfaceMaterial(), bins, m_binningMap, m_clearSurfaceMaterial, and writeMapConfig::surface.
|
inlinefinalvirtual |
Decorate a TrackingVolume
volume | the non-cost volume that is decorated |
Implements Acts::IMaterialDecorator.
Definition at line 76 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 76 of file MappingMaterialDecorator.hpp
References Acts::ACTS_VERBOSE(), m_clearVolumeMaterial, and m_volumeMaterialMap.
|
inlineprivate |
Definition at line 283 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 283 of file MappingMaterialDecorator.hpp
References m_logger.
|
inline |
set the binning map
Definition at line 269 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 269 of file MappingMaterialDecorator.hpp
References m_binningMap, and testing::internal::move().
|
inline |
Loop over all subvolumes and there surfaces and add all the surface with protomaterial to the binning map.
volume | to be looped onto |
Definition at line 95 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 95 of file MappingMaterialDecorator.hpp
References Acts::BinnedArray< T >::arrayObjects(), Acts::TrackingVolume::boundarySurfaces(), Acts::TrackingVolume::confinedLayers(), Acts::TrackingVolume::confinedVolumes(), Acts::TrackingVolume::denseVolumes(), Acts::GeometryObject::geometryId(), m_binningMap, m_volumeMaterialMap, Acts::GeometryIdentifier::volume(), Acts::TrackingVolume::volumeMaterial(), Acts::TrackingVolume::volumeMaterialSharedPtr(), and volumes.
|
private |
Definition at line 274 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 274 of file MappingMaterialDecorator.hpp
Referenced by binnedSurfaceMaterial(), binningMap(), decorate(), setBinningMap(), and volumeLoop().
|
private |
Definition at line 278 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 278 of file MappingMaterialDecorator.hpp
Referenced by decorate().
|
private |
Definition at line 279 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 279 of file MappingMaterialDecorator.hpp
Referenced by decorate().
|
private |
Definition at line 281 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 281 of file MappingMaterialDecorator.hpp
Referenced by logger().
|
private |
Definition at line 276 of file MappingMaterialDecorator.hpp.
View newest version in sPHENIX GitHub at line 276 of file MappingMaterialDecorator.hpp
Referenced by decorate(), and volumeLoop().