EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
build layers of one cylinder-endcap setup from DD4hep input More...
#include <acts/blob/sPHENIX/Plugins/DD4hep/include/Acts/Plugins/DD4hep/DD4hepLayerBuilder.hpp>
Classes | |
struct | Config |
Public Member Functions | |
DD4hepLayerBuilder (const Acts::DD4hepLayerBuilder::Config &config, std::unique_ptr< const Logger > logger) | |
~DD4hepLayerBuilder () override | |
Destructor. | |
const LayerVector | negativeLayers (const GeometryContext &gctx) const final |
const LayerVector | centralLayers (const GeometryContext &gctx) const final |
const LayerVector | positiveLayers (const GeometryContext &gctx) const final |
const std::string & | identification () const final |
void | setConfiguration (const Config &config) |
Config | getConfiguration () const |
get the configuration object | |
void | setLogger (std::unique_ptr< const Logger > logger) |
set logging instance | |
Public Member Functions inherited from Acts::ILayerBuilder | |
virtual | ~ILayerBuilder ()=default |
Virtual destructor. | |
Private Member Functions | |
const Logger & | logger () const |
Private access to the logger. | |
const LayerVector | endcapLayers (const GeometryContext &gctx, const std::vector< dd4hep::DetElement > &dendcapLayers, const std::string &side) const |
void | resolveSensitive (const dd4hep::DetElement &detElement, std::vector< std::shared_ptr< const Acts::Surface >> &surfaces) const |
std::shared_ptr< const Acts::Surface > | createSensitiveSurface (const dd4hep::DetElement &detElement, bool isDisc=false) const |
Acts::Transform3D | convertTransform (const TGeoMatrix *tGeoTrans) const |
Private Attributes | |
Config | m_cfg |
configruation object | |
std::unique_ptr< const Logger > | m_logger |
logging instance | |
build layers of one cylinder-endcap setup from DD4hep input
This class is an implementation of the Acts::ILayerBuilder, creating the central (layers of barrel), the negative and positive layers (layers of endcaps) of one hierarchy (e.g. PixelDetector, StripDetector,...) with input from DD4hep.
Definition at line 34 of file DD4hepLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 34 of file DD4hepLayerBuilder.hpp
Acts::DD4hepLayerBuilder::DD4hepLayerBuilder | ( | const Acts::DD4hepLayerBuilder::Config & | config, |
std::unique_ptr< const Logger > | logger | ||
) |
Constructor
config | is the configuration struct |
logger | is the logging instance |
Definition at line 36 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 36 of file DD4hepLayerBuilder.cpp
References setConfiguration().
|
overridedefault |
Destructor.
|
finalvirtual |
LayerBuilder interface method
gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 174 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 174 of file DD4hepLayerBuilder.cpp
References kdfinder::abs(), Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::addCylinderLayerProtoMaterial(), Acts::binR, Acts::binZ, Acts::UnitConstants::cm, Acts::CylinderLayer::create(), dz, Acts::ProtoLayer::envelope, Acts::ProtoLayer::extent, Acts::ActsExtension::getValue(), Acts::ActsExtension::hasValue(), Acts::ProtoLayer::max(), Acts::ProtoLayer::min(), Acts::Extent::ranges, thickness, and Acts::Test::transform.
|
private |
Definition at line 326 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 326 of file DD4hepLayerBuilder.cpp
References Acts::UnitConstants::cm, and Acts::TGeoPrimitivesHelper::makeTransform().
|
private |
Private helper function to create a sensitive surface from a given detector element
detElement | the DD4hep::DetElement of sensitive surface to be created |
isDisc | in case the sensitive detector module should be translated as disc (e.g. for endcaps) this flag should be set to true |
Definition at line 305 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 305 of file DD4hepLayerBuilder.cpp
References ACTS_WARNING, Acts::UnitConstants::cm, Acts::UnitConstants::e, Acts::Surface::getSharedPtr(), Acts::ActsExtension::getType(), and Acts::TGeoDetectorElement::surface().
|
private |
Private helper method to be called for endcap layers
gctx | the geometry context for this build call |
Definition at line 50 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 50 of file DD4hepLayerBuilder.cpp
References kdfinder::abs(), Acts::active, ACTS_ERROR, ACTS_VERBOSE, Acts::addDiscLayerProtoMaterial(), Acts::binR, Acts::binZ, Acts::UnitConstants::cm, Acts::DiscLayer::create(), Acts::ProtoLayer::envelope, Acts::ProtoLayer::extent, Acts::ActsExtension::getValue(), Acts::ActsExtension::hasValue(), Acts::ProtoLayer::max(), Acts::ProtoLayer::min(), Acts::Extent::ranges, boost::swap(), thickness, Acts::Test::transform, and z.
|
inline |
get the configuration object
Definition at line 170 of file DD4hepLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 170 of file DD4hepLayerBuilder.hpp
References m_cfg.
|
inlinefinalvirtual |
Name identification
Implements Acts::ILayerBuilder.
Definition at line 166 of file DD4hepLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 166 of file DD4hepLayerBuilder.hpp
References Acts::DD4hepLayerBuilder::Config::configurationName, and m_cfg.
|
inlineprivate |
Private access to the logger.
Definition at line 129 of file DD4hepLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 129 of file DD4hepLayerBuilder.hpp
References m_logger.
|
finalvirtual |
LayerBuilder interface method
gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 169 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 169 of file DD4hepLayerBuilder.cpp
|
finalvirtual |
LayerBuilder interface method
gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 283 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 283 of file DD4hepLayerBuilder.cpp
|
private |
Private helper function collecting all sensitive detector elements of a layer
gctx | the geometry context of this call |
detElement | the DD4hep::DetElement of the layer |
surfaces | the vector of surfaces which should be filled with the sensitive detector elements |
Definition at line 288 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 288 of file DD4hepLayerBuilder.cpp
void Acts::DD4hepLayerBuilder::setConfiguration | ( | const Config & | config | ) |
set the configuration object
config | is the configuration struct |
Definition at line 45 of file DD4hepLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 45 of file DD4hepLayerBuilder.cpp
References configureMap::config.
Referenced by DD4hepLayerBuilder().
void Acts::DD4hepLayerBuilder::setLogger | ( | std::unique_ptr< const Logger > | logger | ) |
set logging instance
|
private |
configruation object
Definition at line 123 of file DD4hepLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 123 of file DD4hepLayerBuilder.hpp
Referenced by getConfiguration(), and identification().
|
private |
logging instance
Definition at line 126 of file DD4hepLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 126 of file DD4hepLayerBuilder.hpp
Referenced by logger().