ATLAS Offline Software
IMuonEDMHelperSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_IMUONEDMHELPERSVC_H
6 #define MUON_IMUONEDMHELPERSVC_H
7 
8 #include "GaudiKernel/ClassID.h"
9 #include "GaudiKernel/IService.h"
10 #include "GaudiKernel/ToolHandle.h"
11 #include "GaudiKernel/ServiceHandle.h"
13 
14 #include "Identifier/Identifier.h"
16 
17 #include <set>
18 #include <string>
19 
20 namespace Trk {
21  class MeasurementBase;
22  class Track;
23  class IExtrapolator;
24 }
25 
26 namespace Muon {
27 
28  class MuonSegment;
29 
33  class IMuonEDMHelperSvc : virtual public IService {
34  public:
36 
38  virtual ~IMuonEDMHelperSvc() {}
39 
41  virtual Identifier getIdentifier( const Trk::MeasurementBase& meas ) const = 0;
42 
44  virtual Identifier chamberId( const MuonSegment& seg ) const = 0;
45 
47  virtual std::set<Identifier> chamberIds( const MuonSegment& seg ) const = 0;
48 
50  virtual bool isEndcap( const MuonSegment& seg ) const = 0;
51 
53  virtual bool isEndcap( const Trk::Track& seg ) const = 0;
54 
56  virtual const Trk::AtaPlane* createTrackParameters( const MuonSegment& seg, double momentum = 1., double charge = 0. ) const = 0;
57 
59  virtual bool goodTrack( const Trk::Track& track, double chi2Cut ) const = 0;
60 
62  virtual bool isSLTrack( const Trk::Track& track ) const = 0;
63  };
64 
65 }
66 
67 #endif
Muon::IMuonEDMHelperSvc::getIdentifier
virtual Identifier getIdentifier(const Trk::MeasurementBase &meas) const =0
tries to get Identifier for measurement, if not possible it will return Identifier()
Muon::IMuonEDMHelperSvc
Helper tool containing functionality needed by multiple tools.
Definition: IMuonEDMHelperSvc.h:33
Muon::IMuonEDMHelperSvc::createTrackParameters
virtual const Trk::AtaPlane * createTrackParameters(const MuonSegment &seg, double momentum=1., double charge=0.) const =0
brief create a AtaPlane track parameter for segment
TrackParameters.h
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::IMuonEDMHelperSvc::chamberIds
virtual std::set< Identifier > chamberIds(const MuonSegment &seg) const =0
returns a set containing the chamber Ids of all MDT or CSC chambers on the segment
Muon::IMuonEDMHelperSvc::chamberId
virtual Identifier chamberId(const MuonSegment &seg) const =0
returns the first MDT or CSC identifier of the segment
Muon::IMuonEDMHelperSvc::~IMuonEDMHelperSvc
virtual ~IMuonEDMHelperSvc()
destructor
Definition: IMuonEDMHelperSvc.h:38
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::IMuonEDMHelperSvc::goodTrack
virtual bool goodTrack(const Trk::Track &track, double chi2Cut) const =0
check whether track satisfies selection chi2 cut
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Muon::IMuonEDMHelperSvc::isEndcap
virtual bool isEndcap(const MuonSegment &seg) const =0
returns whether the segment is in the endcap
Muon::IMuonEDMHelperSvc::DeclareInterfaceID
DeclareInterfaceID(IMuonEDMHelperSvc, 1, 0)
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
Muon::IMuonEDMHelperSvc::isEndcap
virtual bool isEndcap(const Trk::Track &seg) const =0
returns whether the track is in the endcap
AthAlgTool.h
Muon::IMuonEDMHelperSvc::isSLTrack
virtual bool isSLTrack(const Trk::Track &track) const =0
determines whether a track is a straight line track (no momentum fitted).
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
charge
double charge(const T &p)
Definition: AtlasPID.h:494
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::MuonSegment
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45