ATLAS Offline Software
IMuonSeededSegmentFinder.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_IMUONSEEDEDSEGMENTFINDER
6 #define MUON_IMUONSEEDEDSEGMENTFINDER
7 
8 #include "GaudiKernel/IAlgTool.h"
9 #include "Identifier/Identifier.h"
18 // New Small Wheel
19 #include <set>
20 #include <vector>
21 
24 
25 static const InterfaceID IID_IMuonSeededSegmentFinder("Muon::IMuonSeededSegmentFinder", 1, 0);
26 
27 namespace Muon {
28  class MuonSegment;
29 }
30 
31 namespace Muon {
32 
34  class IMuonSeededSegmentFinder : virtual public IAlgTool {
35  public:
37  static const InterfaceID& interfaceID();
38 
40  virtual std::unique_ptr<Trk::SegmentCollection> find(const EventContext& ctx, const Trk::TrackParameters& pars, const std::set<Identifier>& chIds) const = 0;
41 
43  virtual std::unique_ptr<Trk::SegmentCollection> find(const EventContext& ctx, const Trk::TrackParameters& pars,
44  const std::set<IdentifierHash>& chIdHs) const = 0;
45 
47  virtual std::unique_ptr<Trk::SegmentCollection> find(const EventContext& ctx, const Trk::TrackParameters& pars,
48  const std::vector<const MdtPrepData*>& mdtPrds) const = 0;
49 
51  virtual void extractMdtPrdCols(const EventContext& ctx, const std::set<IdentifierHash>& chIdHs, std::vector<const MdtPrepDataCollection*>& target) const = 0;
52 
54  virtual void extractRpcPrdCols(const EventContext& ctx, const std::set<IdentifierHash>& chIdHs, std::vector<const RpcPrepDataCollection*>& target) const = 0;
55 
57  virtual void extractTgcPrdCols(const EventContext& ctx, const std::set<IdentifierHash>& chIdHs, std::vector<const TgcPrepDataCollection*>& target) const = 0;
58 
60  virtual void extractCscPrdCols(const std::set<IdentifierHash>& chIdHs, std::vector<const CscPrepDataCollection*>& target) const = 0;
61 
62  // New Small Wheel
64  virtual void extractsTgcPrdCols(const EventContext& ctx, const std::set<IdentifierHash>& chIdHs,
65  std::vector<const sTgcPrepDataCollection*>& target) const = 0;
66 
68  virtual void extractMMPrdCols(const std::set<IdentifierHash>& chIdHs, std::vector<const MMPrepDataCollection*>& target) const = 0;
69  };
70 
71  inline const InterfaceID& IMuonSeededSegmentFinder::interfaceID() { return IID_IMuonSeededSegmentFinder; }
72 
73 } // namespace Muon
74 
75 #endif
Muon::IMuonSeededSegmentFinder::find
virtual std::unique_ptr< Trk::SegmentCollection > find(const EventContext &ctx, const Trk::TrackParameters &pars, const std::vector< const MdtPrepData * > &mdtPrds) const =0
find segments in a set of MdtPrepData starting from seeding TrackParameters
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
Muon::IMuonSeededSegmentFinder::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMuonSeededSegmentFinder.h:71
TrackParameters.h
Muon::IMuonSeededSegmentFinder::extractsTgcPrdCols
virtual void extractsTgcPrdCols(const EventContext &ctx, const std::set< IdentifierHash > &chIdHs, std::vector< const sTgcPrepDataCollection * > &target) const =0
retrieve STGC PRD collections for the given hashes
Muon::IMuonSeededSegmentFinder::extractTgcPrdCols
virtual void extractTgcPrdCols(const EventContext &ctx, const std::set< IdentifierHash > &chIdHs, std::vector< const TgcPrepDataCollection * > &target) const =0
retrieve TGC PRD collections for the given hashes
Muon::IMuonSeededSegmentFinder
The IMuonSegmentMaker is a pure virtual interface for tools to find tracks starting from MuonSegmentC...
Definition: IMuonSeededSegmentFinder.h:34
MuonPrepDataContainer.h
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
RpcPrepDataCollection.h
Muon::IMuonSeededSegmentFinder::extractCscPrdCols
virtual void extractCscPrdCols(const std::set< IdentifierHash > &chIdHs, std::vector< const CscPrepDataCollection * > &target) const =0
retrieve CSC PRD collections for the given hashes
CscPrepDataCollection.h
MdtPrepDataCollection.h
MMPrepDataCollection.h
Muon::IMuonSeededSegmentFinder::extractMMPrdCols
virtual void extractMMPrdCols(const std::set< IdentifierHash > &chIdHs, std::vector< const MMPrepDataCollection * > &target) const =0
retrieve MM PRD collections for the given hashes
Muon::IMuonSeededSegmentFinder::extractRpcPrdCols
virtual void extractRpcPrdCols(const EventContext &ctx, const std::set< IdentifierHash > &chIdHs, std::vector< const RpcPrepDataCollection * > &target) const =0
retrieve RPC PRD collections for the given hashes
Trk::ParametersBase
Definition: ParametersBase.h:55
Muon::IMuonSeededSegmentFinder::find
virtual std::unique_ptr< Trk::SegmentCollection > find(const EventContext &ctx, const Trk::TrackParameters &pars, const std::set< Identifier > &chIds) const =0
find segments in a set of chambers starting from seeding TrackParameters
TgcPrepDataCollection.h
Muon::IMuonSeededSegmentFinder::extractMdtPrdCols
virtual void extractMdtPrdCols(const EventContext &ctx, const std::set< IdentifierHash > &chIdHs, std::vector< const MdtPrepDataCollection * > &target) const =0
retrieve MDT PRD collections for the given hashes
IdentifierHash.h
sTgcPrepDataCollection.h
COOLRates.target
target
Definition: COOLRates.py:1106
SegmentCollection.h
Muon::IMuonSeededSegmentFinder::find
virtual std::unique_ptr< Trk::SegmentCollection > find(const EventContext &ctx, const Trk::TrackParameters &pars, const std::set< IdentifierHash > &chIdHs) const =0
find segments in a set of chambers starting from seeding TrackParameters (version with Hashes)