ATLAS Offline Software
IMdtSegmentFinder.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_IMDTSEGMENTFINDER_H
6 #define MUON_IMDTSEGMENTFINDER_H
7 
8 #include "GaudiKernel/IAlgTool.h"
12 
13 namespace TrkDriftCircleMath {
14  class DCStatistics;
15  class ChamberGeometry;
16  class Road;
17 } // namespace TrkDriftCircleMath
18 
19 static const InterfaceID IID_IMdtSegmentFinder("Muon::IMdtSegmentFinder", 1, 0);
20 
21 namespace Muon {
22 
23  /*
24  @brief The IMdtSegmentFinder is an interface (pure virtual class) for accessing MDT segment finders.
25  Each segment finder is an AlgTool that is called by MDT segment maker tools, receives hit and road
26  information in station coordinates and returns segment candidates that the segment maker can fit
27  the hits to, perform other post processing tasks, and return them upstream.
28 
29  The interface consists of a single function, findSegments -
30 
31  @code
32  virtual SegCandVec* findSegments(DCVec &dcvec, CLVec &clvec, MdtMultiChamberGeometry &geometry, Road &road);
33  @endcode
34  */
35 
36  class IMdtSegmentFinder : virtual public IAlgTool {
37  public:
47  const TrkDriftCircleMath::CLVec& clvec, const TrkDriftCircleMath::Road& road,
48  const TrkDriftCircleMath::DCStatistics& dcstats,
49  const TrkDriftCircleMath::ChamberGeometry* geometry = 0) const = 0;
50 
52  static const InterfaceID& interfaceID() { return IID_IMdtSegmentFinder; }
53  };
54 
55 } // namespace Muon
56 
57 #endif // __IMDTSEGMENTFINDER_H__
TrkDriftCircleMath::ChamberGeometry
Definition: ChamberGeometry.h:17
TrkDriftCircleMath::CLVec
std::vector< Cluster > CLVec
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:70
TrkDriftCircleMath
Function object to check whether two Segments are sub/super sets or different.
Definition: IMdtSegmentFinder.h:13
DriftCircle.h
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::IMdtSegmentFinder
Definition: IMdtSegmentFinder.h:36
TrkDriftCircleMath::DCVec
std::vector< DriftCircle > DCVec
Definition: DriftCircle.h:117
Muon::IMdtSegmentFinder::findSegments
virtual const TrkDriftCircleMath::SegVec findSegments(const TrkDriftCircleMath::DCVec &dcvec, const TrkDriftCircleMath::CLVec &clvec, const TrkDriftCircleMath::Road &road, const TrkDriftCircleMath::DCStatistics &dcstats, const TrkDriftCircleMath::ChamberGeometry *geometry=0) const =0
find segments from Hits in a Muon Station
TrkDriftCircleMath::Road
TrkDriftCircleMath::Road - encodes the road given to the segment finder in station coordinates.
Definition: Road.h:15
LArG4GenerateShowerLib.geometry
geometry
Definition: LArG4GenerateShowerLib.py:19
Segment.h
Muon::IMdtSegmentFinder::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMdtSegmentFinder.h:52
TrkDriftCircleMath::SegVec
std::vector< Segment > SegVec
Definition: TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Segment.h:122
Cluster.h
TrkDriftCircleMath::DCStatistics
This class offers no functionality, but to define a standard device for the maker to transfer to the ...
Definition: DCStatistics.h:19