ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTrackSummaryHelperTool.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 MUONTRACKSUMMARYHELPERTOOL_H
6#define MUONTRACKSUMMARYHELPERTOOL_H
7
8#include <bitset>
9#include <string>
10#include <vector>
11
13#include "GaudiKernel/ServiceHandle.h"
14#include "GaudiKernel/ToolHandle.h"
26
27namespace Trk {
28 class RIO_OnTrack;
31} // namespace Trk
32
33namespace MuonGM {
35}
36
37namespace Muon {
38
39 class MuonTrackSummaryHelperTool : public extends<AthAlgTool, Trk::IExtendedTrackSummaryHelperTool> {
40 public:
41 MuonTrackSummaryHelperTool(const std::string&, const std::string&, const IInterface*);
42
43 virtual ~MuonTrackSummaryHelperTool() = default;
44
45 virtual StatusCode initialize() override;
46
47 using IExtendedTrackSummaryHelperTool::addDetailedTrackSummary;
48 using IExtendedTrackSummaryHelperTool::analyse;
49 virtual void analyse(const Trk::Track& trk, const Trk::RIO_OnTrack* rot, const Trk::TrackStateOnSurface* tsos,
50 std::vector<int>& information, std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const override final;
51
52 virtual void analyse(const Trk::Track& trk, const Trk::CompetingRIOsOnTrack* crot, const Trk::TrackStateOnSurface* tsos,
53 std::vector<int>& information, std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const override final;
54
55 virtual void searchForHoles(const Trk::Track& track, std::vector<int>& information,
56 Trk::ParticleHypothesis hyp) const override final;
57
58 virtual void addDetailedTrackSummary(const Trk::Track& track, Trk::TrackSummary& summary) const override final;
59
60 private:
63 bool isFirstProjection(const Identifier& id) const;
65
67 static void increment(int& type) ;
68
69 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
70
71 /* used to do hits-in-road search for straight tracks */
72 ToolHandle<Trk::IExtrapolator> m_slExtrapolator{this, "StaightLineExtrapolator", "Trk::Extrapolator/MuonStraightLineExtrapolator"};
73
74 /* used to do hits-in-road search */
75 ToolHandle<Trk::IExtrapolator> m_extrapolator{this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
76
78 Gaudi::Property<bool> m_calculateCloseHits{this, "CalculateCloseHits", false};
79
81 Gaudi::Property<double> m_roadWidth{this, "RoadWidth", 135., "width used to calculate hits within the road (mm)"};
82
84 SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_mdtKey{this, "MdtPrepDataContainer", "MDT_DriftCircles", "MDT PRDs"};
85
86 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey{this, "DetectorManagerKey", "MuonDetectorManager",
87 "Key of input MuonDetectorManager condition data"};
88 };
89} // namespace Muon
90#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Gaudi::Property< bool > m_calculateCloseHits
allow us to block the calculation of close hits
static void increment(int &type)
increment the 'type'
void calculateRoadHits(Trk::MuonTrackSummary::ChamberHitSummary &chamberHitSummary, const Trk::TrackParameters &pars) const
const MdtPrepDataCollection * findMdtPrdCollection(const Identifier &chId) const
virtual void addDetailedTrackSummary(const Trk::Track &track, Trk::TrackSummary &summary) const override final
void updateHoleContent(Trk::MuonTrackSummary::ChamberHitSummary &chamberHitSummary) const
MuonTrackSummaryHelperTool(const std::string &, const std::string &, const IInterface *)
ToolHandle< Trk::IExtrapolator > m_extrapolator
Gaudi::Property< double > m_roadWidth
width road use to associate close hits
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
bool isFirstProjection(const Identifier &id) const
virtual ~MuonTrackSummaryHelperTool()=default
ToolHandle< Trk::IExtrapolator > m_slExtrapolator
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual void analyse(const Trk::Track &trk, const Trk::RIO_OnTrack *rot, const Trk::TrackStateOnSurface *tsos, std::vector< int > &information, std::bitset< Trk::numberOfDetectorTypes > &hitPattern) const override final
virtual void searchForHoles(const Trk::Track &track, std::vector< int > &information, Trk::ParticleHypothesis hyp) const override final
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtKey
storegate key of MdtPrepDataContainer
Property holding a SG store/key/clid from which a ReadHandle is made.
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
represents the track state (measurement, material, fit parameters and quality) at a surface.
A summary of the information contained by a track.
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
MuonPrepDataCollection< MdtPrepData > MdtPrepDataCollection
Ensure that the ATLAS eigen extensions are properly loaded.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters
structure to hold information per chamber in the muon system