30 std::unique_ptr<const Logger>
logger)
42 std::unique_ptr<const Logger> newLogger) {
48 return endcapLayers(gctx, 1);
53 return endcapLayers(gctx, -1);
60 size_t numpnLayers =
m_cfg.posnegLayerPositionZ.size();
61 if (numpnLayers != 0
u) {
62 ACTS_DEBUG(
"Configured to build " << numpnLayers
63 <<
" passive layers on side :" << side);
64 eLayers.reserve(numpnLayers);
66 for (
size_t ipnl = 0; ipnl < numpnLayers; ++ipnl) {
70 <<
" at = " << side *
m_cfg.posnegLayerPositionZ.at(ipnl)
71 <<
" and rMin/rMax = " <<
m_cfg.posnegLayerRmin.at(ipnl)
72 <<
" / " <<
m_cfg.posnegLayerRmax.at(ipnl));
74 std::shared_ptr<const DiscBounds> dBounds =
75 std::make_shared<const RadialBounds>(
m_cfg.posnegLayerRmin.at(ipnl),
76 m_cfg.posnegLayerRmax.at(ipnl));
82 eTransform, dBounds,
nullptr,
m_cfg.posnegLayerThickness.at(ipnl));
85 std::shared_ptr<const ISurfaceMaterial>
material =
nullptr;
87 if (!
m_cfg.posnegLayerMaterial.empty()) {
89 material =
m_cfg.posnegLayerMaterial.at(ipnl);
91 eLayer->surfaceRepresentation().assignSurfaceMaterial(material);
94 eLayers.push_back(eLayer);
104 size_t numcLayers =
m_cfg.centralLayerRadii.size();
105 if (numcLayers != 0
u) {
106 ACTS_DEBUG(
"Configured to build " << numcLayers
107 <<
" passive central layers.");
108 cLayers.reserve(numcLayers);
110 for (
size_t icl = 0; icl < numcLayers; ++icl) {
114 <<
" with radius = " <<
m_cfg.centralLayerRadii.at(icl)
115 <<
" and halfZ = " <<
m_cfg.centralLayerHalflengthZ.at(icl));
117 auto cBounds = std::make_shared<const CylinderBounds>(
118 m_cfg.centralLayerRadii[icl],
m_cfg.centralLayerHalflengthZ.at(icl));
122 m_cfg.centralLayerThickness.at(icl));
124 std::shared_ptr<const ISurfaceMaterial>
material =
nullptr;
126 if (!
m_cfg.centralLayerMaterial.empty()) {
128 material =
m_cfg.centralLayerMaterial.at(icl);
130 cLayer->surfaceRepresentation().assignSurfaceMaterial(material);
133 cLayers.push_back(cLayer);