Analysis Software
Documentation for sPHENIX simulation 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::Transform3 convertTransform (const TGeoMatrix *tGeoTrans) const
 

Private Attributes

Config m_cfg
 configuration 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 41 of file DD4hepLayerBuilder.hpp.

View newest version in sPHENIX GitHub at line 41 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 52 of file DD4hepLayerBuilder.cpp.

View newest version in sPHENIX GitHub at line 52 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 235 of file DD4hepLayerBuilder.cpp.

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

References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::addCylinderLayerProtoMaterial(), Acts::binR, Acts::binZ, Acts::UnitConstants::cm, Acts::CylinderLayer::create(), dz, Acts::ProtoLayer::envelope, Acts::ProtoLayer::extent, Acts::eZ, Acts::getParams(), join(), logger(), m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::min(), testing::internal::move(), physmon_track_finding_ttbar::r, Acts::Extent::range(), Acts::Range1D< Type >::set(), Acts::Experimental::detail::BlueprintHelper::sort(), writeMapConfig::surface, thickness, to_string(), Acts::ProtoLayer::toStream(), Acts::Test::transform, testSigmaEff::v, and Acts::Logging::VERBOSE.

+ Here is the call graph for this function:

Acts::Transform3 Acts::DD4hepLayerBuilder::convertTransform ( const TGeoMatrix *  tGeoTrans) const
private

Definition at line 401 of file DD4hepLayerBuilder.cpp.

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

References Acts::UnitConstants::cm, Acts::TGeoPrimitivesHelper::makeTransform(), and translation().

+ 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 388 of file DD4hepLayerBuilder.cpp.

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

References Acts::UnitConstants::cm.

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
dendcapLayersVector of detector elements for the endcap layers
sideWhich endcap side it is
Returns
the layers for either endcap side

Definition at line 66 of file DD4hepLayerBuilder.cpp.

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

References Acts::active, ACTS_ERROR, Acts::ACTS_VERBOSE(), Acts::addDiscLayerProtoMaterial(), Acts::binR, Acts::binZ, Acts::UnitConstants::cm, Acts::DiscLayer::create(), Acts::ProtoLayer::envelope, Acts::ProtoLayer::extent, Acts::getParams(), join(), logger(), m_cfg(), Acts::ProtoLayer::max(), Acts::ProtoLayer::min(), testing::internal::move(), Acts::VectorHelpers::perp(), Acts::Extent::range(), Acts::Range1D< Type >::set(), Acts::Experimental::detail::BlueprintHelper::sort(), writeMapConfig::surface, swap(), thickness, to_string(), Acts::ProtoLayer::toStream(), Acts::Test::transform, testSigmaEff::v, Acts::Logging::VERBOSE, and physmon_track_finding_ttbar::z.

+ Here is the call graph for this function:

DD4hepLayerBuilder::Config Acts::DD4hepLayerBuilder::getConfiguration ( ) const
inline

get the configuration object

Definition at line 178 of file DD4hepLayerBuilder.hpp.

View newest version in sPHENIX GitHub at line 178 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 174 of file DD4hepLayerBuilder.hpp.

View newest version in sPHENIX GitHub at line 174 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 136 of file DD4hepLayerBuilder.hpp.

View newest version in sPHENIX GitHub at line 136 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 230 of file DD4hepLayerBuilder.cpp.

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

References m_cfg().

+ Here is the call graph for this function:

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 366 of file DD4hepLayerBuilder.cpp.

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

References m_cfg().

+ Here is the call graph for this function:

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
detElementthe DD4hep::DetElement of the layer
surfacesthe vector of surfaces which should be filled with the sensitive detector elements

Definition at line 371 of file DD4hepLayerBuilder.cpp.

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

References gtest_filter_unittest::child.

void Acts::DD4hepLayerBuilder::setConfiguration ( const Config config)

set the configuration object

Parameters
configis the configuration struct

Definition at line 61 of file DD4hepLayerBuilder.cpp.

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

References filter::config, and m_cfg().

Referenced by DD4hepLayerBuilder().

+ Here is the call graph for this function:

+ 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

configuration object

Definition at line 130 of file DD4hepLayerBuilder.hpp.

View newest version in sPHENIX GitHub at line 130 of file DD4hepLayerBuilder.hpp

Referenced by getConfiguration(), and identification().

std::unique_ptr<const Logger> Acts::DD4hepLayerBuilder::m_logger
private

logging instance

Definition at line 133 of file DD4hepLayerBuilder.hpp.

View newest version in sPHENIX GitHub at line 133 of file DD4hepLayerBuilder.hpp

Referenced by logger().


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