#ifndef __GRID_H__ #define __GRID_H__ #include #include #include using namespace std; class Grid { public: Grid(); Grid(const string &inGridName); ~Grid(); void setGrid(const string &gridName); string getGridName() { return gridName; } int getSOLVER_LON_GRID_STEP() { return gridSpacing; } int getNLAT() { return nLat; } double *getLATITUDE() { return latitude; } bool requiresSymmetricPotential() { return forceSymmetricPotential; } private: void fillLatitudes(const int &startIndex, const double &startLat, const double &stopLat, const double &spacing); string gridName; //!< Constant longitudinal spacing. int gridSpacing; int nLat; //!< Array of latitude positions double *latitude; //!< Force symmetric potential when MIX's low-lat boundary is below the MHD's bool forceSymmetricPotential; }; #endif