C++ implementation of the smooth Particle-Mesh Ewald algorithm for dispersive forces