#ifndef __ZERO_FIELD_H__
#define __ZERO_FIELD_H__

#include "UserField.h"

namespace cigma {
    class ZeroField;
}

class cigma::ZeroField : public cigma::UserField
{
public:
    ZeroField();
    ~ZeroField();
    void set_shape(int dim, int rank);

public:
    int n_dim() { return dim; }
    int n_rank() { return rank; }

public:
    bool eval(double *point, double *value);

public:
    int dim;
    int rank;
};

#endif


#ifndef __ZERO_FIELD_H__
#define __ZERO_FIELD_H__

#include "Field.h"

namespace cigma {
    class ZeroField;
}

class cigma::ZeroField : public cigma::Field
{
public:
    ZeroField();
    ~ZeroField();
    void set_shape(int dim, int rank);

public:
    int n_dim() { return dim; }
    int n_rank() { return rank; }
    FieldType getType() { return USER_FIELD; }

public:
    bool eval(double *point, double *value);

public:
    int dim;
    int rank;
};

#endif


--- 
+++ 
@@ -1,13 +1,13 @@
 #ifndef __ZERO_FIELD_H__
 #define __ZERO_FIELD_H__
 
-#include "Field.h"
+#include "UserField.h"
 
 namespace cigma {
     class ZeroField;
 }
 
-class cigma::ZeroField : public cigma::Field
+class cigma::ZeroField : public cigma::UserField
 {
 public:
     ZeroField();
@@ -17,7 +17,6 @@
 public:
     int n_dim() { return dim; }
     int n_rank() { return rank; }
-    FieldType getType() { return USER_FIELD; }
 
 public:
     bool eval(double *point, double *value);
Make zero a user field

