Force neutral particle charge if calo extrapolation fails in FCS
The vector returned by the caloHits
function in 'FastCaloSimCaloExtrapolation' was sometimes empty for low energy charged particles (T<64 MeV). This subsequently caused an unanounced segfault.
If the vector is empty the function will now rerun the function setting the particle's charge to be neutral. After this fix the error is no longer observed (tested with a few million low-energy charged particles). The default behaviour of the function is unchanged.
The 'caloHits' vector is not expected to ever be non-zero after this fix, which is supported by the tests above. For now an error is thrown if the caloHits vector should still empty after forcing neutral charge, which will point the user to the problem should it occur. The error handling should in the future be improved using StatusCodes. This was not done now to make the fix available rapidly.