ATLAS Offline Software
Loading...
Searching...
No Matches
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
20namespace Trk {
21 class MeasurementBase;
22 class Track;
23 class IExtrapolator;
24}
25
26namespace 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
double charge(const T &p)
Definition AtlasPID.h:997
Helper tool containing functionality needed by multiple tools.
virtual Identifier chamberId(const MuonSegment &seg) const =0
returns the first MDT or CSC identifier of the segment
virtual bool isEndcap(const MuonSegment &seg) const =0
returns whether the segment is in the endcap
virtual bool isEndcap(const Trk::Track &seg) const =0
returns whether the track is in the endcap
virtual bool isSLTrack(const Trk::Track &track) const =0
determines whether a track is a straight line track (no momentum fitted).
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
DeclareInterfaceID(IMuonEDMHelperSvc, 1, 0)
virtual bool goodTrack(const Trk::Track &track, double chi2Cut) const =0
check whether track satisfies selection chi2 cut
virtual Identifier getIdentifier(const Trk::MeasurementBase &meas) const =0
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 =0
brief create a AtaPlane track parameter for segment
virtual ~IMuonEDMHelperSvc()
destructor
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