19#ifndef TRKIPATFITTERUTILS_FITPROCEDURE_H
20#define TRKIPATFITTERUTILS_FITPROCEDURE_H
26#include "GaudiKernel/ToolHandle.h"
96 std::unique_ptr<FitProcedureQuality>
fitQuality =
nullptr;
98 MsgStream*
log =
nullptr;
108 bool lineFit, ToolHandle<IIntersector>& rungeKuttaIntersector,
109 ToolHandle<IIntersector>& solenoidalIntersector,
110 ToolHandle<IIntersector>& straightLineIntersector,
111 const ToolHandle<IPropagator>& stepPropagator,
112 const Volume* indetVolume = 0,
int maxIterations = 25,
113 int useStepPropagator = 0);
125 const std::vector<FitMeasurement*>& measurements,
131 bool asymmetricCaloEnergy, MsgStream& log,
132 std::vector<FitMeasurement*>& measurements,
135 bool for_iPatTrack =
false)
const;
155 std::vector<FitMeasurement*>& measurements)
const;
158 std::vector<FitMeasurement*>& measurements,
162 const std::vector<FitMeasurement*>& measurements,
An STL vector of pointers that by default owns its pointed-to elements.
const ToolHandle< IPropagator > & m_stepPropagator
static void reportQuality(FitProcedure::Cache &cache, const std::vector< FitMeasurement * > &measurements, const FitParameters ¶meters)
ToolHandle< IIntersector > & m_rungeKuttaIntersector
const Trk::Volume * m_indetVolume
FitProcedure & operator=(FitProcedure &&)=delete
FitProcedure & operator=(const FitProcedure &)=delete
static void clear(FitProcedure::Cache &cache)
const ToolHandle< IIntersector > & m_solenoidalIntersector
ToolHandle< IIntersector > & m_straightLineIntersector
void setMinIterations(int minIter)
void calculateChiSq(FitProcedure::Cache &cache, std::vector< FitMeasurement * > &measurements) const
static Track * constructTrack(FitProcedure::Cache &cache, const std::vector< FitMeasurement * > &measurements, FitParameters ¶meters, const TrackInfo &trackInfo, const DataVector< const TrackStateOnSurface > *leadingTSOS=nullptr)
FitProcedure(bool constrainedAlignmentEffects, bool extendedDebug, bool lineFit, ToolHandle< IIntersector > &rungeKuttaIntersector, ToolHandle< IIntersector > &solenoidalIntersector, ToolHandle< IIntersector > &straightLineIntersector, const ToolHandle< IPropagator > &stepPropagator, const Volume *indetVolume=0, int maxIterations=25, int useStepPropagator=0)
const FitProcedureQuality & execute(FitProcedure::Cache &cache, bool asymmetricCaloEnergy, MsgStream &log, std::vector< FitMeasurement * > &measurements, FitParameters *¶meters, const FitQuality *perigeeQuality=0, bool for_iPatTrack=false) const
FitProcedure(const FitProcedure &)=delete
FitProcedure(FitProcedure &&)=delete
bool constrainedAlignmentEffects() const
const ToolHandle< IIntersector > & chooseIntersector(std::vector< FitMeasurement * > &measurements, const FitParameters ¶meters) const
~FitProcedure(void)=default
static Amg::MatrixX * fullCovariance()
bool m_constrainedAlignmentEffects
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Base class for Intersector AlgTools.
Interface class IPropagators It inherits from IAlgTool.
Contains information about the 'fitter' of this track.
represents the track state (measurement, material, fit parameters and quality) at a surface.
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume c...
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Ensure that the ATLAS eigen extensions are properly loaded.
std::unique_ptr< FitProcedureQuality > fitQuality
Cache & operator=(const Cache &)=delete
std::unique_ptr< FitMatrices > fitMatrices
Cache(bool constrainedAlignmentEffects)
Cache(const Cache &)=delete
Cache & operator=(Cache &&)=delete