ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonSegmentMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_IMUONSEGMENTMAKER_H
6#define MUON_IMUONSEGMENTMAKER_H
7
8#include <vector>
9
10#include "GaudiKernel/IAlgTool.h"
13
14static const InterfaceID IID_IMuonSegmentMaker("Muon::IMuonSegmentMaker", 1, 0);
15
16namespace Trk {
17 class PrepRawData;
18 class RIO_OnTrack;
19 class TrackRoad;
20} // namespace Trk
21
22namespace Muon {
23
24 class MuonSegment;
27
69 class IMuonSegmentMaker : virtual public IAlgTool {
70 public:
72 static const InterfaceID& interfaceID();
73
79 virtual void find(const std::vector<const Trk::RIO_OnTrack*>& rios, Trk::SegmentCollection* segColl = nullptr) const = 0;
80
86 virtual void find(const std::vector<const Trk::RIO_OnTrack*>& rios1, const std::vector<const Trk::RIO_OnTrack*>& rios2) const = 0;
87
94 virtual void find(const std::vector<const MdtDriftCircleOnTrack*>& mdts, const std::vector<const MuonClusterOnTrack*>& clusters,
95 Trk::SegmentCollection* segColl = nullptr) const = 0;
96
110 virtual void find(const Amg::Vector3D& gpos, const Amg::Vector3D& gdir, const std::vector<const MdtDriftCircleOnTrack*>& mdts,
111 const std::vector<const MuonClusterOnTrack*>& clusters, bool updatePhi = false,
112 Trk::SegmentCollection* segColl = nullptr, double momentum = 1e9, double sinAngleCut = 0., double beta = 1.) const = 0;
113
128 virtual void find(const Trk::TrackRoad& road, const std::vector<std::vector<const MdtDriftCircleOnTrack*> >& mdts,
129 const std::vector<std::vector<const MuonClusterOnTrack*> >& clusters, Trk::SegmentCollection* segColl,
130 bool updatePhi = false, double momentum = 1e9) const = 0;
131 };
132
133 inline const InterfaceID& IMuonSegmentMaker::interfaceID() { return IID_IMuonSegmentMaker; }
134} // namespace Muon
135
136#endif // IMuonSegmentMaker_H
static const InterfaceID IID_IMuonSegmentMaker("Muon::IMuonSegmentMaker", 1, 0)
The IMuonSegmentFinder is a pure virtual interface for tools to find segments in the muon spectromete...
static const InterfaceID & interfaceID()
access to tool interface
virtual void find(const std::vector< const Trk::RIO_OnTrack * > &rios1, const std::vector< const Trk::RIO_OnTrack * > &rios2) const =0
find segments starting from two lists of Trk::RIO_OnTrack objects in two neighbouring chambers
virtual void find(const std::vector< const Trk::RIO_OnTrack * > &rios, Trk::SegmentCollection *segColl=nullptr) const =0
find segments starting from a list of Trk::RIO_OnTrack objects
virtual void find(const Amg::Vector3D &gpos, const Amg::Vector3D &gdir, const std::vector< const MdtDriftCircleOnTrack * > &mdts, const std::vector< const MuonClusterOnTrack * > &clusters, bool updatePhi=false, Trk::SegmentCollection *segColl=nullptr, double momentum=1e9, double sinAngleCut=0., double beta=1.) const =0
seeded segment search starting from a list of MdtDriftCircleOnTrack objects and a list of MuonCluster...
virtual void find(const std::vector< const MdtDriftCircleOnTrack * > &mdts, const std::vector< const MuonClusterOnTrack * > &clusters, Trk::SegmentCollection *segColl=nullptr) const =0
find segments starting from a list of MdtDriftCircleOnTrack objects and a list of MuonClusterOnTrack ...
virtual void find(const Trk::TrackRoad &road, const std::vector< std::vector< const MdtDriftCircleOnTrack * > > &mdts, const std::vector< std::vector< const MuonClusterOnTrack * > > &clusters, Trk::SegmentCollection *segColl, bool updatePhi=false, double momentum=1e9) const =0
seeded segment search starting from a list of MdtDriftCircleOnTrack objects and a list of MuonCluster...
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
Base class for Muon cluster RIO_OnTracks.
This is the common class for 3D segments used in the muon spectrometer.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
Encapsulates the information required by the find() method of the muon segment makers.
Definition TrackRoad.h:21
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.
DataVector< Trk::Segment > SegmentCollection