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
11#include "Acts/EventData/BoundTrackParameters.hpp"
12
14
15#include <span>
16
17namespace MuonR4 {
18 class MsTrackSeed;
19}
20
21namespace MuonR4 {
34 class ITrackSeedingTool : virtual public IAlgTool {
35 public:
37 virtual ~ITrackSeedingTool() = default;
45 virtual StatusCode findTrackSeeds(const EventContext& ctx,
46 std::vector<MsTrackSeed>& outSeeds) const = 0;
47
48 virtual Acts::Result<Acts::BoundTrackParameters>
49 estimateStartParameters(const EventContext& ctx,
50 const MsTrackSeed& seed) const = 0;
51
52 using PosMomPair_t = std::pair<Amg::Vector3D, Amg::Vector3D>;
53
54 virtual double estimateQtimesP(const EventContext& ctx,
55 const Amg::Vector3D& planeNorm,
56 std::span<const PosMomPair_t> circlePoints) const = 0;
57
58
59 };
60}
61#endif
Tool interface to construct TrackSeeds from the MuonSegmentContainer.
std::pair< Amg::Vector3D, Amg::Vector3D > PosMomPair_t
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.
virtual double estimateQtimesP(const EventContext &ctx, const Amg::Vector3D &planeNorm, std::span< const PosMomPair_t > circlePoints) const =0
DeclareInterfaceID(MuonR4::ITrackSeedingTool, 1, 0)
Declare the interface.
virtual Acts::Result< Acts::BoundTrackParameters > estimateStartParameters(const EventContext &ctx, const MsTrackSeed &seed) const =0
Eigen::Matrix< double, 3, 1 > Vector3D
This header ties the generic definitions in this package.