ATLAS Offline Software
Loading...
Searching...
No Matches
IMuidCaloTrackStateOnSurface.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IMuidCaloTrackStateOnSurface
7// tool interface to allocate scattering centres as TrackStateOnSurface
8// objects representing the Coulomb scattering and energy deposit between
9// the InDet and MuonSpectrometer entrance.
10//
12
13#ifndef MUIDINTERFACES_IMUIDCALOTRACKSTATEONSURFACE_H
14#define MUIDINTERFACES_IMUIDCALOTRACKSTATEONSURFACE_H
15
16#include <vector>
17
18#include "GaudiKernel/IAlgTool.h"
20
21namespace Trk {
23}
24
25namespace Rec {
26
34 class IMuidCaloTrackStateOnSurface : virtual public IAlgTool {
35 public:
37 virtual ~IMuidCaloTrackStateOnSurface() = default;
38
40 static const InterfaceID& interfaceID() {
41 static const InterfaceID IID_IMuidCaloTrackStateOnSurface("IMuidCaloTrackStateOnSurface", 1, 0);
42 return IID_IMuidCaloTrackStateOnSurface;
43 }
44
48 virtual std::vector<std::unique_ptr<const Trk::TrackStateOnSurface>> caloTSOS(const EventContext& ctx,
49 const Trk::TrackParameters& parameters) const = 0;
50
54 virtual std::unique_ptr<Trk::TrackStateOnSurface> innerTSOS(const EventContext& ctx,
55 const Trk::TrackParameters& parameters) const = 0;
56 virtual std::unique_ptr<Trk::TrackStateOnSurface> outerTSOS(const EventContext& ctx,
57 const Trk::TrackParameters& parameters) const = 0;
58
64 virtual std::unique_ptr<Trk::TrackStateOnSurface> middleTSOS(const EventContext& ctx,
65 const Trk::TrackParameters& middleParameters,
66 const Trk::TrackParameters* innerParameters = nullptr,
67 const Trk::TrackParameters* outerParameters = nullptr) const = 0;
68 };
69
70} // namespace Rec
71
72#endif // MUIDINTERFACES_IMUIDCALOTRACKSTATEONSURFACE_H
Base class for MuidCaloTrackStateOnSurface AlgTool.
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
virtual std::unique_ptr< Trk::TrackStateOnSurface > outerTSOS(const EventContext &ctx, const Trk::TrackParameters &parameters) const =0
virtual std::unique_ptr< Trk::TrackStateOnSurface > innerTSOS(const EventContext &ctx, const Trk::TrackParameters &parameters) const =0
IMuidCaloTrackStateOnSurface interface: to get individually the scattering TSOS'es representing the c...
virtual std::vector< std::unique_ptr< const Trk::TrackStateOnSurface > > caloTSOS(const EventContext &ctx, const Trk::TrackParameters &parameters) const =0
IMuidCaloTrackStateOnSurface interface: to get the 3 scattering and energy deposit TSOS'es representi...
virtual ~IMuidCaloTrackStateOnSurface()=default
Virtual destructor.
virtual std::unique_ptr< Trk::TrackStateOnSurface > middleTSOS(const EventContext &ctx, const Trk::TrackParameters &middleParameters, const Trk::TrackParameters *innerParameters=nullptr, const Trk::TrackParameters *outerParameters=nullptr) const =0
IMuidCaloTrackStateOnSurface interface: to get the energy deposit TSOS representing the calorimeter.
represents the track state (measurement, material, fit parameters and quality) at a surface.
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters