private bool ParticleIsCloserToOriginInLongTerm(Particle particle, Particle bestParticle) { if (particle.AccelerationMagnitude() < bestParticle.AccelerationMagnitude()) { return(true); } if (particle.AccelerationMagnitude() == bestParticle.AccelerationMagnitude() && particle.VelocityPlusAccelerationMagnitude() < bestParticle.VelocityPlusAccelerationMagnitude()) { return(true); } if (particle.AccelerationMagnitude() == bestParticle.AccelerationMagnitude() && particle.VelocityPlusAccelerationMagnitude() == bestParticle.VelocityPlusAccelerationMagnitude() && particle.AllMagnitude() < bestParticle.AllMagnitude()) { return(true); } return(false); }