LorenzPoincareMap ( int order, interval _sigma, interval _rho, interval _beta )
   : section("var:x,y,z;fun:z;"), //  the section is z=0
     vectorField("par:b,r,s;var:x,y,z;fun:s*(y-x),(r-z)*x-y,x*y-b*z;"), // here is the vector field
     solver(vectorField,order,0.1), // 0.1 is the time step, ignored since step control is turned on by default
     // MinusPlus means that the section is crossed with 'z' changing
     // sign from minus to plus Other acceptable values are PlusMinus
     // and None. The last means both directions are acceptable. This will probably have to be changed to None. 
     pm(solver,section,poincare::MinusPlus)  
                                 
 {
   // set parameter values a and b
   vectorField.setParameter("b",_beta);
   vectorField.setParameter("r",_rho);
   vectorField.setParameter("s",_sigma);
 }
 RosslerPoincareMap (int order, interval _a, interval _b)
   : section("var:x,y,z;fun:x;"), //  the section is x=0
     vectorField("par:a,b;var:x,y,z;fun:-(y+z),x+b*y,b+z*(x-a);"), // here is the vector field
     solver(vectorField,order,0.1), // 0.1 is the time step, ignored since step control is turned on by default
     pm(solver,section,poincare::MinusPlus)  // MinusPlus means that the section is crossed with 'x' changing sign from minus to plus
                                   // Other acceptable values are PlusMinus and None. The last means both directions are acceptable.
 {
   // set parameter values a and b
   vectorField.setParameter("a",_a);
   vectorField.setParameter("b",_b);
 }