/** Two particles
    */
    void test_2particles( Real stiffness, Real dampingRatio, Real restLength,
                          Vec3 x0, Vec3 v0,
                          Vec3 x1, Vec3 v1,
                          Vec3 f0)
    {
        // set position and velocity vectors, using DataTypes::set to cope with tests in dimension 2
        VecCoord x(2);
        DataTypes::set( x[0], x0[0],x0[1],x0[2]);
        DataTypes::set( x[1], x1[0],x1[1],x1[2]);
        VecDeriv v(2);
        DataTypes::set( v[0], v0[0],v0[1],v0[2]);
        DataTypes::set( v[1], v1[0],v1[1],v1[2]);
        VecDeriv f(2);
        DataTypes::set( f[0],  f0[0], f0[1], f0[2]);
        DataTypes::set( f[1], -f0[0],-f0[1],-f0[2]);

        // randomly rotate and translate the scene
        /// @todo functions to apply the transform to VecCoord and VecDeriv
        RigidTransform<DataTypes> transform;
        transform.randomize(1.1);
        transform.projectPoint( x[0]);
        transform.projectVector(v[0]);
        transform.projectPoint( x[1]);
        transform.projectVector(v[1]);
        transform.projectVector(f[0]);
        transform.projectVector(f[1]);


        // tune the force field
        this->force->addSpring(0,1,stiffness,dampingRatio,restLength);

        //        cout<<"test_2particles, x = " << x << endl;
        //        cout<<"                 v = " << v << endl;
        //        cout<<"                 f = " << f << endl;

        // and run the test
        this->run_test( x, v, f );
    }