19#ifndef MUIDCALOSCATTERINGTOOLS_MUIDCALOTRACKSTATEONSURFACE_H
20#define MUIDCALOSCATTERINGTOOLS_MUIDCALOTRACKSTATEONSURFACE_H
28#include "GaudiKernel/ServiceHandle.h"
29#include "GaudiKernel/ToolHandle.h"
50 std::vector<std::unique_ptr<const Trk::TrackStateOnSurface>>
caloTSOS(
const EventContext& ctx,
75 const short layer)
const;
83 "Rec::MuidCaloEnergyTool/MuidCaloEnergyTool",
88 "Rec::MuidCaloEnergyTool/MuidCaloEnergyToolParam",
93 "Rec::MuidCaloMaterialParam/MuidCaloMaterialParam",
98 "Trk::IntersectorWrapper/IntersectorWrapper",
105 "Name of the Magnetic Field conditions object key"};
Scalar eta() const
pseudorapidity method
Base class for MuidCaloTrackStateOnSurface AlgTool.
std::vector< std::unique_ptr< const Trk::TrackStateOnSurface > > caloTSOS(const EventContext &ctx, const Trk::TrackParameters ¶meters) const override
IMuidCaloTrackStateOnSurface interface: to get the 3 scattering and energy deposit TSOS'es representi...
std::unique_ptr< Trk::TrackStateOnSurface > middleTSOS(const EventContext &ctx, const Trk::TrackParameters &middleParameters, const Trk::TrackParameters *innerParameters, const Trk::TrackParameters *outerParameters) const override
IMuidCaloTrackStateOnSurface interface: to get the energy deposit TSOS representing the calorimeter.
MuidCaloTrackStateOnSurface(const std::string &type, const std::string &name, const IInterface *parent)
std::atomic_int m_countInnerFailure
const Trk::Surface * getCaloSurface(const double eta, const short layer) const
std::unique_ptr< Trk::TrackStateOnSurface > outerTSOS(const EventContext &ctx, const Trk::TrackParameters ¶meters) const override
StatusCode initialize() override
double m_minRemainingEnergy
StatusCode finalize() override
ToolHandle< Rec::IMuidCaloEnergy > m_caloEnergyDeposit
Trk::MagneticFieldProperties m_magFieldProperties
virtual ~MuidCaloTrackStateOnSurface()=default
static bool useEtaPhiFromDirection(const Trk::TrackParameters ¶meters)
std::atomic_int m_countCompleteFailure
std::unique_ptr< const Trk::TrackParameters > getExtrapolatedParameters(const EventContext &ctx, const Trk::TrackParameters ¶meters, const short layer) const
std::unique_ptr< Trk::TrackStateOnSurface > innerTSOS(const EventContext &ctx, const Trk::TrackParameters ¶meters) const override
IMuidCaloTrackStateOnSurface interface: to get individually the scattering TSOS'es representing the c...
ToolHandle< Rec::IMuidCaloEnergy > m_caloEnergyParam
ToolHandle< Trk::IPropagator > m_propagator
std::atomic_int m_countOuterFailure
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
ToolHandle< Rec::IMuidCaloMaterialParam > m_caloMaterialParam
std::atomic_int m_countArbitrarySolution
magnetic field properties to steer the behavior of the extrapolation
Abstract Base Class for tracking surfaces.
@ FullField
Field is set to be realistic, but within a given Volume.
ParametersBase< TrackParametersDim, Charged > TrackParameters