ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Geometry/LayerCreator.hpp>
Classes | |
struct | Config |
Public Member Functions | |
LayerCreator (const Config &lcConfig, std::unique_ptr< const Logger > logger=getDefaultLogger("LayerCreator", Logging::INFO)) | |
~LayerCreator ()=default | |
Destructor. | |
MutableLayerPtr | cylinderLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface >> surfaces, size_t binsPhi, size_t binsZ, std::optional< ProtoLayer > _protoLayer=std::nullopt, std::shared_ptr< const Transform3D > transform=nullptr, std::unique_ptr< ApproachDescriptor > ad=nullptr) const |
MutableLayerPtr | cylinderLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface >> surfaces, BinningType bTypePhi, BinningType bTypeZ, std::optional< ProtoLayer > _protoLayer=std::nullopt, std::shared_ptr< const Transform3D > transform=nullptr, std::unique_ptr< ApproachDescriptor > ad=nullptr) const |
MutableLayerPtr | discLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface >> surfaces, size_t binsR, size_t binsPhi, std::optional< ProtoLayer > _protoLayer=std::nullopt, std::shared_ptr< const Transform3D > transform=nullptr, std::unique_ptr< ApproachDescriptor > ad=nullptr) const |
MutableLayerPtr | discLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface >> surfaces, BinningType bTypeR, BinningType bTypePhi, std::optional< ProtoLayer > _protoLayer=std::nullopt, std::shared_ptr< const Transform3D > transform=nullptr, std::unique_ptr< ApproachDescriptor > ad=nullptr) const |
MutableLayerPtr | planeLayer (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface >> surfaces, size_t bins1, size_t bins2, BinningValue bValue, std::optional< ProtoLayer > _protoLayer=std::nullopt, std::shared_ptr< const Transform3D > transform=nullptr, std::unique_ptr< ApproachDescriptor > ad=nullptr) const |
void | setConfiguration (const Config &lcConfig) |
Config | getConfiguration () const |
Access th configuration object. | |
void | setLogger (std::unique_ptr< const Logger > newLogger) |
void | associateSurfacesToLayer (Layer &layer) const |
Private Member Functions | |
bool | checkBinning (const GeometryContext &gctx, const SurfaceArray &sArray) const |
const Logger & | logger () const |
Private acces method to the logger. | |
Private Attributes | |
Config | m_cfg |
configuration object | |
std::unique_ptr< const Logger > | m_logger |
logging instance | |
The LayerCreator is able to build cylinde,r disc layers or plane layers from detector elements
Definition at line 47 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 47 of file LayerCreator.hpp
Acts::LayerCreator::LayerCreator | ( | const Config & | lcConfig, |
std::unique_ptr< const Logger > | logger = getDefaultLogger("LayerCreator", Logging::INFO) |
||
) |
Constructor
lcConfig | is the configuration object |
logger | logging instance |
Definition at line 30 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 30 of file LayerCreator.cpp
|
default |
Destructor.
Definition at line 399 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 399 of file LayerCreator.cpp
References Acts::Surface::associateLayer(), surface(), Acts::Layer::surfaceArray(), and Acts::SurfaceArray::surfaces().
|
private |
Validates that all the sensitive surfaces are actually accessible through the binning
surfGrid | is the object grid from the surface array surfaces is the vector of sensitive surfaces |
Definition at line 410 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 410 of file LayerCreator.cpp
References ACTS_ERROR, ACTS_VERBOSE, Acts::SurfaceArray::at(), b, Acts::binR, Acts::SurfaceArray::isValidBin(), Acts::VectorHelpers::perp(), phi, Acts::SurfaceArray::size(), and Acts::SurfaceArray::surfaces().
Acts::MutableLayerPtr Acts::LayerCreator::cylinderLayer | ( | const GeometryContext & | gctx, |
std::vector< std::shared_ptr< const Surface >> | surfaces, | ||
size_t | binsPhi, | ||
size_t | binsZ, | ||
std::optional< ProtoLayer > | _protoLayer = std::nullopt , |
||
std::shared_ptr< const Transform3D > | transform = nullptr , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a cylindrical layer
gctx | ist the geometry context with which the geometry is built |
surfaces | is the vector of pointers to sensitive surfaces represented by this layer |
binsPhi | is number of bins the sensitive surfaces are ordered in phi |
binsZ | is number of bins the sensitive surfaces are ordered in Z |
_protoLayer | (optional) proto layer specifying the dimensions and envelopes |
transform | is the (optional) transform of the layer |
ad | possibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer |
Definition at line 45 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 45 of file LayerCreator.cpp
References kdfinder::abs(), Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::CylinderLayer::create(), Acts::ProtoLayer::envR, Acts::ProtoLayer::envZ, Acts::ProtoLayer::maxPhi, Acts::ProtoLayer::maxR, Acts::ProtoLayer::maxZ, Acts::ProtoLayer::minPhi, Acts::ProtoLayer::minR, and Acts::ProtoLayer::minZ.
Acts::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 , |
||
std::shared_ptr< const Transform3D > | transform = nullptr , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a cylindrical layer
gctx | ist the geometry context with which the geometry is built |
surfaces | is the vector of pointers to sensitive surfaces represented by this layer |
bTypePhi | binning type in phi (equidistant/arbitrary) |
bTypeZ | binning type in z (equidistant/arbitrary) |
_protoLayer | (optional) proto layer specifying the dimensions and envelopes |
transform | is the (optional) transform of the layer |
ad | possibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer |
Definition at line 120 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 120 of file LayerCreator.cpp
References kdfinder::abs(), Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::CylinderLayer::create(), Acts::ProtoLayer::envR, Acts::ProtoLayer::envZ, Acts::equidistant, Acts::ProtoLayer::maxPhi, Acts::ProtoLayer::maxR, Acts::ProtoLayer::maxZ, Acts::ProtoLayer::minPhi, Acts::ProtoLayer::minR, and Acts::ProtoLayer::minZ.
Acts::MutableLayerPtr Acts::LayerCreator::discLayer | ( | const GeometryContext & | gctx, |
std::vector< std::shared_ptr< const Surface >> | surfaces, | ||
size_t | binsR, | ||
size_t | binsPhi, | ||
std::optional< ProtoLayer > | _protoLayer = std::nullopt , |
||
std::shared_ptr< const Transform3D > | transform = nullptr , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a disc layer
gctx | ist the geometry context with which the geometry is built |
surfaces | is the vector of pointers to sensitive surfaces represented by this layer |
binsR | is number of bins the sensitive surfaces are ordered in R |
binsPhi | is number of bins the sensitive surfaces are ordered in Phi |
transform | is the (optional) transform of the layer |
_protoLayer | (optional) proto layer specifying the dimensions and envelopes |
ad | possibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer |
Definition at line 195 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 195 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::DiscLayer::create(), Acts::ProtoLayer::envR, Acts::ProtoLayer::envZ, Acts::ProtoLayer::maxPhi, Acts::ProtoLayer::maxR, Acts::ProtoLayer::maxZ, Acts::ProtoLayer::minPhi, Acts::ProtoLayer::minR, and Acts::ProtoLayer::minZ.
Acts::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 , |
||
std::shared_ptr< const Transform3D > | transform = nullptr , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a disc layer
gctx | ist the geometry context with which the geometry is built |
surfaces | is the vector of pointers to sensitive surfaces represented by this layer |
bTypeR | binning type in r (equidistant/arbitrary) |
bTypePhi | binning type in phi (equidistant/arbitrary) |
transform | is the (optional) transform of the layer |
_protoLayer | (optional) proto layer specifying the dimensions and envelopes |
ad | possibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer |
Definition at line 258 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 258 of file LayerCreator.cpp
References kdfinder::abs(), Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::DiscLayer::create(), Acts::ProtoLayer::envR, Acts::ProtoLayer::envZ, Acts::ProtoLayer::maxPhi, Acts::ProtoLayer::maxR, Acts::ProtoLayer::maxZ, Acts::ProtoLayer::minPhi, Acts::ProtoLayer::minR, and Acts::ProtoLayer::minZ.
|
inline |
Access th configuration object.
Definition at line 235 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 235 of file LayerCreator.hpp
References m_cfg.
|
inlineprivate |
Private acces method to the logger.
Definition at line 229 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 229 of file LayerCreator.hpp
References m_logger.
Acts::MutableLayerPtr Acts::LayerCreator::planeLayer | ( | const GeometryContext & | gctx, |
std::vector< std::shared_ptr< const Surface >> | surfaces, | ||
size_t | bins1, | ||
size_t | bins2, | ||
BinningValue | bValue, | ||
std::optional< ProtoLayer > | _protoLayer = std::nullopt , |
||
std::shared_ptr< const Transform3D > | transform = nullptr , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a plane layer
gctx | ist the geometry context with which the geometry is built | |
[in] | surfaces | is the vector of pointers to sensitive surfaces represented by this layer |
[in] | bins1 | is the number of bins in the orthogonal direction to bValue |
[in] | bins2 | is the number of bins in the orthogonal direction to bValue |
[in] | bValue | Direction of the aligned surfaces |
[in] | transform | is the (optional) transform of the layer |
[in] | _protoLayer | (optional) proto layer specifying the dimensions and envelopes |
[in] | ad | possibility to hand over a specific ApproachDescriptor, which is needed for material mapping. Otherwise the default ApproachDescriptor will be taken used for this layer |
Definition at line 318 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 318 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::binX, Acts::binY, Acts::PlaneLayer::create(), Acts::ProtoLayer::maxX, Acts::ProtoLayer::maxY, Acts::ProtoLayer::maxZ, Acts::ProtoLayer::minX, Acts::ProtoLayer::minY, and Acts::ProtoLayer::minZ.
Set the configuration object
lcConfig | is the configuration struct |
Definition at line 34 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 34 of file LayerCreator.cpp
set logging instance
newLogger | the logger instance |
Definition at line 41 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 41 of file LayerCreator.cpp
|
private |
configuration object
Definition at line 226 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 226 of file LayerCreator.hpp
Referenced by getConfiguration().
|
private |
logging instance
Definition at line 232 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 232 of file LayerCreator.hpp
Referenced by logger().