Belle II Software development
HopfieldNetwork.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10//basf2
11#include <tracking/trackFindingVXD/trackSetEvaluator/OverlapResolverNodeInfo.h>
12
13
14namespace Belle2 {
34 public:
42 HopfieldNetwork(float omega = 0.5, float T = 3.1, float Tmin = 0.1, float cmax = 0.01):
43 m_omega(omega), m_T(T), m_Tmin(Tmin), m_cmax(cmax)
44 {}
45
57 unsigned short doHopfield(std::vector<OverlapResolverNodeInfo>& overlapResolverNodeInfos, unsigned short nIterations = 20);
58
59 private:
60 float m_omega;
61 float m_T;
62 float m_Tmin;
63 float m_cmax;
65 };
67}
Hopfield Algorithm with number based inputs.
float m_omega
tuning parameter of the hopfield network
float m_T
start temperature of annealing
float m_cmax
maximal change of weights between iterations
unsigned short doHopfield(std::vector< OverlapResolverNodeInfo > &overlapResolverNodeInfos, unsigned short nIterations=20)
Performance of the actual algorithm.
HopfieldNetwork(float omega=0.5, float T=3.1, float Tmin=0.1, float cmax=0.01)
Constructor taking parameters for the algorithm.
float m_Tmin
minimal temperature allowed
Abstract base class for different kinds of events.