Surface hopping propagates the molecular dynamics on a single potential energy surface. At each time step, one calculates the hopping probability between the currently occupied state and the others, and a stochastic process determines whether the molecule should remain in the same state or hop to another one. After a successful surface hopping, energy conservation is enforced by changing the kinetic energy to compensate for the potential energy variation due to the hopping. Thus, an equivalent amount of nuclear kinetic energy is added or removed depending on whether the system hops down to a lower electronic state or up to a higher state (the latter is called back hopping). If no kinetic energy change can ensure energy conservation, the hopping is frustrated, and the molecule remains in the same state. Following the semiclassical prescription for nonadiabatic forces, the kinetic energy change should be made by rescaling the nuclear velocities in the direction of the nonadiabatic coupling vector between the current and target electronic state. However, when this vector is unavailable (as in our simulations using ADC(2)), it is usual to rescale the velocities in the linear momentum direction.