#include <StagedTrackingGeometryBuilder.h>
New Geometry builder that adapts to different layer setups
Only a few parameters are not automated:
- m_outwardsFraction: this defines how much you orient yourself on the next bigger layer if you wrap an outer volume around an inner 0.5 would lead to a boundary fully in bewteen
- at the outer boundary, 0. at the inner boundary
- Author
- Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch
Definition at line 44 of file StagedTrackingGeometryBuilder.h.
◆ StagedTrackingGeometryBuilder()
InDet::StagedTrackingGeometryBuilder::StagedTrackingGeometryBuilder |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~StagedTrackingGeometryBuilder()
virtual InDet::StagedTrackingGeometryBuilder::~StagedTrackingGeometryBuilder |
( |
| ) |
|
|
virtualdefault |
◆ geometrySignature()
|
inlinefinaloverridevirtual |
◆ initialize()
StatusCode InDet::StagedTrackingGeometryBuilder::initialize |
( |
| ) |
|
|
finaloverridevirtual |
◆ trackingGeometry()
TrackingGeometry Interface methods.
Definition at line 54 of file StagedTrackingGeometryBuilder.cxx.
59 ATH_MSG_DEBUG(
"[ Start building the ID TrackingGeometry. ]");
60 ATH_MSG_DEBUG(
"[ STEP 0 ] : Getting overal dimensions from DetectorEnvelope service." );
64 const RZPairVector& envelopeDefs = m_enclosingEnvelopeSvc->getInDetRZBoundary();
65 ATH_MSG_VERBOSE(
" -> retrieved Inner Detector envelope definitions at size " << envelopeDefs.size());
66 double envelopeVolumeRadius = envelopeDefs[1].first;
67 double envelopeVolumeHalfZ = fabs(envelopeDefs[1].
second);
68 ATH_MSG_VERBOSE(
" -> envelope R/Z defined as : " << envelopeVolumeRadius <<
" / " << envelopeVolumeHalfZ );
70 ATH_MSG_DEBUG(
"[ STEP 1 ] : Getting overal dimensions from the different layer builders." );
72 double maximumLayerExtendZ = 0.;
73 double maximumLayerRadius = 0.;
74 std::vector<InDet::LayerSetup> layerSetups;
77 ATH_MSG_DEBUG(
"[ LayerBuilder : '" << lProvider->identification() <<
"' ] being processed. " );
79 std::vector<Trk::Layer*> centralLayers = lProvider->centralLayers();
80 std::pair<const std::vector<Trk::Layer*>,
const std::vector<Trk::Layer*> > endcapLayersPair = lProvider->endcapLayer();
81 ATH_MSG_VERBOSE(
" -> retrieved " << centralLayers.size() <<
" central layers.");
82 ATH_MSG_VERBOSE(
" -> retrieved " << endcapLayersPair.second.size() <<
" layers on negative side.");
83 ATH_MSG_VERBOSE(
" -> retrieved " << endcapLayersPair.first.size() <<
" layers on positive side.");
86 estimateLayerSetup(lProvider->identification(),
88 endcapLayersPair.second,
90 endcapLayersPair.first,
97 layerSetups.push_back(lSetup);
101 ATH_MSG_VERBOSE(
" -> layer max R/Z defined as : " << maximumLayerRadius <<
" / " << maximumLayerExtendZ );
103 return trackingGeometryImpl(layerSetups, maximumLayerExtendZ,
104 maximumLayerRadius, envelopeVolumeHalfZ,
105 envelopeVolumeRadius);
◆ m_layerProviders
The documentation for this class was generated from the following files: