Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/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, const Transform3 &transform=Transform3::Identity(), 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, const Transform3 &transform=Transform3::Identity(), 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, const Transform3 &transform=Transform3::Identity(), 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, const Transform3 &transform=Transform3::Identity(), 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, const Transform3 &transform=Transform3::Identity(), 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 |
associate surfaces contained by this layer to this layer | |
Private Member Functions | |
bool | checkBinning (const GeometryContext &gctx, const SurfaceArray &sArray) const |
const Logger & | logger () const |
Private access 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 cylinder disc layers or plane layers from detector elements
Definition at line 40 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 40 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 38 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 38 of file LayerCreator.cpp
|
default |
Destructor.
void Acts::LayerCreator::associateSurfacesToLayer | ( | Layer & | layer | ) | const |
associate surfaces contained by this layer to this layer
Definition at line 409 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 409 of file LayerCreator.cpp
References Acts::Surface::associateLayer(), writeMapConfig::surface, Acts::Layer::surfaceArray(), and Acts::SurfaceArray::surfaces().
|
private |
Validates that all the sensitive surfaces are actually accessible through the binning
gctx | Geometry context to work with |
sArray | SurfaceArray instance to check |
Definition at line 420 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 420 of file LayerCreator.cpp
References ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::SurfaceArray::at(), KFPMath::b, Acts::binR, Acts::SurfaceArray::isValidBin(), Acts::VectorHelpers::perp(), ActsTests::PropagationDatasets::phi, size, 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 , |
||
const Transform3 & | transform = Transform3::Identity() , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a cylindrical layer
gctx | is 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 53 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 53 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::binPhi, Acts::binR, Acts::binZ, Acts::CylinderLayer::create(), Acts::ProtoLayer::envelope, m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::medium(), Acts::ProtoLayer::min(), testing::internal::move(), Acts::ProtoLayer::range(), and physmon_ckf_tracking::u.
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 , |
||
const Transform3 & | transform = Transform3::Identity() , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a cylindrical layer
gctx | is 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 125 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 125 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::binPhi, Acts::binR, Acts::binZ, Acts::CylinderLayer::create(), Acts::ProtoLayer::envelope, Acts::equidistant, m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::medium(), Acts::ProtoLayer::min(), testing::internal::move(), Acts::ProtoLayer::range(), and physmon_ckf_tracking::u.
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 , |
||
const Transform3 & | transform = Transform3::Identity() , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a disc layer
gctx | is 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 198 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 198 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::binPhi, Acts::binR, Acts::binZ, Acts::DiscLayer::create(), Acts::ProtoLayer::envelope, m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::medium(), Acts::ProtoLayer::min(), testing::internal::move(), Acts::ProtoLayer::range(), and physmon_ckf_tracking::u.
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 , |
||
const Transform3 & | transform = Transform3::Identity() , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a disc layer
gctx | is 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 262 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 262 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::binPhi, Acts::binR, Acts::binZ, Acts::DiscLayer::create(), Acts::ProtoLayer::envelope, m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::medium(), Acts::ProtoLayer::min(), testing::internal::move(), Acts::ProtoLayer::range(), and physmon_ckf_tracking::u.
|
inline |
Access th configuration object.
Definition at line 228 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 228 of file LayerCreator.hpp
References m_cfg.
|
inlineprivate |
Private access method to the logger.
Definition at line 222 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 222 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 , |
||
const Transform3 & | transform = Transform3::Identity() , |
||
std::unique_ptr< ApproachDescriptor > | ad = nullptr |
||
) | const |
returning a plane layer
gctx | is 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 323 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 323 of file LayerCreator.cpp
References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::binX, Acts::binY, Acts::binZ, Acts::PlaneLayer::create(), Acts::ProtoLayer::envelope, m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::min(), testing::internal::move(), and physmon_ckf_tracking::u.
void Acts::LayerCreator::setConfiguration | ( | const Config & | lcConfig | ) |
Set the configuration object
lcConfig | is the configuration struct |
Definition at line 42 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 42 of file LayerCreator.cpp
References m_cfg().
void Acts::LayerCreator::setLogger | ( | std::unique_ptr< const Logger > | newLogger | ) |
set logging instance
newLogger | the logger instance |
Definition at line 49 of file LayerCreator.cpp.
View newest version in sPHENIX GitHub at line 49 of file LayerCreator.cpp
References m_logger, and testing::internal::move().
|
private |
configuration object
Definition at line 219 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 219 of file LayerCreator.hpp
Referenced by getConfiguration().
|
private |
logging instance
Definition at line 225 of file LayerCreator.hpp.
View newest version in sPHENIX GitHub at line 225 of file LayerCreator.hpp
Referenced by logger().