ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MuonIdentification
MuidInterfaces
MuidInterfaces
ICombinedMuonTrackBuilder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// ICombinedMuonTrackBuilder
7
// interface to build and fit a combined muon from input track(s)
8
// and/or MeasurementSet, gathering material effects along the
9
// track (in particular for the calorimeter).
10
//
12
13
#ifndef MUIDINTERFACES_ICOMBINEDMUONTRACKBUILDER_H
14
#define MUIDINTERFACES_ICOMBINEDMUONTRACKBUILDER_H
15
16
#include "GaudiKernel/IAlgTool.h"
17
#include "
TrkEventPrimitives/ParticleHypothesis.h
"
18
#include "
TrkFitterUtils/FitterTypes.h
"
19
#include "
TrkParameters/TrackParameters.h
"
20
21
namespace
Trk
{
22
class
Track
;
23
class
Vertex
;
24
}
// namespace Trk
25
26
namespace
Rec
{
27
29
36
class
ICombinedMuonTrackBuilder
:
virtual
public
IAlgTool {
37
public
:
39
virtual
~ICombinedMuonTrackBuilder
() =
default
;
40
42
static
const
InterfaceID&
interfaceID
() {
43
static
const
InterfaceID IID_ICombinedMuonTrackBuilder(
"ICombinedMuonTrackBuilder"
, 1, 0);
44
return
IID_ICombinedMuonTrackBuilder;
45
}
46
47
virtual
std::unique_ptr<Trk::Track>
combinedFit
(
const
EventContext& ctx,
48
const
Trk::Track
& indetTrack,
const
Trk::Track
& extrapolatedTrack,
49
const
Trk::Track
& spectrometerTrack)
const
= 0;
50
54
virtual
std::unique_ptr<Trk::Track>
indetExtension
(
const
EventContext& ctx,
55
const
Trk::Track
& indetTrack,
56
const
Trk::MeasurementSet
& spectrometerMeasurements,
57
std::unique_ptr<Trk::TrackParameters> innerParameters =
nullptr
,
58
std::unique_ptr<Trk::TrackParameters> middleParameters =
nullptr
,
59
std::unique_ptr<Trk::TrackParameters> outerParameters =
nullptr
)
const
= 0;
60
65
virtual
std::unique_ptr<Trk::Track>
standaloneFit
(
const
EventContext& ctx,
const
Trk::Track
& spectrometerTrack,
66
const
Amg::Vector3D
& bs,
const
Trk::Vertex
* vertex =
nullptr
)
const
= 0;
67
72
virtual
std::unique_ptr<Trk::Track>
standaloneRefit
(
const
EventContext& ctx,
const
Trk::Track
& combinedTrack,
const
Amg::Vector3D
& bs)
const
= 0;
73
74
};
75
76
}
// namespace Rec
77
78
#endif
// MUIDINTERFACES_ICOMBINEDMUONTRACKBUILDER_H
FitterTypes.h
ParticleHypothesis.h
TrackParameters.h
Rec::ICombinedMuonTrackBuilder
Interface ID for ICombinedMuonTrackBuilder.
Definition
ICombinedMuonTrackBuilder.h:36
Rec::ICombinedMuonTrackBuilder::~ICombinedMuonTrackBuilder
virtual ~ICombinedMuonTrackBuilder()=default
Virtual destructor.
Rec::ICombinedMuonTrackBuilder::standaloneFit
virtual std::unique_ptr< Trk::Track > standaloneFit(const EventContext &ctx, const Trk::Track &spectrometerTrack, const Amg::Vector3D &bs, const Trk::Vertex *vertex=nullptr) const =0
ICombinedMuonTrackBuilder interface : propagate to perigee adding calo energy-loss and material to MS...
Rec::ICombinedMuonTrackBuilder::interfaceID
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
Definition
ICombinedMuonTrackBuilder.h:42
Rec::ICombinedMuonTrackBuilder::indetExtension
virtual std::unique_ptr< Trk::Track > indetExtension(const EventContext &ctx, const Trk::Track &indetTrack, const Trk::MeasurementSet &spectrometerMeasurements, std::unique_ptr< Trk::TrackParameters > innerParameters=nullptr, std::unique_ptr< Trk::TrackParameters > middleParameters=nullptr, std::unique_ptr< Trk::TrackParameters > outerParameters=nullptr) const =0
ICombinedMuonTrackBuilder interface: build and fit indet track extended to include MS Measurement set...
Rec::ICombinedMuonTrackBuilder::combinedFit
virtual std::unique_ptr< Trk::Track > combinedFit(const EventContext &ctx, const Trk::Track &indetTrack, const Trk::Track &extrapolatedTrack, const Trk::Track &spectrometerTrack) const =0
ICombinedMuonTrackBuilder interface: build and fit combined ID/Calo/MS track.
Rec::ICombinedMuonTrackBuilder::standaloneRefit
virtual std::unique_ptr< Trk::Track > standaloneRefit(const EventContext &ctx, const Trk::Track &combinedTrack, const Amg::Vector3D &bs) const =0
ICombinedMuonTrackBuilder interface: refit a track removing any indet measurements with optional addi...
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::Vertex
This class is a simplest representation of a vertex candidate.
Definition
Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Rec
namespace for combined reconstruction tools and interfaces
Definition
FakeTrackBuilder.h:10
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::MeasurementSet
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
Definition
FitterTypes.h:30
Generated on
for ATLAS Offline Software by
1.17.0