The current implementation returns a TryTrackFromClusterError::NoInitialParameters error when the 3 initial template points obtained are collinear. This is the case because it is not possible to obtain a circle (with finite radius) that goes through those 3 points in the x/y plane.
A possible solution is to resample the spacepoints to get 3 that are not collinear (and error if this is not possible).
Other possible solution would be to just assign a very large radius for these cases, but on what side of the line would it be best to place the center of the circle? If we pick the wrong side, then the initial guess will be very far off from the actual helix we want.
The current implementation returns a
TryTrackFromClusterError::NoInitialParameters
error when the 3 initial template points obtained are collinear. This is the case because it is not possible to obtain a circle (with finite radius) that goes through those 3 points in the x/y plane.A possible solution is to resample the spacepoints to get 3 that are not collinear (and error if this is not possible). Other possible solution would be to just assign a very large radius for these cases, but on what side of the line would it be best to place the center of the circle? If we pick the wrong side, then the initial guess will be very far off from the actual helix we want.