ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonRecToolInterfacesR4
MuonRecToolInterfacesR4
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.
16
#include "
GeoPrimitives/GeoPrimitives.h
"
17
18
#include "Acts/EventData/BoundTrackParameters.hpp"
19
20
#include "
xAODMuon/MuonSegmentContainer.h
"
21
22
#include <span>
23
24
namespace
MuonR4
{
25
class
MsTrackSeed
;
26
}
27
28
namespace
MuonR4
{
41
class
ITrackSeedingTool
:
virtual
public
IAlgTool {
42
public
:
44
virtual
~ITrackSeedingTool
() =
default
;
46
DeclareInterfaceID
(
MuonR4::ITrackSeedingTool
, 1, 0);
52
virtual
StatusCode
findTrackSeeds
(
const
EventContext& ctx,
53
std::vector<MsTrackSeed>& outSeeds)
const
= 0;
54
55
virtual
Acts::Result<Acts::BoundTrackParameters>
56
estimateStartParameters
(
const
EventContext& ctx,
57
const
MsTrackSeed
& seed)
const
= 0;
58
59
using
PosMomPair_t
= std::pair<Amg::Vector3D, Amg::Vector3D>;
60
61
virtual
double
estimateQtimesP
(
const
EventContext& ctx,
62
const
Amg::Vector3D
& planeNorm,
63
std::span<const PosMomPair_t> circlePoints)
const
= 0;
64
65
66
};
67
}
68
#endif
GeoPrimitives.h
MuonSegmentContainer.h
MuonR4::ITrackSeedingTool
Tool interface to construct TrackSeeds from the MuonSegmentContainer.
Definition
ITrackSeedingTool.h:41
MuonR4::ITrackSeedingTool::PosMomPair_t
std::pair< Amg::Vector3D, Amg::Vector3D > PosMomPair_t
Definition
ITrackSeedingTool.h:59
MuonR4::ITrackSeedingTool::findTrackSeeds
virtual StatusCode findTrackSeeds(const EventContext &ctx, std::vector< MsTrackSeed > &outSeeds) const =0
Retrieves the segment container from StoreGate and constructs TrackSeeds from them.
MuonR4::ITrackSeedingTool::~ITrackSeedingTool
virtual ~ITrackSeedingTool()=default
Default destructor.
MuonR4::ITrackSeedingTool::estimateQtimesP
virtual double estimateQtimesP(const EventContext &ctx, const Amg::Vector3D &planeNorm, std::span< const PosMomPair_t > circlePoints) const =0
MuonR4::ITrackSeedingTool::DeclareInterfaceID
DeclareInterfaceID(MuonR4::ITrackSeedingTool, 1, 0)
Declare the interface.
MuonR4::ITrackSeedingTool::estimateStartParameters
virtual Acts::Result< Acts::BoundTrackParameters > estimateStartParameters(const EventContext &ctx, const MsTrackSeed &seed) const =0
MuonR4::MsTrackSeed
Definition
MsTrackSeed.h:22
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
MuonR4
This header ties the generic definitions in this package.
Definition
GlobalPattern.h:14
Generated on
for ATLAS Offline Software by
1.17.0