ATLAS Offline Software
Loading...
Searching...
No Matches
TriggerChamberClusterOnTrackCreator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
6#define MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
7
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ToolHandle.h"
12
15
16#include <list>
17#include <vector>
18#include <string>
19
20namespace Track
21{
22 class LocalParameters;
23 class Surface;
24}
25namespace Muon
26{
28
33{
34public:
35
36 TriggerChamberClusterOnTrackCreator(const std::string& type, const std::string& name, const IInterface* parent);
38
39 StatusCode initialize();
40
42 std::unique_ptr<CompetingMuonClustersOnTrack>
43 createBroadCluster(const std::list<const Trk::PrepRawData*>&,
44 const double) const;
45
46
47private:
48 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
49
50 ToolHandle<Muon::IMuonClusterOnTrackCreator> m_clusterCreator{this,"ClusterCreator","Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator"};
51
52 // configuration
54
55 // private methods
57 std::list<int>& limitingChannels,
58 std::list<const Muon::MuonClusterOnTrack*>& limitingRots) const;
59
60 std::vector<const Muon::MuonClusterOnTrack*> createPrdRots(
61 const std::list<const Trk::PrepRawData*>& prds) const;
62
64 std::list<int>& limitingChannels,
65 std::list<const Muon::MuonClusterOnTrack*>& limitingRots,
66 const std::list<const Trk::PrepRawData*>& prds,
67 const std::vector<const Muon::MuonClusterOnTrack*>& rots) const;
68
70 Trk::LocalParameters& parameters,
71 Amg::MatrixX& errorMatrix,
72 Trk::Surface*& surface,
73 std::list<int>& limitingChannels,
74 std::list<const Muon::MuonClusterOnTrack*>& limitingRots) const;
75};
76
77} // end of namespace
78
79#endif // MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Base class for Muon cluster RIO_OnTracks.
Interface for tools creating CompetingMuonClustersOnTrack objects.
void makeOverallParameters(Trk::LocalParameters &parameters, Amg::MatrixX &errorMatrix, Trk::Surface *&surface, std::list< int > &limitingChannels, std::list< const Muon::MuonClusterOnTrack * > &limitingRots) const
void applyClusterConsistency(std::list< int > &limitingChannels, std::list< const Muon::MuonClusterOnTrack * > &limitingRots) const
TriggerChamberClusterOnTrackCreator(const std::string &type, const std::string &name, const IInterface *parent)
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...
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_clusterCreator
std::vector< const Muon::MuonClusterOnTrack * > createPrdRots(const std::list< const Trk::PrepRawData * > &prds) const
void makeClustersBySurface(std::list< int > &limitingChannels, std::list< const Muon::MuonClusterOnTrack * > &limitingRots, const std::list< const Trk::PrepRawData * > &prds, const std::vector< const Muon::MuonClusterOnTrack * > &rots) const
virtual ~TriggerChamberClusterOnTrackCreator()=default
Abstract Base Class for tracking surfaces.
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.