ATLAS Offline Software
Loading...
Searching...
No Matches
ITrackSeedingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONRECTOOLINTERFACESR4_ITRACKSEEDINGTOOL_H
5#define MUONRECTOOLINTERFACESR4_ITRACKSEEDINGTOOL_H
6
7#include "GaudiKernel/IAlgTool.h"
8#include "GaudiKernel/EventContext.h"
9
10// Must be included before any header that pulls in <Eigen/Core> (e.g. Acts
11// below): it arms EIGEN_MATRIXBASE_PLUGIN/EIGEN_TRANSFORM_PLUGIN, which add
12// the Amg::Vector3D methods (mag(), unit(), perp(), ...) used throughout
13// this interface and its implementations. Eigen headers are include-guarded,
14// so if something else includes plain Eigen first, those methods silently
15// never exist for the rest of the translation unit.
17
18#include "Acts/EventData/BoundTrackParameters.hpp"
19
21
22#include <span>
23
24namespace MuonR4 {
25 class MsTrackSeed;
26}
27
28namespace MuonR4 {
41 class ITrackSeedingTool : virtual public IAlgTool {
42 public:
44 virtual ~ITrackSeedingTool() = default;
52 virtual StatusCode findTrackSeeds(const EventContext& ctx,
53 std::vector<MsTrackSeed>& outSeeds) const = 0;
58 virtual Acts::Result<Acts::BoundTrackParameters>
59 estimateStartParameters(const EventContext& ctx,
60 const MsTrackSeed& seed) const = 0;
61 };
62}
63#endif
Tool interface to construct TrackSeeds from the MuonSegmentContainer.
virtual StatusCode findTrackSeeds(const EventContext &ctx, std::vector< MsTrackSeed > &outSeeds) const =0
Retrieves the segment container from StoreGate and constructs TrackSeeds from them.
virtual ~ITrackSeedingTool()=default
Default destructor.
DeclareInterfaceID(MuonR4::ITrackSeedingTool, 1, 0)
Declare the interface.
virtual Acts::Result< Acts::BoundTrackParameters > estimateStartParameters(const EventContext &ctx, const MsTrackSeed &seed) const =0
Estimate the start track parameters for a given track seed.
This header ties the generic definitions in this package.