How to propagate a Trajectory




A Trajectory cannot be propagated directly. One should retrieve one of its fitted State's and propagate that State. However, there are cases in which a method for propagating a Trajectory could be useful. For example, after fitting a Trajectory we might be interested in propagating it to a given surface to check the pressence of a Measurement that could be compatible with it. There is a method in the NavigationSvc that performs this operation:

// propagate a trajectory to a given surface by finding the closest state of the trajectory to the surface
bool propagate(const Surface& surface, const Trajectory& traj, State& state, double& length);


The Surface and the Trajectory are given as input. The State is the result of the propagation. The traversed length is also given as output. This method uses internally the method of the NavigationSvc closest_state.