EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::LayerArrayCreator Class Reference

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

+ Inheritance diagram for Acts::LayerArrayCreator:
+ Collaboration diagram for Acts::LayerArrayCreator:

Classes

struct  Config
 This struct stores the configuration of the tracking geometry. More...
 

Public Member Functions

 LayerArrayCreator (const Config &, std::unique_ptr< const Logger > logger=getDefaultLogger("LayerArrayCreator", Logging::INFO))
 
 ~LayerArrayCreator () override=default
 Destructor.
 
std::unique_ptr< const LayerArraylayerArray (const GeometryContext &gctx, const LayerVector &layersInput, double min, double max, BinningType bType=arbitrary, BinningValue bValue=binX) const override
 
void setLogger (std::unique_ptr< const Logger > logger)
 set logging instance
 
- Public Member Functions inherited from Acts::ILayerArrayCreator
virtual ~ILayerArrayCreator ()=default
 Virtual destructor.
 

Private Member Functions

const Loggerlogger () const
 Private access method to the logging instance.
 
std::shared_ptr< SurfacecreateNavigationSurface (const GeometryContext &gctx, const Layer &layer, BinningValue bValue, double offset) const
 

Private Attributes

std::unique_ptr< const Loggerm_logger = nullptr
 logging instance
 

Detailed Description

The LayerArrayCreator is a simple Tool that helps to construct LayerArrays from std::vector of Acts::CylinderLayer, Acts::DiscLayer, Acts::PlaneLayer.

It fills the gaps automatically with Acts::NavigationLayer to be processed easily in the Navigation of the Extrapolation process.

Definition at line 33 of file LayerArrayCreator.hpp.

View newest version in sPHENIX GitHub at line 33 of file LayerArrayCreator.hpp

Constructor & Destructor Documentation

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

Constructor

Parameters
loggerlogging instance

Definition at line 41 of file LayerArrayCreator.hpp.

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

Acts::LayerArrayCreator::~LayerArrayCreator ( )
overridedefault

Destructor.

Member Function Documentation

std::shared_ptr< Acts::Surface > Acts::LayerArrayCreator::createNavigationSurface ( const GeometryContext gctx,
const Layer layer,
BinningValue  bValue,
double  offset 
) const
private

Private helper method for creating a surface for the NavigationLayer, it clones the

Parameters
layerobject and thus needs the
gctxgeometry context.
bValueis the Binning value for the layer array
offsetis the sift for the navigation layer

Definition at line 173 of file LayerArrayCreator.cpp.

View newest version in sPHENIX GitHub at line 173 of file LayerArrayCreator.cpp

References ACTS_WARNING, Acts::binR, Acts::binX, Acts::binY, Acts::binZ, Acts::Surface::bounds(), Acts::Surface::Cylinder, Acts::Surface::Disc, Acts::CylinderBounds::eHalfLengthZ, Acts::CylinderBounds::eR, Acts::Test::gctx, Acts::CylinderBounds::get(), offset, Acts::PrimitivesView3DTest::plane, Acts::Surface::Plane, Acts::Layer::surfaceRepresentation(), Acts::Surface::transform(), and Acts::Surface::type().

Referenced by layerArray().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::unique_ptr< const Acts::LayerArray > Acts::LayerArrayCreator::layerArray ( const GeometryContext gctx,
const LayerVector layersInput,
double  min,
double  max,
BinningType  bType = arbitrary,
BinningValue  bValue = binX 
) const
overridevirtual

LayerArrayCreator interface method

Parameters
gctxist the geometry context for witch the array is built
layersInputare the layers to be moved into an array
minis the minimum value for binning
maxis the maximum value for binning
bTypeis the binning type
bValueis the value in which the binning should be done
Returns
unique pointer to a newly created LayerArray

Implements Acts::ILayerArrayCreator.

Definition at line 32 of file LayerArrayCreator.cpp.

View newest version in sPHENIX GitHub at line 32 of file LayerArrayCreator.cpp

References kdfinder::abs(), ACTS_ERROR, ACTS_VERBOSE, Acts::arbitrary, boundaries, Acts::NavigationLayer::create(), createNavigationSurface(), Acts::equidistant, G4TTL::layer, max, min, Acts::open, x, y, and z.

Referenced by Acts::CuboidVolumeBuilder::buildVolume(), and Acts::Test::CubicTrackingGeometry::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Private access method to the logging instance.

Definition at line 71 of file LayerArrayCreator.hpp.

View newest version in sPHENIX GitHub at line 71 of file LayerArrayCreator.hpp

References m_logger.

void Acts::LayerArrayCreator::setLogger ( std::unique_ptr< const Logger logger)
inline

set logging instance

Definition at line 65 of file LayerArrayCreator.hpp.

View newest version in sPHENIX GitHub at line 65 of file LayerArrayCreator.hpp

References m_logger.

Member Data Documentation

std::unique_ptr<const Logger> Acts::LayerArrayCreator::m_logger = nullptr
private

logging instance

Definition at line 74 of file LayerArrayCreator.hpp.

View newest version in sPHENIX GitHub at line 74 of file LayerArrayCreator.hpp

Referenced by logger(), and setLogger().


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