#ifndef _UAL_CLASSES #define _UAL_CLASSES #include "UALDef.h" #include using namespace blitz; namespace ItmNs { typedef struct { char **parameters; char **default_param; char **schema; } codeparam_t; class Itm { private: int expIdx; int shot, run, refShot, refRun; string treeName; bool connected; public: Itm(); Itm(int shot, int run, int refShot, int refRun); Itm(int idx); void setShot(int inShot) {shot = inShot;} void setRun(int inRun) {run = inRun;} void setRefShot(int inRefShot){refShot = inRefShot;} void setRefNum(int inRefRun){refRun = inRefRun;} void setTreeName(char *inTreeName){treeName = inTreeName; } void setTreeName(string inTreeName){treeName = inTreeName;} int getIdx() {return expIdx;} int getShot() {return shot;} int getRun() {return run;} int getRefShot(){return refShot;} int getRefRun(){return refRun;} string getTreeName(){return treeName;} bool isConnected(){return connected;} void open(); void create(); void openEnv(char *user, char *tokamak, char *version); void createEnv(char *user, char *tokamak, char *version); void openHdf5(); void createHdf5(); void close(); void close(char *name, int shot, int run) {close();} int getTime(char *path, Array &time); ~Itm(); friend ostream &operator << (ostream &os, const Itm &obj); #include "CpoDef.h" class topinfo:Cpo { private: int expIdx; bool connected; public: std::string dataprovider; std::string description; std::string firstputdate; std::string lastupdate; std::string source; std::string comment; std::string dataversion; std::string workflow; struct entry { std::string user; std::string machine; int shot; int run; } entry; struct parent_entry { std::string user; std::string machine; int shot; int run; } parent_entry; struct mdinfo { int shot_min; int shot_max; struct md_entry { std::string user; std::string machine; int shot; int run; } md_entry; } mdinfo; topinfo(); void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} int get(); int get(int idx); int put(); int put(int idx); friend ostream &operator << (ostream &os, const topinfo&obj); }; class summary:Cpo { private: int expIdx; bool connected; public: struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct ip { double value; std::string source; double time; } ip; struct bvac_r { double value; std::string source; double time; } bvac_r; struct geom_axis_r { double value; std::string source; double time; } geom_axis_r; struct a_minor { double value; std::string source; double time; } a_minor; struct elongation { double value; std::string source; double time; } elongation; struct tria_lower { double value; std::string source; double time; } tria_lower; struct tria_upper { double value; std::string source; double time; } tria_upper; struct tev { double value; std::string source; double time; } tev; struct tiv { double value; std::string source; double time; } tiv; struct nev { double value; std::string source; double time; } nev; struct zeffv { double value; std::string source; double time; } zeffv; struct beta_pol { double value; std::string source; double time; } beta_pol; struct beta_tor { double value; std::string source; double time; } beta_tor; struct beta_normal { double value; std::string source; double time; } beta_normal; struct li { double value; std::string source; double time; } li; struct volume { double value; std::string source; double time; } volume; struct area { double value; std::string source; double time; } area; struct main_ion1_z { double value; std::string source; double time; } main_ion1_z; struct main_ion1_a { double value; std::string source; double time; } main_ion1_a; struct main_ion2_z { double value; std::string source; double time; } main_ion2_z; struct main_ion2_a { double value; std::string source; double time; } main_ion2_a; struct impur1_z { double value; std::string source; double time; } impur1_z; struct impur1_a { double value; std::string source; double time; } impur1_a; double time; summary(); void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} int get(); int get(int idx); int put(); int put(int idx); friend ostream &operator << (ostream &os, const summary&obj); }; class amns:Cpo { private: int expIdx; bool connected; public: struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; std::string version; std::string source; int zn; int zion; Arrayamn; Arraystate_label; Arrayresult_label; Arrayresult_unit; Arrayresult_trans; int bundled; Arrayproc_label; struct tables { Arrayid; struct table_0d { Arraytable; } table_0d; struct table_1d { struct table_prop { Arraycoord_extrap; int interp_type; std::string coord_label; std::string coord_unit; int coord_trans; int unif_spacing; } table_prop; Arraycoord1; Arraytable; } table_1d; struct table_2d { struct table_prop { Arraycoord_extrap; Arrayinterp_type; Arraycoord_label; Arraycoord_unit; Arraycoord_trans; int unif_spacing; } table_prop; Arraycoord1; Arraycoord2; Arraytable; } table_2d; struct table_3d { struct table_prop { Arraycoord_extrap; Arrayinterp_type; Arraycoord_label; Arraycoord_unit; Arraycoord_trans; int unif_spacing; } table_prop; Arraycoord1; Arraycoord2; Arraycoord3; Arraytable; } table_3d; struct table_4d { struct table_prop { Arraycoord_extrap; Arrayinterp_type; Arraycoord_label; Arraycoord_unit; Arraycoord_trans; int unif_spacing; } table_prop; Arraycoord1; Arraycoord2; Arraycoord3; Arraycoord4; Arraytable; } table_4d; struct table_5d { struct table_prop { Arraycoord_extrap; Arrayinterp_type; Arraycoord_label; Arraycoord_unit; Arraycoord_trans; int unif_spacing; } table_prop; Arraycoord1; Arraycoord2; Arraycoord3; Arraycoord4; Arraycoord5; Arraytable; } table_5d; } tables; amns(); void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} int get(); int get(int idx); int put(); int put(int idx); friend ostream &operator << (ostream &os, const amns&obj); }; class antennas:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct antenna_ec { Arrayname; Arrayfrequency; struct power { Arrayvalue; Arrayabserror; Arrayrelerror; } power; Arraymode; struct position { Arrayr; Arrayz; Arrayphi; } position; struct launchangles { Arrayalpha; Arraybeta; } launchangles; struct beam { struct spot { Arraywaist; Arrayangle; } spot; struct phaseellipse { Arrayinvcurvrad; Arrayangle; } phaseellipse; } beam; } antenna_ec; struct antenna_ic { Arrayname; struct frequency { Arrayvalue; Arrayabserror; Arrayrelerror; } frequency; struct power { Arrayvalue; Arrayabserror; Arrayrelerror; } power; struct setup { struct straps { Arraynstraps; struct phase { Arrayvalue; Arrayabserror; Arrayrelerror; } phase; Arrayphi_centre; Arraywidth; Arraydist2wall; Arrayncoord_strap; struct coord_strap { Arrayr; Arrayz; } coord_strap; } straps; } setup; } antenna_ic; struct antenna_lh { Arrayname; Arrayfrequency; struct power { Arrayvalue; Arrayabserror; Arrayrelerror; } power; struct position { struct r { Arrayvalue; Arrayabserror; Arrayrelerror; } r; struct z { Arrayvalue; Arrayabserror; Arrayrelerror; } z; struct phi { Arrayvalue; Arrayabserror; Arrayrelerror; } phi; } position; struct setup { struct modules { Arraynma_theta; Arraynma_phi; Arraysm_theta; Arrayamplitude; Arrayphase; struct waveguides { Arraynwm_theta; Arraynwm_phi; Arraymask; Arraynpwbm_phi; Arraynpwe_phi; Arraysw_theta; Arrayhw_theta; Arraybwa; Arraybiwp; Arraybewp; Arraye_phi; Arrayscl; } waveguides; } modules; } setup; struct plasmaedge { Arraynpoints; Arraydistance; Arraydensity; } plasmaedge; struct beam { struct spot { Arraywaist; Arrayangle; } spot; struct phaseellipse { Arrayinvcurvrad; Arrayangle; } phaseellipse; } beam; } antenna_lh; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; antennas(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const antennas&obj); }; class antennasArray:Cpo { private: int expIdx; bool connected; public: antennasArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); antennas &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class coredelta:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; Arrayrho_tor; Arrayrho_tor_norm; Arraydelta_psi; Arraydelta_te; Arraydelta_ti; Arraydelta_tz; Arraydelta_ne; Arraydelta_ni; Arraydelta_nz; Arraydelta_vtor; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; coredelta(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const coredelta&obj); }; class coredeltaArray:Cpo { private: int expIdx; bool connected; public: coredeltaArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); coredelta &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class coreneutrals:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayrho_tor; Arrayrho_tor_norm; struct composition { struct atomlist { Arrayamn; Arrayzn; } atomlist; struct neutrallist { Arrayncomp; Arraytatm; Arraymultatm; } neutrallist; struct typelist { Arrayntype; Arraytype; } typelist; } composition; struct profiles { struct n0 { Arrayvalue; Arrayflux; struct boundary { Arrayvalue; Arraytype; Arrayrho_tor; } boundary; } n0; struct t0 { Arrayvalue; Arrayflux; struct boundary { Arrayvalue; Arraytype; Arrayrho_tor; } boundary; } t0; struct v0 { struct toroidal { Arrayvalue; struct boundary { Arrayvalue; Arraytype; Arrayrho_tor; } boundary; } toroidal; struct poloidal { Arrayvalue; struct boundary { Arrayvalue; Arraytype; Arrayrho_tor; } boundary; } poloidal; struct radial { Arrayvalue; struct boundary { Arrayvalue; Arraytype; Arrayrho_tor; } boundary; } radial; } v0; Arrayprad0; } profiles; struct coefficients { struct recycling { Arrayparticles; Arrayenergy; } recycling; struct sputtering { Arrayphysical; Arraychemical; } sputtering; } coefficients; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; coreneutrals(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const coreneutrals&obj); }; class coreneutralsArray:Cpo { private: int expIdx; bool connected; public: coreneutralsArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); coreneutrals &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class coreimpur:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayrho_tor_norm; Arrayrho_tor; Arraysource; Arrayflag; struct desc_impur { Arrayamn; Arrayzn; Arrayi_ion; Arraynzimp; Arrayzmin; Arrayzmax; } desc_impur; Arrayz; Arrayzsq; Arraynz; struct source_term { Arrayvalue; Arrayintegral; Arraysource; } source_term; struct boundary { Arrayvalue; Arraysource; Arraytype; Arrayrho; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } boundary; struct transp_coef { Arraydiff; Arrayvconv; Arraysource; } transp_coef; struct flux { Arrayflux_dv; Arrayflux_interp; } flux; Arraytime_deriv; Arrayatomic_data; double time; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; coreimpur(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const coreimpur&obj); }; class coreimpurArray:Cpo { private: int expIdx; bool connected; public: coreimpurArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); coreimpur &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class coreprof:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayrho_tor_norm; Arrayrho_tor; Arraydrho_dt; struct toroid_field { double b0; double b0prime; double r0; double time; } toroid_field; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; struct psi { Arrayvalue; std::string source; int flag; struct boundary { Arrayvalue; std::string source; int type; double rho; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } boundary; struct jni { Arrayvalue; Arrayintegral; std::string source; } jni; struct sigma_par { Arrayvalue; std::string source; } sigma_par; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } psi; struct te { Arrayvalue; std::string source; int flag; struct boundary { Arrayvalue; std::string source; int type; double rho_tor; } boundary; struct source_term { Arrayvalue; Arrayintegral; std::string source; } source_term; struct transp_coef { Arraydiff; Arrayvconv; std::string source; } transp_coef; struct flux { Arrayflux_dv; Arrayflux_interp; } flux; Arraytime_deriv; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } te; struct ti { Arrayvalue; Arraysource; Arrayflag; struct boundary { Arrayvalue; Arraysource; Arraytype; Arrayrho_tor; } boundary; struct source_term { Arrayvalue; Arrayintegral; Arraysource; } source_term; struct transp_coef { Arraydiff; Arrayvconv; Arraysource; } transp_coef; struct flux { Arrayflux_dv; Arrayflux_interp; } flux; Arraytime_deriv; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } ti; struct ne { Arrayvalue; std::string source; int flag; struct boundary { Arrayvalue; std::string source; int type; double rho_tor; } boundary; struct source_term { Arrayvalue; Arrayintegral; std::string source; } source_term; struct transp_coef { Arraydiff; Arrayvconv; std::string source; } transp_coef; struct flux { Arrayflux_dv; Arrayflux_interp; } flux; Arraytime_deriv; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } ne; struct ni { Arrayvalue; Arraysource; Arrayflag; struct boundary { Arrayvalue; Arraysource; Arraytype; Arrayrho_tor; } boundary; struct source_term { Arrayvalue; Arrayintegral; Arraysource; } source_term; struct transp_coef { Arraydiff; Arrayvconv; Arraysource; } transp_coef; struct flux { Arrayflux_dv; Arrayflux_interp; } flux; Arraytime_deriv; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } ni; struct vtor { Arrayvalue; Arraysource; Arrayflag; struct boundary { Arrayvalue; Arraysource; Arraytype; Arrayrho_tor; } boundary; struct source_term { Arrayvalue; Arrayintegral; Arraysource; } source_term; struct transp_coef { Arraydiff; Arrayvconv; Arraysource; } transp_coef; struct flux { Arrayflux_dv; Arrayflux_interp; } flux; Arraytime_deriv; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } vtor; struct profiles1d { struct pe { Arrayvalue; std::string source; } pe; struct pi { Arrayvalue; Arraysource; } pi; struct pr_th { Arrayvalue; std::string source; } pr_th; struct pr_perp { Arrayvalue; std::string source; } pr_perp; struct pr_parallel { Arrayvalue; std::string source; } pr_parallel; struct jtot { Arrayvalue; std::string source; } jtot; struct jni { Arrayvalue; std::string source; } jni; struct joh { Arrayvalue; std::string source; } joh; struct vloop { Arrayvalue; std::string source; } vloop; struct sigmapar { Arrayvalue; std::string source; } sigmapar; struct qoh { Arrayvalue; std::string source; } qoh; struct eparallel { Arrayvalue; std::string source; } eparallel; struct e_b { Arrayvalue; std::string source; } e_b; struct q { Arrayvalue; std::string source; } q; struct shear { Arrayvalue; std::string source; } shear; struct ns { Arrayvalue; Arraysource; } ns; struct mtor { Arrayvalue; Arraysource; } mtor; struct wtor { Arrayvalue; Arraysource; } wtor; struct zeff { Arrayvalue; std::string source; } zeff; struct bpol { Arrayvalue; std::string source; } bpol; struct dpsidt { Arrayvalue; std::string source; } dpsidt; struct dpsidt_phi { Arrayvalue; std::string source; } dpsidt_phi; struct dvprimedt { Arrayvalue; std::string source; } dvprimedt; } profiles1d; struct globalparam { double current_tot; double current_bnd; double vloop; double li; double beta_tor; double beta_normal; double beta_pol; double w_dia; } globalparam; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; coreprof(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const coreprof&obj); }; class coreprofArray:Cpo { private: int expIdx; bool connected; public: coreprofArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); coreprof &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class coresource:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayrho_tor; Arrayrho_tor_norm; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; struct toroid_field { double r0; double b0; } toroid_field; Arrayj; Arraysigma; struct si { Arrayexp; Arrayimp; } si; struct se { Arrayexp; Arrayimp; } se; struct sz { Arrayexp; Arrayimp; } sz; struct qi { Arrayexp; Arrayimp; } qi; struct qe { Arrayexp; Arrayimp; } qe; struct qz { Arrayexp; Arrayimp; } qz; struct ui { Arrayexp; Arrayimp; } ui; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; coresource(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const coresource&obj); }; class coresourceArray:Cpo { private: int expIdx; bool connected; public: coresourceArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); coresource &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class coretransp:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; Arrayrho_tor_norm; Arrayrho_tor; Arraysigma; struct ni_transp { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } ni_transp; struct ne_transp { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } ne_transp; struct nz_transp { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayflux; int flag; } nz_transp; struct ti_transp { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayqgi; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } ti_transp; struct te_transp { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } te_transp; struct tz_transp { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayflux; int flag; } tz_transp; struct vtor_transp { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } vtor_transp; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; coretransp(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const coretransp&obj); }; class coretranspArray:Cpo { private: int expIdx; bool connected; public: coretranspArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); coretransp &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class cxdiag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct setup { struct position { struct r { Arrayvalue; Arrayabserror; Arrayrelerror; } r; struct z { Arrayvalue; Arrayabserror; Arrayrelerror; } z; struct phi { Arrayvalue; Arrayabserror; Arrayrelerror; } phi; } position; } setup; struct measure { struct ti { Arrayvalue; Arrayabserror; Arrayrelerror; } ti; struct vtor { Arrayvalue; Arrayabserror; Arrayrelerror; } vtor; struct vpol { Arrayvalue; Arrayabserror; Arrayrelerror; } vpol; } measure; double time; cxdiag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const cxdiag&obj); }; class cxdiagArray:Cpo { private: int expIdx; bool connected; public: cxdiagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); cxdiag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class distribution:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; Arraycalc_spec; struct nucl_reac { Arraynreacs; Arraypoint_reac; Arrayid_reac; } nucl_reac; struct global_param { Arrayenrg; Arrayenrg_para; Arraypow_coll_i; Arraypow_coll_e; struct therm_src { Arrayparticles; Arraypower; Arraytorque; } therm_src; struct losses { struct orb_loss { Arrayparticles; Arraypower; Arraytorque; } orb_loss; struct neutr_loss { Arrayparticles; Arraypower; Arraytorque; } neutr_loss; } losses; Arraycur_dr_tor; Arraytrq_i; Arraytrq_e; Arraytrq_j_rxb; struct nucl_reac_th { Arrayrate; Arraypower; } nucl_reac_th; struct nucl_reac_sf { Arrayrate; Arraypower; } nucl_reac_sf; } global_param; struct profiles_1d { Arraynpsi; Arrayrho_tor_norm; Arrayrho_tor; Arraypsi; Arrayenrgd_tot; Arrayenrgd_para; Arraypowd_coll_i; Arraypowd_coll_e; struct therm_srcd { Arrayparticlesd; Arraypowerd; Arraytorqued; } therm_srcd; struct lossesd { struct orb_loss { Arrayparticlesd; Arraypowerd; Arraytorqued; } orb_loss; struct neutr_loss { Arrayparticlesd; Arraypowerd; Arraytorqued; } neutr_loss; } lossesd; Arraycurd_fp; Arraycurd_dr; Arraytrqd_i; Arraytrqd_e; Arraytrqd_jrxb; struct nucl_rd_th { Arrayrated; Arraypowerd; } nucl_rd_th; struct nucl_rd_sf { Arrayrate; Arraypower; } nucl_rd_sf; Arrayenrg_tot; Arrayenrg_para; Arraypow_coll_i; Arraypow_coll_e; struct therm_src { Arrayparticles; Arraypower; Arraytorque; } therm_src; struct losses { struct orb_loss { Arrayparticles; Arraypower; Arraytorque; } orb_loss; struct neutr_loss { Arrayparticles; Arraypower; Arraytorque; } neutr_loss; } losses; Arraycur_fp; Arraycur_dr; Arraytrq_i; Arraytrq_e; Arraytrq_j_rxb; struct nucl_reac_th { Arrayrate; Arraypower; } nucl_reac_th; struct nucl_reac_sf { Arrayrate; Arraypower; } nucl_reac_sf; } profiles_1d; struct dist_func { Arraysol_type; struct test_part { Arraynvar; Arrayvar_id; Arrayvar1; Arrayvar2; Arrayvar3; Arrayvar4; Arrayvar5; Arrayvar6; Arrayweight; } test_part; struct f0 { Arraygrid_type; struct grid { Arraydim1; Arrayndim1; Arraydim2; Arrayndim2; Arraydim3; Arrayndim3; Arrayjacobian; } grid; Arrayvalue; } f0; struct fullf { Arraygrid_type; struct grid { Arraydim1; Arrayndim1; Arraydim2; Arrayndim2; Arraydim3; Arrayndim3; Arrayjacobian; } grid; Arrayvalue; } fullf; } dist_func; struct input_src { struct particle_src { struct total { Arrayparticles; Arraypower; Arraytorque; } total; struct volume_intgr { Arrayparticles; Arraypower; Arraytorque; } volume_intgr; struct flux_surf_av { Arrayparticlesd; Arraypowerd; Arraytorqued; } flux_surf_av; } particle_src; struct wave_src { Arraytype; Arraywave_power; Arraywave_powerd; } wave_src; } input_src; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; distribution(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const distribution&obj); }; class distributionArray:Cpo { private: int expIdx; bool connected; public: distributionArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); distribution &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class distsource:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; Arraysrc_spec; struct global_param { Arraysrc_pow; Arraysrc_rate; } global_param; struct profiles_1d { Arraynpsi; Arrayrho_tor_norm; Arrayrho_tor; Arraypsi; Arraypow_den; Arraysrc_rate; } profiles_1d; struct source_4d { Arraygyrosrc_type; Arraygrid_type; struct rect_grid { Arrayndim1; Arrayndim2; Arrayndim3; Arrayndim4; Arraydim1; Arraydim2; Arraydim3; Arraydim4; Arrayjacobian; } rect_grid; Arraysource; } source_4d; struct source_tp { Arrayn_particles; int var_type; Arrayvar1; Arrayvar2; Arrayvar3; Arrayvar4; Arrayvar5; Arrayvar6; Arrayweight; } source_tp; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; distsource(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const distsource&obj); }; class distsourceArray:Cpo { private: int expIdx; bool connected; public: distsourceArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); distsource &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class ecediag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct setup { Arrayfrequency; struct position { struct r { Arrayvalue; Arrayabserror; Arrayrelerror; } r; struct z { Arrayvalue; Arrayabserror; Arrayrelerror; } z; struct phi { Arrayvalue; Arrayabserror; Arrayrelerror; } phi; } position; } setup; struct measure { struct te { Arrayvalue; Arrayabserror; Arrayrelerror; } te; } measure; double time; ecediag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const ecediag&obj); }; class ecediagArray:Cpo { private: int expIdx; bool connected; public: ecediagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); ecediag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class edge:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct grid { struct spaces { int nspace; struct space_1 { Arraytype_coord; Arraynode_value; struct alter_coord { Arraytype_coord; Arraynode_value; } alter_coord; Arraynobject; Arraynobject_bou; int neighborside; Arrayneighbors; ArrayOBJDEF; struct properties { Arrayalias; Arraytype; Arrayis_x; std::string node_connect; struct bezier { Arrayu; Arrayv; Arrayw; } bezier; } properties; } space_1; struct space_2 { Arraytype_coord; Arraynode_value; struct alter_coord { Arraytype_coord; Arraynode_value; } alter_coord; Arraynobject; Arraynobject_bou; int neighborside; Arrayneighbors; ArrayOBJDEF; struct properties { Arrayalias; Arraytype; Arrayis_x; std::string node_connect; struct bezier { Arrayu; Arrayv; Arrayw; } bezier; } properties; } space_2; struct space_3 { Arraytype_coord; Arraynode_value; struct alter_coord { Arraytype_coord; Arraynode_value; } alter_coord; Arraynobject; Arraynobject_bou; int neighborside; Arrayneighbors; ArrayOBJDEF; struct properties { Arrayalias; Arraytype; Arrayis_x; std::string node_connect; struct bezier { Arrayu; Arrayv; Arrayw; } bezier; } properties; } space_3; struct space_4 { Arraytype_coord; Arraynode_value; struct alter_coord { Arraytype_coord; Arraynode_value; } alter_coord; Arraynobject; Arraynobject_bou; int neighborside; Arrayneighbors; ArrayOBJDEF; struct properties { Arrayalias; Arraytype; Arrayis_x; std::string node_connect; struct bezier { Arrayu; Arrayv; Arrayw; } bezier; } properties; } space_4; struct space_5 { Arraytype_coord; Arraynode_value; struct alter_coord { Arraytype_coord; Arraynode_value; } alter_coord; Arraynobject; Arraynobject_bou; int neighborside; Arrayneighbors; ArrayOBJDEF; struct properties { Arrayalias; Arraytype; Arrayis_x; std::string node_connect; struct bezier { Arrayu; Arrayv; Arrayw; } bezier; } properties; } space_5; } spaces; Arraymetric; } grid; Arrayte; Arrayne; double time; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; edge(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const edge&obj); }; class edgeArray:Cpo { private: int expIdx; bool connected; public: edgeArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); edge &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class equilibrium:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct eqconstraint { struct bpol { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } bpol; struct bvac_r { double measured; std::string source; double time; int exact; double weight; double sigma; double calculated; double chi2; } bvac_r; struct faraday { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } faraday; struct flux { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } flux; struct i_plasma { double measured; std::string source; double time; int exact; double weight; double sigma; double calculated; double chi2; } i_plasma; struct isoflux { struct position { Arrayr; Arrayz; } position; std::string source; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } isoflux; struct jsurf { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } jsurf; struct magnet_iron { struct mr { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } mr; struct mz { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } mz; } magnet_iron; struct mse { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } mse; struct ne { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } ne; struct pfcurrent { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } pfcurrent; struct pressure { Arraymeasured; std::string source; double time; Arrayexact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } pressure; struct q { Arrayqvalue; struct position { Arrayr; Arrayz; } position; std::string source; int exact; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } q; struct xpts { struct position { Arrayr; Arrayz; } position; std::string source; Arrayweight; Arraysigma; Arraycalculated; Arraychi2; } xpts; } eqconstraint; struct eqgeometry { std::string source; int boundarytype; struct boundary { Arrayr; Arrayz; int npoints; } boundary; struct geom_axis { double r; double z; } geom_axis; double a_minor; double elongation; double tria_upper; double tria_lower; struct xpts { Arrayr; Arrayz; } xpts; struct left_low_st { double r; double z; } left_low_st; struct right_low_st { double r; double z; } right_low_st; struct left_up_st { double r; double z; } left_up_st; struct right_up_st { double r; double z; } right_up_st; struct active_limit { double r; double z; } active_limit; } eqgeometry; struct flush { struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct position { Arrayr; Arrayz; } position; Arraycoef; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; } flush; struct global_param { double beta_pol; double beta_tor; double beta_normal; double i_plasma; double li; double volume; double area; double psi_ax; double psi_bound; struct mag_axis { struct position { double r; double z; } position; double bphi; double q; } mag_axis; double q_95; double q_min; struct toroid_field { double r0; double b0; } toroid_field; double w_mhd; } global_param; struct profiles_1d { Arraypsi; Arrayphi; Arraypressure; ArrayF_dia; Arraypprime; Arrayffprime; Arrayjphi; Arrayjparallel; Arrayq; Arrayr_inboard; Arrayr_outboard; Arrayrho_tor; Arrayrho_vol; Arraybeta_pol; Arrayli; Arrayelongation; Arraytria_upper; Arraytria_lower; Arrayvolume; Arrayvprime; Arrayarea; Arrayaprime; Arraysurface; Arrayftrap; Arraygm1; Arraygm2; Arraygm3; Arraygm4; Arraygm5; Arraygm6; Arraygm7; Arraygm8; Arraygm9; } profiles_1d; struct profiles_2d { std::string grid_type; struct grid { Arraydim1; Arraydim2; Arrayconnect; } grid; Arraypsi_grid; Arrayjphi_grid; Arrayjpar_grid; Arraybr; Arraybz; Arraybphi; struct position { Arrayr; Arrayz; } position; } profiles_2d; struct coord_sys { std::string grid_type; struct grid { Arraydim1; Arraydim2; } grid; Arrayjacobian; Arrayg_11; Arrayg_12; Arrayg_13; Arrayg_22; Arrayg_23; Arrayg_33; struct position { Arrayr; Arrayz; } position; } coord_sys; double time; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; equilibrium(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const equilibrium&obj); }; class equilibriumArray:Cpo { private: int expIdx; bool connected; public: equilibriumArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); equilibrium &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class interfdiag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; std::string expression; struct setup_line { struct pivot_point { Arrayr; Arrayz; Arrayphi; } pivot_point; Arrayhorchordang1; Arrayverchordang1; Arraywidth; struct second_point { Arrayr; Arrayz; Arrayphi; } second_point; Arrayhorchordang2; Arrayverchordang2; struct third_point { Arrayr; Arrayz; Arrayphi; } third_point; int nchordpoints; } setup_line; struct measure { Arrayvalue; Arrayabserror; Arrayrelerror; } measure; double time; interfdiag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const interfdiag&obj); }; class interfdiagArray:Cpo { private: int expIdx; bool connected; public: interfdiagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); interfdiag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class ironmodel:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct desc_iron { Arrayname; Arrayid; struct permeability { Arrayb; Arraymur; } permeability; struct geom_iron { Arraynpoints; struct rzcoordinate { Arrayr; Arrayz; } rzcoordinate; } geom_iron; } desc_iron; struct magnetise { struct mr { Arrayvalue; Arrayabserror; Arrayrelerror; } mr; struct mz { Arrayvalue; Arrayabserror; Arrayrelerror; } mz; } magnetise; double time; ironmodel(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const ironmodel&obj); }; class ironmodelArray:Cpo { private: int expIdx; bool connected; public: ironmodelArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); ironmodel &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class launchs:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayname; Arraytype; Arrayfrequency; Arraymode; struct position { Arrayr; Arrayz; Arrayphi; } position; struct spectrum { Arraynn_phi; Arraynn_theta; Arrayn_phi; Arrayn_theta; Arraypower; } spectrum; struct beam { struct spot { Arraywaist; Arrayangle; } spot; struct phaseellipse { Arrayinvcurvrad; Arrayangle; } phaseellipse; } beam; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; launchs(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const launchs&obj); }; class launchsArray:Cpo { private: int expIdx; bool connected; public: launchsArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); launchs &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class limiter:Cpo { private: int expIdx; bool connected; public: struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct position { Arrayr; Arrayz; } position; limiter(); void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} int get(); int get(int idx); int put(); int put(int idx); friend ostream &operator << (ostream &os, const limiter&obj); }; class mhd:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayn; Arraym; Arraypsi; Arrayfrequency; Arraygrowthrate; Arraydisp_perp; Arraydisp_par; Arraytau_alfven; Arraytau_resistive; double time; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; mhd(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const mhd&obj); }; class mhdArray:Cpo { private: int expIdx; bool connected; public: mhdArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); mhd &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class magdiag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct ip { double value; double abserror; double relerror; } ip; struct diamagflux { double value; double abserror; double relerror; } diamagflux; struct flux_loops { struct setup_floops { Arrayname; Arrayid; struct position { Arrayr; Arrayz; Arrayphi; } position; Arraynpoints; } setup_floops; struct measure { Arrayvalue; Arrayabserror; Arrayrelerror; } measure; } flux_loops; struct bpol_probes { struct setup_bprobe { Arrayname; Arrayid; struct position { Arrayr; Arrayz; } position; Arraypolangle; Arraytorangle; Arrayarea; Arraylength; Arrayturns; } setup_bprobe; struct measure { Arrayvalue; Arrayabserror; Arrayrelerror; } measure; } bpol_probes; double time; magdiag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const magdiag&obj); }; class magdiagArray:Cpo { private: int expIdx; bool connected; public: magdiagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); magdiag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class msediag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct setup_mse { struct rzgamma { Arrayr; Arrayz; Arrayphi; Arraydr; Arraydz; Arraydphi; } rzgamma; Arraygeom_coef; } setup_mse; struct measure { Arrayvalue; Arrayabserror; Arrayrelerror; } measure; double time; msediag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const msediag&obj); }; class msediagArray:Cpo { private: int expIdx; bool connected; public: msediagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); msediag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class nbi:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; Arrayinj_spec; Arraynunits_spec; Arrayspec2unit; Arrayunit2spec; struct pow_unit { Arrayvalue; Arrayabserror; Arrayrelerror; } pow_unit; struct inj_eng_unit { Arrayvalue; Arrayabserror; Arrayrelerror; } inj_eng_unit; struct halfe_cfr { Arrayvalue; Arrayabserror; Arrayrelerror; } halfe_cfr; struct thirde_cfr { Arrayvalue; Arrayabserror; Arrayrelerror; } thirde_cfr; struct setup_inject { struct position { Arrayr; Arrayz; Arrayphi; } position; Arraytang_rad; Arrayangle; Arraydirection; Arraydiv_vert; Arraydiv_horiz; Arrayfocal_len_hz; Arrayfocal_len_vc; struct beamlets { Arraynbeamlets; struct position { Arrayr; Arrayz; Arrayphi; } position; Arraytang_rad_blt; Arrayangle_blt; Arraypow_frc_blt; } beamlets; } setup_inject; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; nbi(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const nbi&obj); }; class nbiArray:Cpo { private: int expIdx; bool connected; public: nbiArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); nbi &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class neoclassic:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; Arrayrho_tor_norm; Arrayrho_tor; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; struct ni_neo { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayqgi; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } ni_neo; struct ne_neo { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } ne_neo; struct nz_neo { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayflux; int flag; } nz_neo; struct ti_neo { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayqgi; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } ti_neo; struct te_neo { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } te_neo; struct tz_neo { Arraydiff_eff; Arrayvconv_eff; Arrayexchange; Arrayflux; int flag; } tz_neo; struct mtor_neo { Arraydiff_eff; Arrayvconv_eff; Arrayflux; struct off_diagonal { Arrayd_ni; Arrayd_ti; Arrayd_ne; Arrayd_te; Arrayd_epar; Arrayd_mtor; } off_diagonal; int flag; } mtor_neo; Arraysigma; Arrayjboot; Arrayer; Arrayvpol; Arrayfext; Arrayjext; double time; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; neoclassic(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const neoclassic&obj); }; class neoclassicArray:Cpo { private: int expIdx; bool connected; public: neoclassicArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); neoclassic &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class orbit:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct orbitt_id { double amn; double zion; Arrayenergy; Arraymagn_mom; Arrayp_phi; Arraysigma; } orbitt_id; struct orb_trace { Arraytime_orb; Arrayntorb; Arrayr; Arrayz; Arraypsi; Arraytheta_b; Arrayv_parallel; Arrayv_perp; } orb_trace; struct orb_glob_dat { Arrayorbit_type; Arrayomega_b; Arrayomega_phi; Arrayomega_c_av; struct special_pos { struct midplane { struct outer { Arrayr; Arrayz; Arraypsi; Arraytheta_b; } outer; struct inner { Arrayr; Arrayz; Arraypsi; Arraytheta_b; } inner; } midplane; struct turning_pts { struct upper { Arrayr; Arrayz; Arraypsi; Arraytheta_b; } upper; struct lower { Arrayr; Arrayz; Arraypsi; Arraytheta_b; } lower; } turning_pts; } special_pos; } orb_glob_dat; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; orbit(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const orbit&obj); }; class orbitArray:Cpo { private: int expIdx; bool connected; public: orbitArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); orbit &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class pfsystems:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct pfcoils { struct desc_pfcoils { Arrayname; Arrayid; Arrayres; Arrayemax; Arraynelement; struct pfelement { Arrayname; Arrayid; Arrayturnsign; Arrayarea; struct pfgeometry { Arraytype; Arraynpoints; struct rzcoordinate { Arrayr; Arrayz; } rzcoordinate; Arrayrzdrdz; } pfgeometry; } pfelement; } desc_pfcoils; struct coilcurrent { Arrayvalue; Arrayabserror; Arrayrelerror; } coilcurrent; struct coilvoltage { Arrayvalue; Arrayabserror; Arrayrelerror; } coilvoltage; } pfcoils; struct pfpassive { Arrayarea; Arrayres; struct pfpageometry { Arraytype; Arraynpoints; struct rzcoordinate { Arrayr; Arrayz; } rzcoordinate; Arrayrzdrdz; } pfpageometry; } pfpassive; struct pfcircuits { Arrayname; Arrayid; Arraytype; Arraynnodes; Arrayconnections; } pfcircuits; struct pfsupplies { struct desc_supply { Arrayname; Arrayid; Arraytype; Arraydelay; struct filter { Arraynum; Arrayden; } filter; Arrayimin; Arrayimax; Arrayres; Arrayumin; Arrayumax; Arrayemax; } desc_supply; struct voltage { Arrayvalue; Arrayabserror; Arrayrelerror; } voltage; struct current { Arrayvalue; Arrayabserror; Arrayrelerror; } current; } pfsupplies; double time; pfsystems(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const pfsystems&obj); }; class pfsystemsArray:Cpo { private: int expIdx; bool connected; public: pfsystemsArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); pfsystems &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class polardiag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; std::string expression; struct setup_line { struct pivot_point { Arrayr; Arrayz; Arrayphi; } pivot_point; Arrayhorchordang1; Arrayverchordang1; Arraywidth; struct second_point { Arrayr; Arrayz; Arrayphi; } second_point; Arrayhorchordang2; Arrayverchordang2; struct third_point { Arrayr; Arrayz; Arrayphi; } third_point; int nchordpoints; } setup_line; struct measure { Arrayvalue; Arrayabserror; Arrayrelerror; } measure; double time; polardiag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const polardiag&obj); }; class polardiagArray:Cpo { private: int expIdx; bool connected; public: polardiagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); polardiag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class reference:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct non_timed { struct zerod_real { struct ref1 { double value; std::string description; } ref1; struct ref2 { double value; std::string description; } ref2; struct ref3 { double value; std::string description; } ref3; struct ref4 { double value; std::string description; } ref4; struct ref5 { double value; std::string description; } ref5; struct ref6 { double value; std::string description; } ref6; struct ref7 { double value; std::string description; } ref7; } zerod_real; struct zerod_int { struct ref1 { int value; std::string description; } ref1; struct ref2 { int value; std::string description; } ref2; struct ref3 { int value; std::string description; } ref3; struct ref4 { int value; std::string description; } ref4; } zerod_int; struct zerod_string { struct ref1 { std::string value; std::string description; } ref1; struct ref2 { std::string value; std::string description; } ref2; } zerod_string; struct oned_real { struct ref1 { Arrayvalue; std::string description; } ref1; struct ref2 { Arrayvalue; std::string description; } ref2; struct ref3 { Arrayvalue; std::string description; } ref3; struct ref4 { Arrayvalue; std::string description; } ref4; struct ref5 { Arrayvalue; std::string description; } ref5; } oned_real; struct oned_int { struct ref1 { Arrayvalue; std::string description; } ref1; struct ref2 { Arrayvalue; std::string description; } ref2; struct ref3 { Arrayvalue; std::string description; } ref3; struct ref4 { Arrayvalue; std::string description; } ref4; } oned_int; } non_timed; struct timed { struct zerod_real { struct ref1 { double value; std::string description; } ref1; struct ref2 { double value; std::string description; } ref2; struct ref3 { double value; std::string description; } ref3; struct ref4 { double value; std::string description; } ref4; struct ref5 { double value; std::string description; } ref5; struct ref6 { double value; std::string description; } ref6; struct ref7 { double value; std::string description; } ref7; struct ref8 { double value; std::string description; } ref8; struct ref9 { double value; std::string description; } ref9; struct ref10 { double value; std::string description; } ref10; } zerod_real; struct zerod_int { struct ref1 { int value; std::string description; } ref1; struct ref2 { int value; std::string description; } ref2; struct ref3 { int value; std::string description; } ref3; struct ref4 { int value; std::string description; } ref4; } zerod_int; struct oned_real { struct ref1 { Arrayvalue; std::string description; } ref1; struct ref2 { Arrayvalue; std::string description; } ref2; struct ref3 { Arrayvalue; std::string description; } ref3; struct ref4 { Arrayvalue; std::string description; } ref4; struct ref5 { Arrayvalue; std::string description; } ref5; } oned_real; struct oned_int { struct ref1 { Arrayvalue; std::string description; } ref1; struct ref2 { Arrayvalue; std::string description; } ref2; struct ref3 { Arrayvalue; std::string description; } ref3; struct ref4 { Arrayvalue; std::string description; } ref4; } oned_int; } timed; double time; reference(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const reference&obj); }; class referenceArray:Cpo { private: int expIdx; bool connected; public: referenceArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); reference &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class sawteeth:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; int crash_trig; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; Arrayrho_tor_norm; Arrayrho_tor; struct profiles1d { Arrayne; Arrayni; Arrayte; Arrayti; Arraypsi; Arrayphi; Arraypsistar; Arrayvolume; Arrayq; } profiles1d; struct diags { double shear1; double rhotorn_q1; double rhotorn_inv; double rhotorn_mix; } diags; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; sawteeth(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const sawteeth&obj); }; class sawteethArray:Cpo { private: int expIdx; bool connected; public: sawteethArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); sawteeth &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class scenario:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct centre { struct te0 { double value; std::string source; } te0; struct ti0 { double value; std::string source; } ti0; struct ne0 { double value; std::string source; } ne0; struct ni0 { double value; std::string source; } ni0; struct shift0 { double value; std::string source; } shift0; struct psi0 { double value; std::string source; } psi0; struct phi0 { double value; std::string source; } phi0; struct q0 { double value; std::string source; } q0; struct Rmag { double value; std::string source; } Rmag; struct Zmag { double value; std::string source; } Zmag; struct vtor_0 { double value; std::string source; } vtor_0; } centre; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; Arrayrot_imp_flag; Arraypellet_amn; Arraypellet_zn; Arraynbi_amn; Arraynbi_zn; } composition; struct configs { struct config { int value; std::string source; } config; std::string lmode_sc; std::string hmode_sc; std::string core_sc; std::string pedestal_sc; std::string helium_sc; std::string impurity_sc; std::string l2h_sc; std::string tor_rot_sc; std::string wall_mat; std::string evap_mat; std::string lim_mat; std::string div_mat; std::string coordinate; struct ecrh_freq { double value; std::string source; } ecrh_freq; struct ecrh_loc { double value; std::string source; } ecrh_loc; struct ecrh_mode { int value; std::string source; } ecrh_mode; struct ecrh_tor_ang { double value; std::string source; } ecrh_tor_ang; struct ecrh_pol_ang { double value; std::string source; } ecrh_pol_ang; struct ecrh_harm { int value; std::string source; } ecrh_harm; struct enbi { double value; std::string source; } enbi; struct r_nbi { double value; std::string source; } r_nbi; struct grad_b_drift { int value; std::string source; } grad_b_drift; struct icrh_freq { double value; std::string source; } icrh_freq; std::string icrh_scheme; struct icrh_phase { double value; std::string source; } icrh_phase; struct LH_freq { double value; std::string source; } LH_freq; struct LH_npar { double value; std::string source; } LH_npar; struct pellet_ang { double value; std::string source; } pellet_ang; struct pellet_v { double value; std::string source; } pellet_v; struct pellet_nba { double value; std::string source; } pellet_nba; } configs; struct confinement { struct tau_e { double value; std::string source; } tau_e; struct tau_l_sc { double value; std::string source; } tau_l_sc; struct tau_h_sc { double value; std::string source; } tau_h_sc; struct tau_he { double value; std::string source; } tau_he; struct tau_e_ee { double value; std::string source; } tau_e_ee; struct tau_e_ii { double value; std::string source; } tau_e_ii; struct tau_e_ei { double value; std::string source; } tau_e_ei; struct tau_cur_diff { double value; std::string source; } tau_cur_diff; struct tau_i_rol { double value; std::string source; } tau_i_rol; } confinement; struct currents { struct RR { double value; std::string source; } RR; struct i_align { double value; std::string source; } i_align; struct i_boot { double value; std::string source; } i_boot; struct i_cd_tot { double value; std::string source; } i_cd_tot; struct i_eccd { double value; std::string source; } i_eccd; struct i_fast_ion { double value; std::string source; } i_fast_ion; struct i_fwcd { double value; std::string source; } i_fwcd; struct i_lhcd { double value; std::string source; } i_lhcd; struct i_nbicd { double value; std::string source; } i_nbicd; struct i_ni_tot { double value; std::string source; } i_ni_tot; struct i_ohm { double value; std::string source; } i_ohm; struct i_par { double value; std::string source; } i_par; struct i_runaway { double value; std::string source; } i_runaway; struct v_loop { double value; std::string source; } v_loop; struct v_meas { double value; std::string source; } v_meas; } currents; struct edge { struct te_edge { double value; std::string source; } te_edge; struct ti_edge { double value; std::string source; } ti_edge; struct ne_edge { double value; std::string source; } ne_edge; struct ni_edge { double value; std::string source; } ni_edge; struct psi_edge { double value; std::string source; } psi_edge; struct phi_edge { double value; std::string source; } phi_edge; struct rho_edge { double value; std::string source; } rho_edge; struct drho_edge_dt { double value; std::string source; } drho_edge_dt; struct q_edge { double value; std::string source; } q_edge; struct neutral_flux { double value; std::string source; } neutral_flux; struct phi_plasma { double value; std::string source; } phi_plasma; struct vtor_edge { double value; std::string source; } vtor_edge; } edge; struct energy { struct w_tot { double value; std::string source; } w_tot; struct w_b_pol { double value; std::string source; } w_b_pol; struct w_dia { double value; std::string source; } w_dia; struct dwdia_dt { double value; std::string source; } dwdia_dt; struct w_b_tor_pla { double value; std::string source; } w_b_tor_pla; struct w_th { double value; std::string source; } w_th; struct dwtot_dt { double value; std::string source; } dwtot_dt; struct dwbpol_dt { double value; std::string source; } dwbpol_dt; struct dwbtorpla_dt { double value; std::string source; } dwbtorpla_dt; struct dwth_dt { double value; std::string source; } dwth_dt; struct esup_icrhtot { double value; std::string source; } esup_icrhtot; struct esup_icrhper { double value; std::string source; } esup_icrhper; struct esup_nbitot { double value; std::string source; } esup_nbitot; struct esup_nbiperp { double value; std::string source; } esup_nbiperp; struct esup_lhcd { double value; std::string source; } esup_lhcd; struct esup_alpha { double value; std::string source; } esup_alpha; } energy; struct eqgeometry { std::string source; int boundarytype; struct boundary { Arrayr; Arrayz; int npoints; } boundary; struct geom_axis { double r; double z; } geom_axis; double a_minor; double elongation; double tria_upper; double tria_lower; struct xpts { Arrayr; Arrayz; } xpts; struct left_low_st { double r; double z; } left_low_st; struct right_low_st { double r; double z; } right_low_st; struct left_up_st { double r; double z; } left_up_st; struct right_up_st { double r; double z; } right_up_st; struct active_limit { double r; double z; } active_limit; } eqgeometry; struct global_param { struct ip { double value; std::string source; } ip; struct dip_dt { double value; std::string source; } dip_dt; struct beta_pol { double value; std::string source; } beta_pol; struct beta_tor { double value; std::string source; } beta_tor; struct beta_normal { double value; std::string source; } beta_normal; struct li { double value; std::string source; } li; struct volume { double value; std::string source; } volume; struct area_pol { double value; std::string source; } area_pol; struct area_ext { double value; std::string source; } area_ext; struct len_sepa { double value; std::string source; } len_sepa; struct beta_pol_th { double value; std::string source; } beta_pol_th; struct beta_tor_th { double value; std::string source; } beta_tor_th; struct beta_n_th { double value; std::string source; } beta_n_th; struct disruption { double value; std::string source; } disruption; struct mode_h { double value; std::string source; } mode_h; struct s_alpha { double value; std::string source; } s_alpha; } global_param; struct heat_power { struct plh { double value; std::string source; } plh; struct pohmic { double value; std::string source; } pohmic; struct picrh { double value; std::string source; } picrh; struct pecrh { double value; std::string source; } pecrh; struct pnbi { double value; std::string source; } pnbi; struct pnbi_co_cur { double value; std::string source; } pnbi_co_cur; struct pnbi_counter { double value; std::string source; } pnbi_counter; struct plh_th { double value; std::string source; } plh_th; struct picrh_th { double value; std::string source; } picrh_th; struct pecrh_th { double value; std::string source; } pecrh_th; struct pnbi_th { double value; std::string source; } pnbi_th; struct ploss_icrh { double value; std::string source; } ploss_icrh; struct ploss_nbi { double value; std::string source; } ploss_nbi; struct pbrem { double value; std::string source; } pbrem; struct pcyclo { double value; std::string source; } pcyclo; struct prad { double value; std::string source; } prad; struct pdd_fus { double value; std::string source; } pdd_fus; struct pei { double value; std::string source; } pei; struct pel_tot { double value; std::string source; } pel_tot; struct pel_fus { double value; std::string source; } pel_fus; struct pel_icrh { double value; std::string source; } pel_icrh; struct pel_nbi { double value; std::string source; } pel_nbi; struct pfus_dt { double value; std::string source; } pfus_dt; struct ploss_fus { double value; std::string source; } ploss_fus; struct pfus_nbi { double value; std::string source; } pfus_nbi; struct pfus_th { double value; std::string source; } pfus_th; struct padd_tot { double value; std::string source; } padd_tot; struct pion_tot { double value; std::string source; } pion_tot; struct pion_fus { double value; std::string source; } pion_fus; struct pion_icrh { double value; std::string source; } pion_icrh; struct pion_nbi { double value; std::string source; } pion_nbi; struct pioniz { double value; std::string source; } pioniz; struct ploss { double value; std::string source; } ploss; struct p_wth { double value; std::string source; } p_wth; struct p_w { double value; std::string source; } p_w; struct p_l2h_thr { double value; std::string source; } p_l2h_thr; struct p_l2h_sc { double value; std::string source; } p_l2h_sc; struct p_nbi_icrh { double value; std::string source; } p_nbi_icrh; } heat_power; struct itb { struct q_min { double value; std::string source; } q_min; struct te_itb { double value; std::string source; } te_itb; struct ti_itb { double value; std::string source; } ti_itb; struct ne_itb { double value; std::string source; } ne_itb; struct ni_itb { double value; std::string source; } ni_itb; struct psi_itb { double value; std::string source; } psi_itb; struct phi_itb { double value; std::string source; } phi_itb; struct rho_itb { double value; std::string source; } rho_itb; struct h_itb { double value; std::string source; } h_itb; struct width_itb { double value; std::string source; } width_itb; struct vtor_itb { double value; std::string source; } vtor_itb; struct itb_type { int value; std::string source; } itb_type; } itb; struct lim_div_wall { struct te_lim_div { double value; std::string source; } te_lim_div; struct ti_lim_div { double value; std::string source; } ti_lim_div; struct ne_lim_div { double value; std::string source; } ne_lim_div; struct ni_lim_div { double value; std::string source; } ni_lim_div; struct p_peak_div { double value; std::string source; } p_peak_div; struct surf_temp { double value; std::string source; } surf_temp; struct p_lim_div { double value; std::string source; } p_lim_div; struct p_rad_div { double value; std::string source; } p_rad_div; struct wall_temp { double value; std::string source; } wall_temp; struct wall_state { double value; std::string source; } wall_state; struct detach_state { double value; std::string source; } detach_state; Arraypump_flux; } lim_div_wall; struct line_ave { struct ne_line { double value; std::string source; } ne_line; struct zeff_line { double value; std::string source; } zeff_line; struct ne_zeff_line { double value; std::string source; } ne_zeff_line; struct dne_line_dt { double value; std::string source; } dne_line_dt; } line_ave; struct neutron { struct ndd_tot { double value; std::string source; } ndd_tot; struct ndd_th { double value; std::string source; } ndd_th; struct ndd_nbi_th { double value; std::string source; } ndd_nbi_th; struct ndd_nbi_nbi { double value; std::string source; } ndd_nbi_nbi; struct ndt_tot { double value; std::string source; } ndt_tot; struct ndt_th { double value; std::string source; } ndt_th; } neutron; struct ninety_five { struct q_95 { double value; std::string source; } q_95; struct elong_95 { double value; std::string source; } elong_95; struct tria_95 { double value; std::string source; } tria_95; struct tria_up_95 { double value; std::string source; } tria_up_95; struct tria_lo_95 { double value; std::string source; } tria_lo_95; struct te_95 { double value; std::string source; } te_95; struct ti_95 { double value; std::string source; } ti_95; struct ne_95 { double value; std::string source; } ne_95; struct ni_95 { double value; std::string source; } ni_95; struct phi_95 { double value; std::string source; } phi_95; struct rho_95 { double value; std::string source; } rho_95; struct vtor_95 { double value; std::string source; } vtor_95; } ninety_five; struct pedestal { struct te_ped { double value; std::string source; } te_ped; struct ti_ped { double value; std::string source; } ti_ped; struct ne_ped { double value; std::string source; } ne_ped; struct ni_ped { double value; std::string source; } ni_ped; struct psi_ped { double value; std::string source; } psi_ped; struct phi_ped { double value; std::string source; } phi_ped; struct rho_ped { double value; std::string source; } rho_ped; struct q_ped { double value; std::string source; } q_ped; struct pressure_ped { double value; std::string source; } pressure_ped; struct vtor_ped { double value; std::string source; } vtor_ped; } pedestal; struct references { struct plh { double value; std::string source; } plh; struct picrh { double value; std::string source; } picrh; struct pecrh { double value; std::string source; } pecrh; struct pnbi { double value; std::string source; } pnbi; struct ip { double value; std::string source; } ip; struct bvac_r { double value; std::string source; } bvac_r; struct zeffl { double value; std::string source; } zeffl; struct nbar { double value; std::string source; } nbar; struct xecrh { double value; std::string source; } xecrh; struct pol_flux { double value; std::string source; } pol_flux; struct enhancement { double value; std::string source; } enhancement; struct isotopic { double value; std::string source; } isotopic; struct nbi_td_ratio { double value; std::string source; } nbi_td_ratio; } references; struct reactor { double pnetwork; } reactor; struct sol { struct l_te_sol { double value; std::string source; } l_te_sol; struct l_ti_sol { double value; std::string source; } l_ti_sol; struct l_ne_sol { double value; std::string source; } l_ne_sol; struct l_ni_sol { double value; std::string source; } l_ni_sol; struct l_qe_sol { double value; std::string source; } l_qe_sol; struct l_qi_sol { double value; std::string source; } l_qi_sol; struct p_rad_sol { double value; std::string source; } p_rad_sol; Arraygaz_puff; } sol; struct vol_ave { struct te_ave { double value; std::string source; } te_ave; struct ti_ave { double value; std::string source; } ti_ave; struct ne_ave { double value; std::string source; } ne_ave; struct dne_ave_dt { double value; std::string source; } dne_ave_dt; struct ni_ave { double value; std::string source; } ni_ave; struct zeff_ave { double value; std::string source; } zeff_ave; struct ti_o_te_ave { double value; std::string source; } ti_o_te_ave; struct meff_ave { double value; std::string source; } meff_ave; struct pellet_flux { double value; std::string source; } pellet_flux; Arraynions_ave; struct omega_ave { double value; std::string source; } omega_ave; } vol_ave; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; scenario(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const scenario&obj); }; class scenarioArray:Cpo { private: int expIdx; bool connected; public: scenarioArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); scenario &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class toroidfield:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; int nturns; int ncoils; struct current { double value; double abserror; double relerror; } current; struct bvac_r { double value; double abserror; double relerror; } bvac_r; double r0; double time; toroidfield(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const toroidfield&obj); }; class toroidfieldArray:Cpo { private: int expIdx; bool connected; public: toroidfieldArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); toroidfield &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class tsdiag:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct setup { struct position { Arrayr; Arrayz; } position; } setup; struct measure { struct te { Arrayvalue; Arrayabserror; Arrayrelerror; } te; struct ne { Arrayvalue; Arrayabserror; Arrayrelerror; } ne; } measure; double time; tsdiag(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const tsdiag&obj); }; class tsdiagArray:Cpo { private: int expIdx; bool connected; public: tsdiagArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); tsdiag &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; class vessel:Cpo { private: int expIdx; bool connected; public: struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct position { Arrayr; Arrayz; } position; vessel(); void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} int get(); int get(int idx); int put(); int put(int idx); friend ostream &operator << (ostream &os, const vessel&obj); }; class waves:Cpo { private: int expIdx; bool connected; public: void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} struct datainfo { std::string dataprovider; std::string putdate; std::string source; std::string comment; int isref; struct whatref { std::string user; std::string machine; int shot; int run; int occurrence; } whatref; struct putinfo { std::string putmethod; std::string putaccess; std::string putlocation; std::string rights; } putinfo; } datainfo; struct composition { Arrayamn; Arrayzn; Arrayzion; Arrayimp_flag; } composition; struct global_param { Arrayfrequency; Arrayname; Arraytype; Arraynntor; Arrayntor; Arrayf_assumption; Arraypower_tot; Arrayp_frac_ntor; Arraypow_i; Arraypow_e; Arraypow_ntor_i; Arraypow_ntor_e; Arraycur_tor; Arraycur_tor_ntor; Arraycode_type; Arrayfreq_point; struct toroid_field { double r0; double b0; } toroid_field; } global_param; struct grid { Arrayrho_tor_norm; Arrayrho_tor; Arraypsi; Arraytheta; Arraynpsi; Arrayntheta; struct rz_position { Arrayr; Arrayz; } rz_position; struct theta_info { Arrayangl_type; Arrayth2th_pol; } theta_info; } grid; struct profiles_1d { Arraypowd_tot; Arraypowd_e; Arraypowd_i; Arraypowd_ntor; Arraypowd_ntor_e; Arraypowd_ntor_i; Arraycurd_tor; Arraycurd_torntor; Arraypow_tot; Arraypow_e; Arraypow_i; Arraypow_ntor; Arraypow_ntor_e; Arraypow_ntor_i; Arraycurd_par; Arraycurd_parntor; Arraycur_tor; Arraycur_tor_ntor; } profiles_1d; struct profiles_2d { Arraypowd_tot; Arraypowd_e; Arraypowd_i; Arraypowd_ntor; Arraypowd_ntor_e; Arraypowd_ntor_i; Arraypowd_iharm; } profiles_2d; struct beamtracing { Arraynbeams; Arraynpoints; Arraypower; Arraydnpar; Arraylength; struct position { Arrayr; Arrayz; Arraypsi; Arraytheta; Arrayphi; } position; struct wavevector { Arraykr; Arraykz; Arraynpar; Arraynperp; Arrayntor; Arrayvar_ntor; } wavevector; struct polarization { Arrayepol_p; Arrayepol_m; Arrayepol_par; } polarization; struct powerflow { Arrayphi_perp; Arrayphi_par; Arraypower_e; Arraypower_i; } powerflow; } beamtracing; struct fullwave { struct pol_decomp { Arraynmpol; Arraympol; Arraye_plus; Arraye_plus_ph; Arraye_minus; Arraye_minus_ph; Arraye_norm; Arraye_norm_ph; Arraye_binorm; Arraye_binorm_ph; Arraye_para; Arraye_para_ph; Arrayb_norm; Arrayb_norm_ph; Arrayb_binorm; Arrayb_binorm_ph; Arrayb_para; Arrayb_para_ph; } pol_decomp; struct local { Arraye_plus; Arraye_plus_ph; Arraye_minus; Arraye_minus_ph; Arraye_norm; Arrayenorm_ph; Arraye_binorm; Arraye_binorm_ph; Arraye_para; Arraye_para_ph; Arrayb_norm; Arrayb_norm_ph; Arrayb_binorm; Arrayb_binorm_ph; Arrayb_para; Arrayb_para_ph; } local; } fullwave; struct codeparam { std::string codename; std::string codeversion; std::string parameters; std::string output_diag; int output_flag; } codeparam; double time; waves(); int getSlice(double inTime, char interpolMode); int getSlice(int idx, double inTime, char interpolMode); int putSlice(); int putSlice(int idx); int replaceLastSlice(); int replaceLastSlice(int idx); int remove(); int remove(int idx); int putNonTimed(); int putNonTimed(int idx); void discardMemCache(); void flushCache(); friend ostream &operator << (ostream &os, const waves&obj); }; class wavesArray:Cpo { private: int expIdx; bool connected; public: wavesArray(){connected = false;} void setExpIdx(int expIdx){this->expIdx = expIdx; connected = true;} Array array; int get(); int put(); int deleteAll(); int deleteAll(int idx); int get(int idx); int put(int idx); waves &operator[] (int index) {return array(index);}; int extent(int dim = 0) {return array.extent(dim);}; }; topinfo _topinfo; summary _summary; amns _amns; antennas _antennas; antennasArray _antennasArray; coredelta _coredelta; coredeltaArray _coredeltaArray; coreneutrals _coreneutrals; coreneutralsArray _coreneutralsArray; coreimpur _coreimpur; coreimpurArray _coreimpurArray; coreprof _coreprof; coreprofArray _coreprofArray; coresource _coresource; coresourceArray _coresourceArray; coretransp _coretransp; coretranspArray _coretranspArray; cxdiag _cxdiag; cxdiagArray _cxdiagArray; distribution _distribution; distributionArray _distributionArray; distsource _distsource; distsourceArray _distsourceArray; ecediag _ecediag; ecediagArray _ecediagArray; edge _edge; edgeArray _edgeArray; equilibrium _equilibrium; equilibriumArray _equilibriumArray; interfdiag _interfdiag; interfdiagArray _interfdiagArray; ironmodel _ironmodel; ironmodelArray _ironmodelArray; launchs _launchs; launchsArray _launchsArray; limiter _limiter; mhd _mhd; mhdArray _mhdArray; magdiag _magdiag; magdiagArray _magdiagArray; msediag _msediag; msediagArray _msediagArray; nbi _nbi; nbiArray _nbiArray; neoclassic _neoclassic; neoclassicArray _neoclassicArray; orbit _orbit; orbitArray _orbitArray; pfsystems _pfsystems; pfsystemsArray _pfsystemsArray; polardiag _polardiag; polardiagArray _polardiagArray; reference _reference; referenceArray _referenceArray; sawteeth _sawteeth; sawteethArray _sawteethArray; scenario _scenario; scenarioArray _scenarioArray; toroidfield _toroidfield; toroidfieldArray _toroidfieldArray; tsdiag _tsdiag; tsdiagArray _tsdiagArray; vessel _vessel; waves _waves; wavesArray _wavesArray; }; } #endif