ATLAS Offline Software
Public Member Functions | Static Public Member Functions | List of all members
Muon::IMuonSegmentMaker Class Referenceabstract

The IMuonSegmentFinder is a pure virtual interface for tools to find segments in the muon spectrometer. More...

#include <IMuonSegmentMaker.h>

Inheritance diagram for Muon::IMuonSegmentMaker:
Collaboration diagram for Muon::IMuonSegmentMaker:

Public Member Functions

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 More...
 
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 More...
 
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 objects More...
 
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.) const =0
 seeded segment search starting from a list of MdtDriftCircleOnTrack objects and a list of MuonClusterOnTrack objects More...
 
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 MuonClusterOnTrack objects More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 access to tool interface More...
 

Detailed Description

The IMuonSegmentFinder is a pure virtual interface for tools to find segments in the muon spectrometer.

It provides several routines for the segment search. These routines have in common that they take a set of RIO_OnTrack objects as input and return a pointer to a vector of MuonSegment objects. The client calling the IMuonSegmentFinder is responsible for the memory management of the segments and should ensure that they get deleted before the end of the event.

Several interfaces are available, they can be divided into two categories:

It is recommended but not required that users implement all interfaces. Currently the following implementations of the interface exist:

Definition at line 69 of file IMuonSegmentMaker.h.

Member Function Documentation

◆ find() [1/5]

virtual void Muon::IMuonSegmentMaker::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. 
) const
pure virtual

seeded segment search starting from a list of MdtDriftCircleOnTrack objects and a list of MuonClusterOnTrack objects

Parameters
gposan estimate of the global position of the muon in the chamber
gdiran estimate of the global direction of the muon in the chamber
mdtsa vector of Muon::MdtDriftCircleOnTrack obejcts
clustersa vector of Muon::MuonClusterOnTrack obejcts
updatePhia boolean to indicate whether the external prediction should be used to set the \( \phi \)-direction of the segment
momentumfor low momentum tracks the segment finders may increase the errors on the measurements to allow for multiple scattering
segColla Trk::SegmentCollection to store the segments The ownership of the segments is passed to the SegmentCollection

◆ find() [2/5]

virtual void Muon::IMuonSegmentMaker::find ( const std::vector< const MdtDriftCircleOnTrack * > &  mdts,
const std::vector< const MuonClusterOnTrack * > &  clusters,
Trk::SegmentCollection segColl = nullptr 
) const
pure virtual

find segments starting from a list of MdtDriftCircleOnTrack objects and a list of MuonClusterOnTrack objects

Parameters
mdtsa vector of Muon::MdtDriftCircleOnTrack obejcts
clustersa vector of Muon::MuonClusterOnTrack obejcts
segColla Trk::SegmentCollection to store the segments The ownership of the segments is passed to the SegmentCollection

◆ find() [3/5]

virtual void Muon::IMuonSegmentMaker::find ( const std::vector< const Trk::RIO_OnTrack * > &  rios,
Trk::SegmentCollection segColl = nullptr 
) const
pure virtual

find segments starting from a list of Trk::RIO_OnTrack objects

Parameters
riosa vector of Trk::RIO_OnTrack objects
segColla Trk::SegmentCollection to store the segments The ownership of the segments is passed to the SegmentCollection

◆ find() [4/5]

virtual void Muon::IMuonSegmentMaker::find ( const std::vector< const Trk::RIO_OnTrack * > &  rios1,
const std::vector< const Trk::RIO_OnTrack * > &  rios2 
) const
pure virtual

find segments starting from two lists of Trk::RIO_OnTrack objects in two neighbouring chambers

Parameters
rios1a vector of Trk::RIO_OnTrack objects in the first chamber
rios2a vector of Trk::RIO_OnTrack objects in the second chamber Note: this interface is deprecated!

◆ find() [5/5]

virtual void Muon::IMuonSegmentMaker::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
pure virtual

seeded segment search starting from a list of MdtDriftCircleOnTrack objects and a list of MuonClusterOnTrack objects

Parameters
roadan estimate of the position and direction of the muon in the chamber
mdtsa vector of Muon::MdtDriftCircleOnTrack obejcts
clustersa vector of Muon::MuonClusterOnTrack obejcts
updatePhia boolean to indicate whether the external prediction should be used to set the \( \phi \)-direction of the segment
segCollif a Trk::SegmentCollection is passed (should be the case if segments will go into SG), store the segments in here directly
momentumfor low momentum tracks the segment finders may increase the errors on the measurements to allow for multiple scattering
segColla Trk::SegmentCollection to store the segments The ownership of the segments is passed to the SegmentCollection

◆ interfaceID()

const InterfaceID & Muon::IMuonSegmentMaker::interfaceID ( )
inlinestatic

access to tool interface

Definition at line 133 of file IMuonSegmentMaker.h.

133 { return IID_IMuonSegmentMaker; }

The documentation for this class was generated from the following file:
Trk::TrackRoad
Encapsulates the information required by the find() method of the muon segment makers.
Definition: TrackRoad.h:21
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
Muon::IMuonSegmentMaker::find
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