ATLAS Offline Software
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 
28 namespace 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
Trk::IVertexAnnealingMaker::reset
virtual void reset(AnnealingState &state) const =0
Starts the annealing from scratch.
Trk::IVertexAnnealingMaker::actualTemp
virtual double actualTemp(const AnnealingState &state) const =0
Gets the actual temperature.
Trk::IVertexAnnealingMaker::AnnealingState
unsigned int AnnealingState
Definition: IVertexAnnealingMaker.h:35
Trk::IVertexAnnealingMaker::anneal
virtual void anneal(AnnealingState &state) const =0
Goes one step further in the annealing.
Trk::IVertexAnnealingMaker::~IVertexAnnealingMaker
virtual ~IVertexAnnealingMaker()=default
Virtual destructor.
Trk::IVertexAnnealingMaker::DeclareInterfaceID
DeclareInterfaceID(IVertexAnnealingMaker, 1, 0)
Trk::IVertexAnnealingMaker::getWeight
virtual double getWeight(const AnnealingState &state, double chisq) const =0
Calculates the weight according to the given chi2.
Trk::IVertexAnnealingMaker
Definition: IVertexAnnealingMaker.h:30
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IVertexAnnealingMaker::isEquilibrium
virtual bool isEquilibrium(const AnnealingState &state) const =0
Checks whether the equilibrium is reached.
Trk::IVertexAnnealingMaker::getWeight
virtual double getWeight(const AnnealingState &state, double chisq, const std::vector< double > &allchisq) const =0
Calculates the weight according to the given chi2.