Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: External surfaces for GSF #3970

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions Core/include/Acts/TrackFitting/GaussianSumFitter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ struct GaussianSumFitter {
static_assert(std::is_same_v<Navigator, typename propagator_t::Navigator>);

// Initialize the forward propagation with the DirectNavigator
auto fwdPropInitializer = [this](const auto& opts) {
auto fwdPropInitializer = [&](const auto& opts) {
using Actors =
ActorList<GsfActor, EndOfWorldReached, NavigationBreakAborter>;
using PropagatorOptions = typename propagator_t::template Options<Actors>;
Expand All @@ -159,21 +159,31 @@ struct GaussianSumFitter {

propOptions.setPlainOptions(opts.propagatorPlainOptions);

for (auto it = begin; it != end; ++it) {
propOptions.navigation.insertExternalSurface(
options.extensions.surfaceAccessor(SourceLink{*it})->geometryId());
}

propOptions.actorList.template get<GsfActor>()
.m_cfg.bethe_heitler_approx = &m_betheHeitlerApproximation;

return propOptions;
};

// Initialize the backward propagation with the DirectNavigator
auto bwdPropInitializer = [this](const auto& opts) {
auto bwdPropInitializer = [&](const auto& opts) {
using Actors = ActorList<GsfActor, EndOfWorldReached>;
using PropagatorOptions = typename propagator_t::template Options<Actors>;

PropagatorOptions propOptions(opts.geoContext, opts.magFieldContext);

propOptions.setPlainOptions(opts.propagatorPlainOptions);

for (auto it = begin; it != end; ++it) {
propOptions.navigation.insertExternalSurface(
options.extensions.surfaceAccessor(SourceLink{*it})->geometryId());
}

propOptions.actorList.template get<GsfActor>()
.m_cfg.bethe_heitler_approx = &m_betheHeitlerApproximation;

Expand Down
Loading