Performed as many optimisations as possible using the pre-calculated
inverses of ticks/meter, and /2.0 => * 0.5.
Changed all structure pass by value to pass by const &