ATLAS Offline Software
Loading...
Searching...
No Matches
MuonEDMHelperSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_MuonEDMHelperSvc_H
6#define MUON_MuonEDMHelperSvc_H
7
9#include "GaudiKernel/ServiceHandle.h"
11
14
15#include <set>
16#include <string>
17
18namespace Trk {
19 class MeasurementBase;
20 class Track;
21 class IExtrapolator;
22}
23
24static const InterfaceID IID_MuonEDMHelperSvc("Muon::MuonEDMHelperSvc",1,0);
25
26namespace Muon {
27
28 class MuonSegment;
29
33 class MuonEDMHelperSvc : public extends<AthService, IMuonEDMHelperSvc> {
34 public:
36 MuonEDMHelperSvc(const std::string& name, ISvcLocator* svc);
37
39 virtual ~MuonEDMHelperSvc() override {};
40
42 virtual StatusCode initialize() override;
43
45 virtual Identifier getIdentifier( const Trk::MeasurementBase& meas ) const override;
46
48 virtual Identifier chamberId( const MuonSegment& seg ) const override;
49
51 virtual std::set<Identifier> chamberIds( const MuonSegment& seg ) const override;
52
54 virtual bool isEndcap( const MuonSegment& seg ) const override;
55
57 virtual bool isEndcap( const Trk::Track& seg ) const override;
58
60 virtual const Trk::AtaPlane* createTrackParameters( const MuonSegment& seg, double momentum = 1., double charge = 0. ) const override;
61
63 virtual bool goodTrack( const Trk::Track& track, double chi2Cut ) const override;
64
66 virtual bool isSLTrack( const Trk::Track& track ) const override;
67
68 private:
69 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
70
71 };
72
73}
74
75#endif
double charge(const T &p)
Definition AtlasPID.h:997
static const InterfaceID IID_MuonEDMHelperSvc("Muon::MuonEDMHelperSvc", 1, 0)
This is the common class for 3D segments used in the muon spectrometer.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual StatusCode initialize() override
initialize method, method taken from bass-class AlgTool
virtual std::set< Identifier > chamberIds(const MuonSegment &seg) const override
returns a set containing the chamber Ids of all MDT or CSC chambers on the segment
MuonEDMHelperSvc(const std::string &name, ISvcLocator *svc)
default AlgService constructor
virtual bool isSLTrack(const Trk::Track &track) const override
determines whether a track is a straight line track (no momentum fitted).
virtual bool isEndcap(const MuonSegment &seg) const override
returns whether the segment is in the endcap
virtual Identifier getIdentifier(const Trk::MeasurementBase &meas) const override
tries to get Identifier for measurement, if not possible it will return Identifier()
virtual const Trk::AtaPlane * createTrackParameters(const MuonSegment &seg, double momentum=1., double charge=0.) const override
brief create a AtaPlane track parameter for segment
virtual ~MuonEDMHelperSvc() override
destructor
virtual Identifier chamberId(const MuonSegment &seg) const override
returns the first MDT or CSC identifier of the segment
virtual bool goodTrack(const Trk::Track &track, double chi2Cut) const override
check whether track satisfies selection chi2 cut
This is the common class for 3D segments used in the muon spectrometer.
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
This class is the pure abstract base class for all fittable tracking measurements.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PlaneSurface > AtaPlane