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

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

+ Inheritance diagram for Acts::KDTreeTrackingGeometryBuilder:
+ Collaboration diagram for Acts::KDTreeTrackingGeometryBuilder:

Classes

struct  Cache
 Private construction cache. More...
 
struct  Config
 Nested Configuration for this TrackingGeometryBuilder. More...
 

Public Types

using SurfaceKDT = KDTree< 2u, std::shared_ptr< Surface >, ActsScalar, std::array, 100 >
 

Public Member Functions

 KDTreeTrackingGeometryBuilder (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("KDTreeTrackingGeometryBuilder", Logging::INFO))
 
std::unique_ptr< const
TrackingGeometry
trackingGeometry (const GeometryContext &gctx) const final
 
- Public Member Functions inherited from Acts::ITrackingGeometryBuilder
virtual ~ITrackingGeometryBuilder ()=default
 Virtual destructor.
 

Private Member Functions

const Loggerlogger () const
 Private access method to the logger.
 
std::shared_ptr< TrackingVolumetranslateVolume (Cache &cCache, const GeometryContext &gctx, const SurfaceKDT &kdt, const ProtoVolume &ptVolume, const std::string &indent="") const
 
std::shared_ptr< const LayertranslateLayer (Cache &cCache, const GeometryContext &gctx, const SurfaceKDT &kdt, const ProtoVolume &plVolume, const std::string &indent="") const
 

Private Attributes

Config m_cfg
 Configuration member.
 
std::unique_ptr< const Loggerm_logger
 the logging instance
 

Detailed Description

A Tracking Geometry builder restricted to cylindrical geometries

It takes some helper tools and a vector of surface objects, together with a ProtoDetector description that is used to query a KDTree for contained surfaces in structures defined by the proto volume.

Definition at line 41 of file KDTreeTrackingGeometryBuilder.hpp.

View newest version in sPHENIX GitHub at line 41 of file KDTreeTrackingGeometryBuilder.hpp

Member Typedef Documentation

using Acts::KDTreeTrackingGeometryBuilder::SurfaceKDT = KDTree<2u, std::shared_ptr<Surface>, ActsScalar, std::array, 100>

Definition at line 61 of file KDTreeTrackingGeometryBuilder.hpp.

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

Constructor & Destructor Documentation

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

Constructor

Parameters
[in]cfgis the configuration struct for this builder
[in]loggerlogging instance

Definition at line 38 of file KDTreeTrackingGeometryBuilder.cpp.

View newest version in sPHENIX GitHub at line 38 of file KDTreeTrackingGeometryBuilder.cpp

References Acts::ProtoDetector::harmonize(), m_cfg, and Acts::KDTreeTrackingGeometryBuilder::Config::protoDetector.

+ Here is the call graph for this function:

Member Function Documentation

const Logger& Acts::KDTreeTrackingGeometryBuilder::logger ( ) const
inlineprivate

Private access method to the logger.

Definition at line 85 of file KDTreeTrackingGeometryBuilder.hpp.

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

References m_logger.

std::unique_ptr< const Acts::TrackingGeometry > Acts::KDTreeTrackingGeometryBuilder::trackingGeometry ( const GeometryContext gctx) const
finalvirtual

TrackingGeometry Interface method

Parameters
gctxgeometry context of that building call
Returns
a unique pointer to a TrackingGeometry

Implements Acts::ITrackingGeometryBuilder.

Definition at line 46 of file KDTreeTrackingGeometryBuilder.cpp.

View newest version in sPHENIX GitHub at line 46 of file KDTreeTrackingGeometryBuilder.cpp

References ACTS_INFO, Acts::binR, Acts::binZ, m_cfg(), testing::internal::move(), physmon_simulation::s, Acts::KDTreeTrackingGeometryBuilder::Cache::surfaceCounter, and physmon_ckf_tracking::u.

+ Here is the call graph for this function:

std::shared_ptr< const Acts::Layer > Acts::KDTreeTrackingGeometryBuilder::translateLayer ( Cache cCache,
const GeometryContext gctx,
const SurfaceKDT kdt,
const ProtoVolume plVolume,
const std::string &  indent = "" 
) const
private

Translate a layer volume

Parameters
cCacheis a cache used to extract the built detector elements
gctxis the current geometry context at building
kdtis the pre-filled kdt tree for the surface query
plVolumethe proto volume representation a layer to be translated
indentis a screen output indentation
Returns
a new tracking volume
a new tracking volume

Definition at line 152 of file KDTreeTrackingGeometryBuilder.cpp.

View newest version in sPHENIX GitHub at line 152 of file KDTreeTrackingGeometryBuilder.cpp

References ACTS_DEBUG, Acts::ACTS_VERBOSE(), Acts::binR, Acts::binZ, Acts::DiscLayer::create(), Acts::CylinderLayer::create(), Acts::ProtoLayer::envelope, Acts::Extent::envelope(), Acts::equidistant, Acts::ProtoVolume::extent, Acts::ProtoVolume::internal, m_cfg(), Acts::ProtoVolume::name, Acts::Extent::range(), Acts::KDTree< Dims, Type, Scalar, Vector, LeafSize >::rangeSearchWithKey(), physmon_simulation::s, writeMapConfig::surface, Acts::KDTreeTrackingGeometryBuilder::Cache::surfaceCounter, Acts::RangeXD< Dims, Type, Vector >::toString(), Acts::Test::transform, and physmon_ckf_tracking::u.

+ Here is the call graph for this function:

std::shared_ptr< Acts::TrackingVolume > Acts::KDTreeTrackingGeometryBuilder::translateVolume ( Cache cCache,
const GeometryContext gctx,
const SurfaceKDT kdt,
const ProtoVolume ptVolume,
const std::string &  indent = "" 
) const
private

Translate a proto tracking volume into a Acts::TrackingVolume

Parameters
cCacheis a cache used to extract the built detector elements
gctxis the current geometry context at building
kdtis the pre-filled kdt tree for the surface query
ptVolumethe proto volume to be translated
indentis a screen output indentation
Returns
a new tracking volume

Definition at line 79 of file KDTreeTrackingGeometryBuilder.cpp.

View newest version in sPHENIX GitHub at line 79 of file KDTreeTrackingGeometryBuilder.cpp

References ACTS_DEBUG, Acts::ACTS_VERBOSE(), ACTS_WARNING, Acts::binR, Acts::binZ, Acts::ProtoVolume::container, Acts::ProtoVolume::extent, m_cfg(), Acts::ProtoVolume::name, and Acts::Extent::range().

+ Here is the call graph for this function:

Member Data Documentation

Config Acts::KDTreeTrackingGeometryBuilder::m_cfg
private

Configuration member.

Definition at line 82 of file KDTreeTrackingGeometryBuilder.hpp.

View newest version in sPHENIX GitHub at line 82 of file KDTreeTrackingGeometryBuilder.hpp

Referenced by KDTreeTrackingGeometryBuilder().

std::unique_ptr<const Logger> Acts::KDTreeTrackingGeometryBuilder::m_logger
private

the logging instance

Definition at line 88 of file KDTreeTrackingGeometryBuilder.hpp.

View newest version in sPHENIX GitHub at line 88 of file KDTreeTrackingGeometryBuilder.hpp

Referenced by logger().


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