Skip to content

Commit

Permalink
feat: Fully configurable layer envelopes (#1751)
Browse files Browse the repository at this point in the history
This PR is to allow for fully configure the CuboidVolumeBuilder to define the envelope of the various layers. 
Allowing Navigation layers to be wider than just the size of the sensitive surfaces can help with problems seen in issue 
#1596 to account for the fact that the Navigator will extrapolate linearly from the last state, not taking into account that the track will bend. This is only relevant in telescope geometries.
  • Loading branch information
pbutti committed Dec 19, 2022
1 parent 7a4286a commit cb90440
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 5 additions & 1 deletion Core/include/Acts/Geometry/CuboidVolumeBuilder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ class CuboidVolumeBuilder : public ITrackingVolumeBuilder {
size_t binsZ = 1;
// Envelope in X (along layer normal)
std::pair<double, double> envelopeX{0, 0};
// Envelope in Y
std::pair<double, double> envelopeY{0, 0};
// Envelope in Z
std::pair<double, double> envelopeZ{0, 0};
std::optional<RotationMatrix3> rotation{std::nullopt};
};

Expand Down Expand Up @@ -182,4 +186,4 @@ class CuboidVolumeBuilder : public ITrackingVolumeBuilder {
/// Configuration of the world volume
Config m_cfg;
};
} // namespace Acts
} // namespace Acts
2 changes: 2 additions & 0 deletions Core/src/Geometry/CuboidVolumeBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ std::shared_ptr<const Acts::Layer> Acts::CuboidVolumeBuilder::buildLayer(
LayerCreator layerCreator(lCfg);
ProtoLayer pl{gctx, cfg.surfaces};
pl.envelope[binX] = cfg.envelopeX;
pl.envelope[binY] = cfg.envelopeY;
pl.envelope[binZ] = cfg.envelopeZ;
return layerCreator.planeLayer(gctx, cfg.surfaces, cfg.binsY, cfg.binsZ,
BinningValue::binX, pl, trafo);
}
Expand Down

0 comments on commit cb90440

Please sign in to comment.