ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::LayerCreator Class Reference

The LayerCreator is able to build cylinder disc layers or plane layers from detector elements. More...

#include <Acts/Geometry/LayerCreator.hpp>

Classes

struct  Config
 Configuration for the LayerCreator This is the nexted configuration struct for the LayerCreator class. More...

Public Member Functions

 LayerCreator (const Config &lcConfig, std::unique_ptr< const Logger > logger=getDefaultLogger("LayerCreator", Logging::INFO))
 Constructor.
void associateSurfacesToLayer (Layer &layer) const
 associate surfaces contained by this layer to this layer
MutableLayerPtr cylinderLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface > > surfaces, BinningType bTypePhi, BinningType bTypeZ, std::optional< ProtoLayer > _protoLayer=std::nullopt, const Transform3 &transform=Transform3::Identity(), std::unique_ptr< ApproachDescriptor > ad=nullptr) const
 returning a cylindrical layer
MutableLayerPtr cylinderLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface > > surfaces, std::size_t binsPhi, std::size_t binsZ, std::optional< ProtoLayer > _protoLayer=std::nullopt, const Transform3 &transform=Transform3::Identity(), std::unique_ptr< ApproachDescriptor > ad=nullptr) const
 returning a cylindrical layer
MutableLayerPtr discLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface > > surfaces, BinningType bTypeR, BinningType bTypePhi, std::optional< ProtoLayer > _protoLayer=std::nullopt, const Transform3 &transform=Transform3::Identity(), std::unique_ptr< ApproachDescriptor > ad=nullptr) const
 returning a disc layer
MutableLayerPtr discLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface > > surfaces, std::size_t binsR, std::size_t binsPhi, std::optional< ProtoLayer > _protoLayer=std::nullopt, const Transform3 &transform=Transform3::Identity(), std::unique_ptr< ApproachDescriptor > ad=nullptr) const
 returning a disc layer
Config getConfiguration () const
 Access th configuration object.
MutableLayerPtr planeLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface > > surfaces, std::size_t bins1, std::size_t bins2, AxisDirection aDir, std::optional< ProtoLayer > _protoLayer=std::nullopt, const Transform3 &transform=Transform3::Identity(), std::unique_ptr< ApproachDescriptor > ad=nullptr) const
 returning a plane layer
void setConfiguration (const Config &lcConfig)
 Set the configuration object.
void setLogger (std::unique_ptr< const Logger > newLogger)
 set logging instance

Detailed Description

The LayerCreator is able to build cylinder disc layers or plane layers from detector elements.

Constructor & Destructor Documentation

◆ LayerCreator()

Acts::LayerCreator::LayerCreator ( const Config & lcConfig,
std::unique_ptr< const Logger > logger = getDefaultLogger("LayerCreator", Logging::INFO) )
explicit

Constructor.

Parameters
lcConfigis the configuration object
loggerlogging instance

Member Function Documentation

◆ associateSurfacesToLayer()

void Acts::LayerCreator::associateSurfacesToLayer ( Layer & layer) const

associate surfaces contained by this layer to this layer

Parameters
layerLayer to associate surfaces with

◆ cylinderLayer() [1/2]

MutableLayerPtr Acts::LayerCreator::cylinderLayer ( const GeometryContext & gctx,
std::vector< std::shared_ptr< const Surface > > surfaces,
BinningType bTypePhi,
BinningType bTypeZ,
std::optional< ProtoLayer > _protoLayer = std::nullopt,
const Transform3 & transform = Transform3::Identity(),
std::unique_ptr< ApproachDescriptor > ad = nullptr ) const

returning a cylindrical layer

Parameters
gctxis the geometry context with which the geometry is built
surfacesis the vector of pointers to sensitive surfaces represented by this layer
Precondition
the pointers to the sensitive surfaces in the surfaces vectors all need to be valid, since no check is performed
Parameters
bTypePhibinning type in phi (equidistant/arbitrary)
bTypeZbinning type in z (equidistant/arbitrary)
_protoLayer(optional) proto layer specifying the dimensions and envelopes
transformis the (optional) transform of the layer
adpossibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer
Returns
shared pointer to a newly created layer

◆ cylinderLayer() [2/2]

MutableLayerPtr Acts::LayerCreator::cylinderLayer ( const GeometryContext & gctx,
std::vector< std::shared_ptr< const Surface > > surfaces,
std::size_t binsPhi,
std::size_t binsZ,
std::optional< ProtoLayer > _protoLayer = std::nullopt,
const Transform3 & transform = Transform3::Identity(),
std::unique_ptr< ApproachDescriptor > ad = nullptr ) const

