ATLAS Offline Software
IMuonNSWSegmentFinderTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_IMUONNSWSEGMENTFINDERTOOL_H
6 #define MUON_IMUONNSWSEGMENTFINDERTOOL_H
7 
8 #include <vector>
9 
10 #include "GaudiKernel/IAlgTool.h"
15 
16 
17 namespace Muon {
18 
19  class IMuonNSWSegmentFinderTool : virtual public IAlgTool {
20  public:
22  static const InterfaceID& interfaceID() {
23  static const InterfaceID IID_IMuonNSWSegmentFinderTool("Muon::IMuonNSWSegmentFinderTool", 1, 0);
24  return IID_IMuonNSWSegmentFinderTool;
25  }
26 
27  using MuonClusterPtr = std::unique_ptr<const Muon::MuonClusterOnTrack>;
28  using MuonClusterVec = std::vector<MuonClusterPtr>;
29 
33  std::vector<std::unique_ptr<Muon::MuonSegment>> constructedSegs{};
35  bool buildQuads{false};
37  std::vector<std::unique_ptr<Muon::MuonSegment>> quadSegs{};
39  std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>> inputClust{};
41  std::set<Identifier> usedHits{};
42 
43  };
44  virtual void find(const EventContext& ctx, SegmentMakingCache& cache) const = 0;
45 
46  virtual ~IMuonNSWSegmentFinderTool() = default;
47  };
48 
49 } // namespace Muon
50 
51 #endif
Muon::IMuonNSWSegmentFinderTool::MuonClusterVec
std::vector< MuonClusterPtr > MuonClusterVec
Definition: IMuonNSWSegmentFinderTool.h:28
Muon::IMuonNSWSegmentFinderTool::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMuonNSWSegmentFinderTool.h:22
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache::quadSegs
std::vector< std::unique_ptr< Muon::MuonSegment > > quadSegs
Output vector to which the quadruplet segments are pushed back.
Definition: IMuonNSWSegmentFinderTool.h:37
MuonPatternCombinationCollection.h
Muon::IMuonNSWSegmentFinderTool::~IMuonNSWSegmentFinderTool
virtual ~IMuonNSWSegmentFinderTool()=default
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache::buildQuads
bool buildQuads
Toggle whether quad segments should be built or not.
Definition: IMuonNSWSegmentFinderTool.h:35
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache::inputClust
std::vector< std::unique_ptr< const Muon::MuonClusterOnTrack > > inputClust
Input vector containing all muon cluster on track.
Definition: IMuonNSWSegmentFinderTool.h:39
Muon::IMuonNSWSegmentFinderTool
Definition: IMuonNSWSegmentFinderTool.h:19
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache::constructedSegs
std::vector< std::unique_ptr< Muon::MuonSegment > > constructedSegs
Output vector to which the constructed segments are pushed_back.
Definition: IMuonNSWSegmentFinderTool.h:33
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache
Helper struct to parse the data around.
Definition: IMuonNSWSegmentFinderTool.h:31
Muon::IMuonNSWSegmentFinderTool::MuonClusterPtr
std::unique_ptr< const Muon::MuonClusterOnTrack > MuonClusterPtr
Definition: IMuonNSWSegmentFinderTool.h:27
MuonSegment.h
MuonClusterOnTrack.h
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache::usedHits
std::set< Identifier > usedHits
Set of all hits used in the segment making.
Definition: IMuonNSWSegmentFinderTool.h:41
SegmentCollection.h
Muon::IMuonNSWSegmentFinderTool::find
virtual void find(const EventContext &ctx, SegmentMakingCache &cache) const =0