ATLAS Offline Software
Loading...
Searching...
No Matches
TriggerChamberClusterOnTrackCreator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
6#define MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
7
8#include <list>
9#include <string>
10#include <vector>
11
13#include "GaudiKernel/ServiceHandle.h"
14#include "GaudiKernel/ToolHandle.h"
18
19namespace Track {
20class LocalParameters;
21class Surface;
22} // namespace Track
23namespace Muon {
25
31 : public extends<AthAlgTool, IMuonCompetingClustersOnTrackCreator> {
32 public:
33 using base_class::base_class;
35
36 StatusCode initialize();
37
40 std::unique_ptr<CompetingMuonClustersOnTrack> createBroadCluster(
41 const std::list<const Trk::PrepRawData*>&, const double) const;
42
43 private:
45 this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
46
47 ToolHandle<Muon::IMuonClusterOnTrackCreator> m_clusterCreator{
48 this, "ClusterCreator",
49 "Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator"};
50
51 Gaudi::Property<bool> m_chooseBroadestCluster{this, "ChooseBroadestCluster", true};
52
53 // private methods
55 std::list<int>& limitingChannels,
56 std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>>& limitingRots) const;
57
58 std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>> createPrdRots(
59 const std::list<const Trk::PrepRawData*>& prds) const;
60
62 std::list<int>& limitingChannels,
63 std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>>& limitingRots,
64 const std::list<const Trk::PrepRawData*>& prds,
65 const std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>>& rots) const;
66
68 Trk::LocalParameters& parameters, Amg::MatrixX& errorMatrix,
69 std::unique_ptr<Trk::Surface>& surface,
70 std::list<int>& limitingChannels,
71 std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>>& limitingRots) const;
72};
73
74} // namespace Muon
75
76#endif // MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
Base class for Muon cluster RIO_OnTracks.
Tool to cluster several trigger measurements in different gas-gaps of the same detector module.
void makeClustersBySurface(std::list< int > &limitingChannels, std::vector< std::unique_ptr< const Muon::MuonClusterOnTrack > > &limitingRots, const std::list< const Trk::PrepRawData * > &prds, const std::vector< std::unique_ptr< const Muon::MuonClusterOnTrack > > &rots) const
std::unique_ptr< CompetingMuonClustersOnTrack > createBroadCluster(const std::list< const Trk::PrepRawData * > &, const double) const
method to create a CompetingMuonClustersOnTrack using the PrepRawData hits and a scaled factor for th...
void makeOverallParameters(Trk::LocalParameters &parameters, Amg::MatrixX &errorMatrix, std::unique_ptr< Trk::Surface > &surface, std::list< int > &limitingChannels, std::vector< std::unique_ptr< const Muon::MuonClusterOnTrack > > &limitingRots) const
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_clusterCreator
void applyClusterConsistency(std::list< int > &limitingChannels, std::vector< std::unique_ptr< const Muon::MuonClusterOnTrack > > &limitingRots) const
std::vector< std::unique_ptr< const Muon::MuonClusterOnTrack > > createPrdRots(const std::list< const Trk::PrepRawData * > &prds) const
virtual ~TriggerChamberClusterOnTrackCreator()=default
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.