File indexing completed on 2026-09-19 08:48:22
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Geometry/GeometryContext.hpp"
0012 #include "Acts/MagneticField/MagneticFieldContext.hpp"
0013 #include "Acts/Utilities/CalibrationContext.hpp"
0014 #include "ActsPlugins/FpeMonitoring/FpeMonitor.hpp"
0015
0016 namespace ActsExamples {
0017
0018 class WhiteBoard;
0019
0020
0021 struct AlgorithmContext {
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 AlgorithmContext(std::size_t alg, std::size_t event, WhiteBoard& store,
0032 std::size_t thread)
0033 : algorithmNumber(alg),
0034 eventNumber(event),
0035 eventStore(store),
0036 threadId{thread} {}
0037
0038
0039 AlgorithmContext& operator++() {
0040 algorithmNumber += 1;
0041 return (*this);
0042 }
0043
0044 std::size_t algorithmNumber;
0045 std::size_t eventNumber;
0046 WhiteBoard& eventStore;
0047 Acts::GeometryContext geoContext{
0048 Acts::GeometryContext::
0049 dangerouslyDefaultConstruct()};
0050 Acts::MagneticFieldContext
0051 magFieldContext;
0052 Acts::CalibrationContext calibContext;
0053 std::size_t threadId;
0054
0055 ActsPlugins::FpeMonitor* fpeMonitor = nullptr;
0056 };
0057
0058 }