Is your feature request related to a problem? Please describe.
Currently, rotations that would lead to particles not entering the RustBCA surface appropriately from rotate_given_surface normal cause a panic
Proposed solution
Instead, the function should support error propagation - however, this could be tricky, as the function is designed to be C-portable. Maybe this requires a subtle rewrite where the C version neither errors nor panics and a rust/python wrapper that does
Alternative solution(s)
Alternatively, removing the panic and passing the buck onto standalone/other codes to check would be simpler