returning a cylindrical layer

Parameters
gctxis the geometry context with which the geometry is built
surfacesis the vector of pointers to sensitive surfaces represented by this layer
Precondition
the pointers to the sensitive surfaces in the surfaces vectors all need to be valid, since no check is performed
Parameters
binsPhiis number of bins the sensitive surfaces are ordered in phi
binsZis number of bins the sensitive surfaces are ordered in Z
_protoLayer(optional) proto layer specifying the dimensions and envelopes
transformis the (optional) transform of the layer
adpossibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer
Returns
shared pointer to a newly created layer

◆ discLayer() [1/2]

MutableLayerPtr Acts::LayerCreator::discLayer ( const GeometryContext & gctx,
std::vector< std::shared_ptr< const Surface > > surfaces,
BinningType bTypeR,
BinningType bTypePhi,
std::optional< ProtoLayer > _protoLayer = std::nullopt,
const Transform3 & transform = Transform3::Identity(),
std::unique_ptr< ApproachDescriptor > ad = nullptr ) const

returning a disc layer

Parameters
gctxis the geometry context with which the geometry is built
surfacesis the vector of pointers to sensitive surfaces represented by this layer
Precondition
the pointers to the sensitive surfaces in the surfaces vectors all need to be valid, since no check is performed
Parameters
bTypeRbinning type in r (equidistant/arbitrary)
bTypePhibinning type in phi (equidistant/arbitrary)
transformis the (optional) transform of the layer
_protoLayer(optional) proto layer specifying the dimensions and envelopes
adpossibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer
Returns
shared pointer to a newly created layer

◆ discLayer() [2/2]

MutableLayerPtr Acts::LayerCreator::discLayer ( const GeometryContext & gctx,
std::vector< std::shared_ptr< const Surface > > surfaces,
std::size_t binsR,
std::size_t binsPhi,
std::optional< ProtoLayer > _protoLayer = std::nullopt,
const Transform3 & transform = Transform3::Identity(),
std::unique_ptr< ApproachDescriptor > ad = nullptr ) const

returning a disc layer

Parameters
gctxis the geometry context with which the geometry is built
surfacesis the vector of pointers to sensitive surfaces represented by this layer
Precondition
the pointers to the sensitive surfaces in the surfaces vectors all need to be valid, since no check is performed
Parameters
binsRis number of bins the sensitive surfaces are ordered in R
binsPhiis number of bins the sensitive surfaces are ordered in Phi
transformis the (optional) transform of the layer
_protoLayer(optional) proto layer specifying the dimensions and envelopes
adpossibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer
Returns
shared pointer to a newly created layer

◆ getConfiguration()

LayerCreator::Config Acts::LayerCreator::getConfiguration ( ) const

Access th configuration object.

Returns
Copy of the current configuration object

◆ planeLayer()

MutableLayerPtr Acts::LayerCreator::planeLayer ( const GeometryContext & gctx,
std::vector< std::shared_ptr< const Surface > > surfaces,
std::size_t bins1,
std::size_t bins2,
AxisDirection aDir,
std::optional< ProtoLayer > _protoLayer = std::nullopt,
const Transform3 & transform = Transform3::Identity(),
std::unique_ptr< ApproachDescriptor > ad = nullptr ) const

returning a plane layer

Parameters
gctxis the geometry context with which the geometry is built
[in]surfacesis the vector of pointers to sensitive surfaces represented by this layer
Precondition
the pointers to the sensitive surfaces in the surfaces vectors all need to be valid, since no check is performed
Parameters
[in]bins1is the number of bins in the orthogonal direction to bValue
[in]bins2is the number of bins in the orthogonal direction to bValue
[in]aDirDirection of the aligned surfaces
[in]transformis the (optional) transform of the layer
[in]_protoLayer(optional) proto layer specifying the dimensions and envelopes
[in]adpossibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer
Returns
shared pointer to a newly created layer

◆ setConfiguration()

void Acts::LayerCreator::setConfiguration ( const Config & lcConfig)

Set the configuration object.

Parameters
lcConfigis the configuration struct

◆ setLogger()

void Acts::LayerCreator::setLogger ( std::unique_ptr< const Logger > newLogger)

set logging instance

Parameters
newLoggerthe logger instance