Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Experimental::CylindricalContainerBuilder Class Reference

A dedicated container builder for cylindrical detector containers. More...

#include <acts/blob/sPHENIX/Core/include/Acts/Detector/CylindricalContainerBuilder.hpp>

+ Inheritance diagram for Acts::Experimental::CylindricalContainerBuilder:
+ Collaboration diagram for Acts::Experimental::CylindricalContainerBuilder:

Classes

struct  Config
 Nested configuration object. More...
 

Public Member Functions

 CylindricalContainerBuilder (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("CylindricalContainerBuilder", Logging::INFO))
 
 CylindricalContainerBuilder (const Acts::Experimental::Blueprint::Node &bpNode, Acts::Logging::Level logLevel=Acts::Logging::INFO)
 
DetectorComponent construct (const GeometryContext &gctx) const final
 
- Public Member Functions inherited from Acts::Experimental::IDetectorComponentBuilder
virtual ~IDetectorComponentBuilder ()=default
 

Private Member Functions

const Loggerlogger () const
 Private access method to the logger.
 

Private Attributes

Config m_cfg
 configuration object
 
std::unique_ptr< const Loggerm_logger
 logging instance
 

Detailed Description

A dedicated container builder for cylindrical detector containers.

It relies on the detailed implementation of the CylindricalDetectorHelper and allows for DetectorVolume attachment in z/r/phi, such as wrapping of bevelled cylinder objects in z/r

There exists an option to create this container builder (recursively) from a blueprint tree, which attempts to fill in the gap volumes accordingly.

Note
the builder expects a fully consistent set of sub volume builders that will be executed in a chain
allowed BinningValue(s) for the cylindrical container builder are {binZ}, {binR}, {binPhi}, {binZ, binR}, whereas the last option indicates a wrapping setup.

Definition at line 44 of file CylindricalContainerBuilder.hpp.

View newest version in sPHENIX GitHub at line 44 of file CylindricalContainerBuilder.hpp

Constructor & Destructor Documentation

Acts::Experimental::CylindricalContainerBuilder::CylindricalContainerBuilder ( const Config cfg,
std::unique_ptr< const Logger logger = getDefaultLogger("CylindricalContainerBuilder", Logging::INFO) 
)

Constructor with configuration struct

Parameters
cfgis the configuration struct
loggerlogging instance for screen output

Definition at line 84 of file CylindricalContainerBuilder.cpp.

View newest version in sPHENIX GitHub at line 84 of file CylindricalContainerBuilder.cpp

References KFPMath::b, Acts::Experimental::CylindricalContainerBuilder::Config::binning, Acts::binPhi, Acts::binR, Acts::binZ, Acts::Experimental::CylindricalContainerBuilder::Config::builders, m_cfg, and physmon_ckf_tracking::u.

Acts::Experimental::CylindricalContainerBuilder::CylindricalContainerBuilder ( const Acts::Experimental::Blueprint::Node bpNode,
Acts::Logging::Level  logLevel = Acts::Logging::INFO 
)

Constructor from blueprint and logging level

It will create recursively the builders of sub volumes

Parameters
bpNodeis the entry blue print node
logLevelis the logging output level for the builder tools
Note
no checking is being done on consistency of the blueprint, it is assumed it has passed first through gap filling via the blueprint helper.
that the naming of the builders is taken from the bluprint nodes
Returns
a cylindrical container builder representing this blueprint

Definition at line 119 of file CylindricalContainerBuilder.cpp.

View newest version in sPHENIX GitHub at line 119 of file CylindricalContainerBuilder.cpp

References Acts::Experimental::VolumeStructureBuilder::Config::auxiliary, Acts::Experimental::CylindricalContainerBuilder::Config::auxiliary, Acts::Experimental::CylindricalContainerBuilder::Config::binning, Acts::Experimental::Blueprint::Node::binning, Acts::Experimental::VolumeStructureBuilder::Config::boundsType, Acts::Experimental::Blueprint::Node::boundsType, Acts::Experimental::VolumeStructureBuilder::Config::boundValues, Acts::Experimental::CylindricalContainerBuilder::Config::builders, gtest_filter_unittest::child, Acts::Experimental::Blueprint::Node::children, Acts::Experimental::CylindricalContainerBuilder::Config::geoIdGenerator, Acts::Experimental::Blueprint::Node::geoIdGenerator, Acts::getDefaultLogger(), m_cfg, Acts::Experimental::DetectorVolumeBuilder::Config::name, Acts::Experimental::CylindricalContainerBuilder::Config::rootVolumeFinderBuilder, Acts::Experimental::Blueprint::Node::rootVolumeFinderBuilder, and Acts::Experimental::VolumeStructureBuilder::Config::transform.

+ Here is the call graph for this function:

Member Function Documentation

Acts::Experimental::DetectorComponent Acts::Experimental::CylindricalContainerBuilder::construct ( const GeometryContext gctx) const
finalvirtual

The final implementation of the cylindrical container builder

Parameters
gctxThe geometry context for this call
Returns
an outgoing detector component

Implements Acts::Experimental::IDetectorComponentBuilder.

Definition at line 164 of file CylindricalContainerBuilder.cpp.

View newest version in sPHENIX GitHub at line 164 of file CylindricalContainerBuilder.cpp

References ACTS_DEBUG, Acts::ACTS_VERBOSE(), physmon_simulation::level, logger(), m_cfg(), Acts::Experimental::tryRootVolumes(), physmon_ckf_tracking::u, testSigmaEff::v, and volumes.

+ Here is the call graph for this function:

const Logger& Acts::Experimental::CylindricalContainerBuilder::logger ( ) const
inlineprivate

Private access method to the logger.

Definition at line 102 of file CylindricalContainerBuilder.hpp.

View newest version in sPHENIX GitHub at line 102 of file CylindricalContainerBuilder.hpp

References m_logger.

Member Data Documentation

Config Acts::Experimental::CylindricalContainerBuilder::m_cfg
private

configuration object

Definition at line 99 of file CylindricalContainerBuilder.hpp.

View newest version in sPHENIX GitHub at line 99 of file CylindricalContainerBuilder.hpp

Referenced by CylindricalContainerBuilder().

std::unique_ptr<const Logger> Acts::Experimental::CylindricalContainerBuilder::m_logger
private

logging instance

Definition at line 105 of file CylindricalContainerBuilder.hpp.

View newest version in sPHENIX GitHub at line 105 of file CylindricalContainerBuilder.hpp

Referenced by logger().


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