void deriv(const Coords &r, Coords &x, const double t = 0) const { x = Coords(r.size(),0.);x[pol_] = r[pol_] * field_->deriv(t); }
virtual void operator()(const Coords &r, Coords &x, const double t = 0) const { x = Coords(r.size(),0.);x[pol_] = field_->operator()(t); }
virtual void operator()(const Coords &r, Coords &x, const double t=0) const {x = Coords(r.size(),0);};
GeoCoordinate last() const { return coordinates[coordinates.size() - 1]; }
bool isClosed() const { return coordinates.size() > 1 && coordinates[0]==coordinates[coordinates.size() - 1]; }
inline bool isClosed() { return coordinates.size() > 1 && coordinates[0] == coordinates[coordinates.size() - 1]; }