ATLAS Offline Software
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 
14 namespace Trk {
15  class PlaneSurface;
16  class LocalDirection;
17  class MeasurementBase;
18  class Track;
19 } // namespace Trk
20 
21 namespace Muon {
22  class MuonSegment;
23 }
24 
25 static const InterfaceID IID_IMuonSegmentFittingTool("Muon::IMuonSegmentFittingTool", 1, 0);
26 
27 namespace 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 
47  inline const InterfaceID& IMuonSegmentFittingTool::interfaceID() { return IID_IMuonSegmentFittingTool; }
48 
49 } // namespace Muon
50 
51 #endif
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Muon::IMuonSegmentFittingTool::updateSegmentParameters
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
Muon::IMuonSegmentFittingTool
The IMuonSegmentMaker is a pure virtual interface for tools to find tracks starting from MuonSegmentC...
Definition: IMuonSegmentFittingTool.h:30
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Muon::IMuonSegmentFittingTool::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMuonSegmentFittingTool.h:47
GeoPrimitives.h
Trk::LocalDirection
represents the three-dimensional global direction with respect to a planar surface frame.
Definition: LocalDirection.h:81
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::PlaneSurface
Definition: PlaneSurface.h:64
Muon::IMuonSegmentFittingTool::fit
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.
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::MuonSegment
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45
Muon::IMuonSegmentFittingTool::fit
virtual Trk::Track * fit(const MuonSegment &segment) const =0
fit segment parameters + hits producing a track.
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5