Analysis Software
Documentation for sPHENIX simulation software
|
This is a builder of layer structures to be contained within a DetectorVolume, it extends the IInternalStructureBuilder interface and provides the internal structure components of DetectorVolume objects to be constructed. More...
#include <acts/blob/sPHENIX/Core/include/Acts/Detector/LayerStructureBuilder.hpp>
Classes | |
struct | Config |
Configuration struct for the LayerStructureBuilder. More... | |
exception | SurfacesHolder |
A holder struct for surfaces. More... | |
Public Member Functions | |
LayerStructureBuilder (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("LayerStructureBuilder", Logging::INFO)) | |
InternalStructure | construct (const GeometryContext &gctx) const final |
Public Member Functions inherited from Acts::Experimental::IInternalStructureBuilder | |
virtual | ~IInternalStructureBuilder ()=default |
Private Member Functions | |
const Logger & | logger () const |
Private access method to the logger. | |
Private Attributes | |
Config | m_cfg |
configuration object | |
std::unique_ptr< const Logger > | m_logger |
logging instance | |
This is a builder of layer structures to be contained within a DetectorVolume, it extends the IInternalStructureBuilder interface and provides the internal structure components of DetectorVolume objects to be constructed.
It uses the IndexedSurfaceGrid to bin the internal surfaces, and allows for additional support surfaces that are added to the structure and indexing mechanism. Those support structures can also be approximated by planar surfaces, in order to facilitate vectorization of surface intersection calls.
The binning can be chosen with a so called expansion
, a number which indicates the configured expanded bin window in which the surfaces are going to be filled, the details to this strategy can be found in the IndexedGridFiller and IndexedSurfacesGenerator classes.
No sub volumes are added to this structure builders, hence, the DetectorVolumeFinder navigation delegate uses the "NoopFinder" breakpoint to indicate the bottom of the volume hierarchy.
Definition at line 55 of file LayerStructureBuilder.hpp.
View newest version in sPHENIX GitHub at line 55 of file LayerStructureBuilder.hpp
Acts::Experimental::LayerStructureBuilder::LayerStructureBuilder | ( | const Config & | cfg, |
std::unique_ptr< const Logger > | logger = getDefaultLogger( "LayerStructureBuilder", Logging::INFO) |
||
) |
Constructor
cfg | is the configuration struct |
logger | logging instance for screen output |
Definition at line 147 of file LayerStructureBuilder.cpp.
View newest version in sPHENIX GitHub at line 147 of file LayerStructureBuilder.cpp
References m_cfg, and Acts::Experimental::LayerStructureBuilder::Config::surfacesProvider.
|
finalvirtual |
The interface definition for internal structure creation
gctx | the geometry context at the creation of the internal structure |
Implements Acts::Experimental::IInternalStructureBuilder.
Definition at line 158 of file LayerStructureBuilder.cpp.
View newest version in sPHENIX GitHub at line 158 of file LayerStructureBuilder.cpp
References ACTS_DEBUG, Acts::ACTS_VERBOSE(), Acts::Experimental::detail::SupportHelper::addSupport(), Acts::Experimental::ProtoBinning::boundaryType, Acts::Extent::extend(), gctx, m_cfg(), testing::internal::move(), physmon_simulation::s, Acts::Surface::s_surfaceTypeNames, Acts::Experimental::tryAllPortalsAndSurfaces(), Acts::Experimental::tryNoVolumes(), and physmon_ckf_tracking::u.
|
inlineprivate |
Private access method to the logger.
Definition at line 115 of file LayerStructureBuilder.hpp.
View newest version in sPHENIX GitHub at line 115 of file LayerStructureBuilder.hpp
References m_logger.
|
private |
configuration object
Definition at line 112 of file LayerStructureBuilder.hpp.
View newest version in sPHENIX GitHub at line 112 of file LayerStructureBuilder.hpp
Referenced by LayerStructureBuilder().
|
private |
logging instance
Definition at line 118 of file LayerStructureBuilder.hpp.
View newest version in sPHENIX GitHub at line 118 of file LayerStructureBuilder.hpp
Referenced by logger().