File indexing completed on 2025-08-06 08:18:08
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "ActsExamples/Utilities/OptionsFwd.hpp"
0012
0013 #include <memory>
0014 #include <utility>
0015 #include <vector>
0016
0017 namespace Acts {
0018 class TrackingGeometry;
0019 class IMaterialDecorator;
0020 }
0021
0022 namespace ActsExamples {
0023 class IContextDecorator;
0024 }
0025
0026 namespace ActsExamples {
0027 class IBaseDetector {
0028 public:
0029 using ContextDecorators =
0030 std::vector<std::shared_ptr<ActsExamples::IContextDecorator>>;
0031 using TrackingGeometryPtr = std::shared_ptr<const Acts::TrackingGeometry>;
0032
0033 virtual ~IBaseDetector() = default;
0034 virtual void addOptions(
0035 boost::program_options::options_description& opt) const = 0;
0036
0037 virtual std::pair<TrackingGeometryPtr, ContextDecorators> finalize(
0038 const boost::program_options::variables_map& vm,
0039 std::shared_ptr<const Acts::IMaterialDecorator> mdecorator) = 0;
0040 };
0041 }