- #pragma once
-
- // ROOT
- #include "TFitter.h"
-
- // Local
- #include "TbAlignmentBase.h"
-
- class TbAlignmentMinuitBase : public TbAlignmentBase {
-
- public:
- /// Constructor
- TbAlignmentMinuitBase(const std::string& type, const std::string& name,
- const IInterface* parent);
- /// Destructor
- virtual ~TbAlignmentMinuitBase();
-
- virtual void align(std::vector<TbAlignmentTrack*>& alignmentTracks);
- virtual void chi2(double& f, double* par, double* g) = 0;
-
- virtual void updateGeometry();
-
- protected:
- /// Number of iterations
- unsigned int m_nIterations;
- /// Minuit fit strategy (allowed values are 0, 1, 2).
- int m_fitStrategy;
-
- std::vector<TbAlignmentTrack*> m_tracks;
- TFitter* m_fitter;
-
- void setParameters();
- };