1 #include "../include/vertexresolverequalsteps.h"
2 #include "../../util/inc/vector3.h"
3 #include "../include/vertexfunction.h"
5 namespace vertex_lcfi {
namespace ZVTOP
7 VertexResolverEqualSteps::VertexResolverEqualSteps()
11 bool VertexResolverEqualSteps::areResolved(
const Vector3& Vertex1,
const Vector3& Vertex2, VertexFunction
const * VF,
const double Threshold)
const
17 Vector3 ResolveLine = Vertex2-Vertex1;
20 if (ResolveLine.mag()<(10.0/1000.0))
return 0;
22 Vector3 Step = ResolveLine/NumSteps;
26 double VertexMin = VF->valueAt(Vertex1);
27 double Vertex2Value = VF->valueAt(Vertex2);
28 if (Vertex2Value < VertexMin)
29 VertexMin = Vertex2Value;
36 Vector3 CurrentPoint = Vertex1+Step;
38 for (
short i=0;i<(NumSteps-1);++i)
40 double CurrentValue = VF->valueAt(CurrentPoint);
41 if ((CurrentValue/VertexMin) < Threshold)
43 CurrentPoint = CurrentPoint+Step;