9#ifndef TRKVERTEXFITTERINTERFACES_IVERTEXANNEALINGMAKER_H
10#define TRKVERTEXFITTERINTERFACES_IVERTEXANNEALINGMAKER_H
12#include "GaudiKernel/IAlgTool.h"
57 const std::vector<double>& allchisq)
const =0;
63 double chisq)
const =0;
Interface class responsible for an annealing process.
virtual void anneal(AnnealingState &state) const =0
Goes one step further in the annealing.
unsigned int AnnealingState
virtual double getWeight(const AnnealingState &state, double chisq, const std::vector< double > &allchisq) const =0
Calculates the weight according to the given chi2.
virtual void reset(AnnealingState &state) const =0
Starts the annealing from scratch.
virtual double getWeight(const AnnealingState &state, double chisq) const =0
Calculates the weight according to the given chi2.
virtual double actualTemp(const AnnealingState &state) const =0
Gets the actual temperature.
DeclareInterfaceID(IVertexAnnealingMaker, 1, 0)
virtual ~IVertexAnnealingMaker()=default
Virtual destructor.
virtual bool isEquilibrium(const AnnealingState &state) const =0
Checks whether the equilibrium is reached.
Ensure that the ATLAS eigen extensions are properly loaded.