ATLAS Offline Software
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 
18 namespace Trk {
19  class MeasurementBase;
20  class Track;
21  class IExtrapolator;
22 }
23 
24 static const InterfaceID IID_MuonEDMHelperSvc("Muon::MuonEDMHelperSvc",1,0);
25 
26 namespace 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
TrackParameters.h
Muon::MuonEDMHelperSvc::MuonEDMHelperSvc
MuonEDMHelperSvc(const std::string &name, ISvcLocator *svc)
default AlgService constructor
Definition: MuonEDMHelperSvc.cxx:24
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
Muon::MuonEDMHelperSvc::initialize
virtual StatusCode initialize() override
initialize method, method taken from bass-class AlgTool
Definition: MuonEDMHelperSvc.cxx:25
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Muon::MuonEDMHelperSvc::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonEDMHelperSvc.h:69
Muon::MuonEDMHelperSvc::getIdentifier
virtual Identifier getIdentifier(const Trk::MeasurementBase &meas) const override
tries to get Identifier for measurement, if not possible it will return Identifier()
Definition: MuonEDMHelperSvc.cxx:31
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
Muon::MuonEDMHelperSvc
Helper tool containing functionality needed by multiple tools.
Definition: MuonEDMHelperSvc.h:33
Muon::MuonEDMHelperSvc::~MuonEDMHelperSvc
virtual ~MuonEDMHelperSvc() override
destructor
Definition: MuonEDMHelperSvc.h:39
Trk::MeasurementBase
Definition: MeasurementBase.h:58
IMuonEDMHelperSvc.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
charge
double charge(const T &p)
Definition: AtlasPID.h:494
Muon::MuonEDMHelperSvc::chamberIds
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
Definition: MuonEDMHelperSvc.cxx:72
Muon::MuonEDMHelperSvc::chamberId
virtual Identifier chamberId(const MuonSegment &seg) const override
returns the first MDT or CSC identifier of the segment
Definition: MuonEDMHelperSvc.cxx:50
AthService.h
Muon::MuonEDMHelperSvc::isSLTrack
virtual bool isSLTrack(const Trk::Track &track) const override
determines whether a track is a straight line track (no momentum fitted).
Definition: MuonEDMHelperSvc.cxx:152
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::MuonSegment
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45
Muon::MuonEDMHelperSvc::goodTrack
virtual bool goodTrack(const Trk::Track &track, double chi2Cut) const override
check whether track satisfies selection chi2 cut
Definition: MuonEDMHelperSvc.cxx:139
Muon::MuonEDMHelperSvc::isEndcap
virtual bool isEndcap(const MuonSegment &seg) const override
returns whether the segment is in the endcap
Definition: MuonEDMHelperSvc.cxx:97
Muon::MuonEDMHelperSvc::createTrackParameters
virtual const Trk::AtaPlane * createTrackParameters(const MuonSegment &seg, double momentum=1., double charge=0.) const override
brief create a AtaPlane track parameter for segment
Definition: MuonEDMHelperSvc.cxx:119
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >