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

build layers of one cylinder-endcap setup from DD4hep input More...

#include <acts/blob/sPHENIX/Plugins/DD4hep/include/Acts/Plugins/DD4hep/DD4hepLayerBuilder.hpp>

+ Inheritance diagram for Acts::DD4hepLayerBuilder:
+ Collaboration diagram for Acts::DD4hepLayerBuilder:

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 Loggerlogger () 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 Loggerm_logger
 logging instance
 

Detailed Description

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

Constructor & Destructor Documentation

Acts::DD4hepLayerBuilder::DD4hepLayerBuilder ( const Acts::DD4hepLayerBuilder::Config config,
std::unique_ptr< const Logger logger 
)

Constructor

Parameters
configis the configuration struct
loggeris 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().

+ Here is the call graph for this function:

Acts::DD4hepLayerBuilder::~DD4hepLayerBuilder ( )
overridedefault

Destructor.

Member Function Documentation

const Acts::LayerVector Acts::DD4hepLayerBuilder::centralLayers ( const GeometryContext gctx) const
finalvirtual

LayerBuilder interface method

Parameters
gctxthe geometry context for this build call
Returns
the layers at the central sector

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.

+ Here is the call graph for this function:

Acts::Transform3D Acts::DD4hepLayerBuilder::convertTransform ( const TGeoMatrix *  tGeoTrans) const
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().

+ Here is the call graph for this function:

std::shared_ptr< const Acts::Surface > Acts::DD4hepLayerBuilder::createSensitiveSurface ( const dd4hep::DetElement &  detElement,
bool  isDisc = false 
) const
private

Private helper function to create a sensitive surface from a given detector element

Parameters
detElementthe DD4hep::DetElement of sensitive surface to be created
isDiscin 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().

+ Here is the call graph for this function:

const Acts::LayerVector Acts::DD4hepLayerBuilder::endcapLayers ( const GeometryContext gctx,
const std::vector< dd4hep::DetElement > &  dendcapLayers,
const std::string &  side 
) const
private

Private helper method to be called for endcap layers

Parameters
gctxthe geometry context for this build call
Returns
the layers for either endcap side

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.

+ Here is the call graph for this function:

DD4hepLayerBuilder::Config Acts::DD4hepLayerBuilder::getConfiguration ( ) const
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.

const std::string & Acts::DD4hepLayerBuilder::identification ( ) const
inlinefinalvirtual

Name identification

Returns
the string based identification of this configuration

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.

const Logger& Acts::DD4hepLayerBuilder::logger ( ) const
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.

const Acts::LayerVector Acts::DD4hepLayerBuilder::negativeLayers ( const GeometryContext gctx) const
finalvirtual

LayerBuilder interface method

Parameters
gctxthe geometry context for this build call
Returns
the layers at negative side

Implements Acts::ILayerBuilder.

Definition at line 169 of file DD4hepLayerBuilder.cpp.

View newest version in sPHENIX GitHub at line 169 of file DD4hepLayerBuilder.cpp

const Acts::LayerVector Acts::DD4hepLayerBuilder::positiveLayers ( const GeometryContext gctx) const
finalvirtual

LayerBuilder interface method

Parameters
gctxthe geometry context for this build call
Returns
the layers at positive side

Implements Acts::ILayerBuilder.

Definition at line 283 of file DD4hepLayerBuilder.cpp.

View newest version in sPHENIX GitHub at line 283 of file DD4hepLayerBuilder.cpp

void Acts::DD4hepLayerBuilder::resolveSensitive ( const dd4hep::DetElement &  detElement,
std::vector< std::shared_ptr< const Acts::Surface >> &  surfaces 
) const
private

Private helper function collecting all sensitive detector elements of a layer

Parameters
gctxthe geometry context of this call
detElementthe DD4hep::DetElement of the layer
surfacesthe 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

Parameters
configis 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().

+ Here is the caller graph for this function:

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

set logging instance

Member Data Documentation

Config Acts::DD4hepLayerBuilder::m_cfg
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().

std::unique_ptr<const Logger> Acts::DD4hepLayerBuilder::m_logger
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().


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