ATLAS Offline Software
Loading...
Searching...
No Matches
IVertexAnnealingMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IVertexAnnealingMaker.h, (c) ATLAS Detector software 2006
8
9#ifndef TRKVERTEXFITTERINTERFACES_IVERTEXANNEALINGMAKER_H
10#define TRKVERTEXFITTERINTERFACES_IVERTEXANNEALINGMAKER_H
11
12#include "GaudiKernel/IAlgTool.h"
13#include <vector>
14
25
26
27
28namespace Trk
29{
30 class IVertexAnnealingMaker : virtual public IAlgTool {
31
32 public:
34
35 typedef unsigned int AnnealingState;
36
40 virtual ~IVertexAnnealingMaker() = default;
41
45 virtual void reset(AnnealingState& state) const =0;
46
50 virtual void anneal(AnnealingState& state) const =0;
51
55 virtual double getWeight(const AnnealingState& state,
56 double chisq,
57 const std::vector<double>& allchisq) const =0;
58
62 virtual double getWeight(const AnnealingState& state,
63 double chisq) const =0;
64
68 virtual bool isEquilibrium(const AnnealingState& state) const =0;
69
73 virtual double actualTemp(const AnnealingState& state) const =0;
74
75 };
76}
77
78#endif
Interface class responsible for an annealing process.
virtual void anneal(AnnealingState &state) const =0
Goes one step further in the annealing.
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.