ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonSegmentFittingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_IMUONSEGMENTFITTINGTOOL_H
6#define MUON_IMUONSEGMENTFITTINGTOOL_H
7
8#include <vector>
9
11#include "GaudiKernel/IAlgTool.h"
13
14namespace Trk {
15 class PlaneSurface;
16 class LocalDirection;
17 class MeasurementBase;
18 class Track;
19} // namespace Trk
20
21namespace Muon {
22 class MuonSegment;
23}
24
25static const InterfaceID IID_IMuonSegmentFittingTool("Muon::IMuonSegmentFittingTool", 1, 0);
26
27namespace Muon {
28
30 class IMuonSegmentFittingTool : virtual public IAlgTool {
31 public:
33 static const InterfaceID& interfaceID();
34
36 virtual Trk::Track* fit(const Amg::Vector3D& gpos, const Amg::Vector3D& gdir, const Trk::PlaneSurface& surf,
37 const std::vector<const Trk::MeasurementBase*>& rioVec) const = 0;
38
40 virtual Trk::Track* fit(const MuonSegment& segment) const = 0;
41
43 virtual void updateSegmentParameters(const Trk::Track& track, const Trk::PlaneSurface& surf, Amg::Vector2D& segLocPos,
44 Trk::LocalDirection& segLocDir, Amg::MatrixX& locerr) const = 0;
45 };
46
48
49} // namespace Muon
50
51#endif
static const InterfaceID IID_IMuonSegmentFittingTool("Muon::IMuonSegmentFittingTool", 1, 0)
The IMuonSegmentMaker is a pure virtual interface for tools to find tracks starting from MuonSegmentC...
virtual Trk::Track * fit(const MuonSegment &segment) const =0
fit segment parameters + hits producing a track.
static const InterfaceID & interfaceID()
access to tool interface
virtual void updateSegmentParameters(const Trk::Track &track, const Trk::PlaneSurface &surf, Amg::Vector2D &segLocPos, Trk::LocalDirection &segLocDir, Amg::MatrixX &locerr) const =0
update the parameters of the segment using the track information
virtual Trk::Track * fit(const Amg::Vector3D &gpos, const Amg::Vector3D &gdir, const Trk::PlaneSurface &surf, const std::vector< const Trk::MeasurementBase * > &rioVec) const =0
fit segment parameters + hits producing a track.
This is the common class for 3D segments used in the muon spectrometer.
represents the three-dimensional global direction with respect to a planar surface frame.
This class is the pure abstract base class for all fittable tracking measurements.
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.