#if !defined(ISOLUTION_H_INCLUDED) #define ISOLUTION_H_INCLUDED //#include "Parser.h" #include "ISolutionComp.h" #include "NumKeyword.h" #include "Solution.h" //#include "Isotope.h" #include // assert #include // std::map #include // std::string #include // std::list #include // std::vector #include // std::set #include #include #include class cxxISolution : public cxxSolution { public: cxxISolution(); cxxISolution(struct solution *); //cxxISolution(const cxxISolution&); ~cxxISolution(); //static cxxISolution& read(CParser& parser); //void add(cxxISolutionComp conc) { this->concs.push_back(conc); } struct solution *cxxISolution2solution(); double get_density()const {return this->density;} void set_density(double density) {this->density = density;} std::string get_units()const {return units;} void set_units(std::string units) {units = units;} //char * get_redox()const {return this->pe[this->default_pe].get_name();} //void dump_xml(std::ostream& os, unsigned int indent = 0)const; void ConvertUnits(); void ORCH_write_chemistry(std::ostream &chemistry_dat); void ORCH_write_input(std::ostream &input_dat); void ORCH_write_output_vars(std::ostream &input_dat); protected: friend class cxxISolutionComp; // for this->pe access double density; std::string units; std::map comps; struct pe_data *pes; int default_pe; public: //static std::map& map; private: void ORCH_write_chemistry_water(std::ostream &chemistry_dat); void ORCH_write_chemistry_primary(std::ostream &chemistry_dat); void ORCH_write_chemistry_total_O_H(std::ostream &chemistry_dat); void ORCH_write_chemistry_alkalinity(std::ostream &chemistry_dat); void ORCH_write_chemistry_species(std::ostream &chemistry_dat); void ORCH_write_chemistry_minerals(std::ostream &chemistry_dat); }; #endif // !defined(ISOLUTION_H_INCLUDED)