#if !defined(SURFACECOMP_H_INCLUDED) #define SURFACECOMP_H_INCLUDED #include // assert #include // std::map #include // std::string #include // std::list #include // std::vector #include "NameDouble.h" class cxxSurfaceComp: public PHRQ_base { public: cxxSurfaceComp(PHRQ_io *io=NULL); virtual ~cxxSurfaceComp(); void dump_xml(std::ostream & os, unsigned int indent = 0) const; void dump_raw(std::ostream & s_oss, unsigned int indent) const; void read_raw(CParser & parser, bool check = true); void add(const cxxSurfaceComp & comp, LDBLE extensive); void multiply(LDBLE extensive); const std::string &Get_formula() const {return this->formula;} void Set_formula(const char * f) {this->formula = f ? f : "";} LDBLE Get_formula_z(void) const {return formula_z;}; void Set_formula_z(LDBLE t) {this->formula_z = t;} LDBLE Get_moles(void) const {return moles;} void Set_moles(LDBLE t) {this->moles = t;} cxxNameDouble & Get_totals() {return (this->totals);} void Set_totals(cxxNameDouble & nd) {this->totals = nd;} LDBLE Get_la(void) const {return la;}; void Set_la(LDBLE t) {this->la = t;} LDBLE Get_charge_balance() const {return this->charge_balance;} void Set_charge_balance(LDBLE d) {this->charge_balance = d;} const std::string &Get_charge_name() const {return this->charge_name;} void Set_charge_name(const char * f) {this->charge_name = f ? f : "";} const std::string &Get_phase_name() const {return this->phase_name;} void Set_phase_name(const char * f) {this->phase_name = f ? f : "";} LDBLE Get_phase_proportion(void) const {return phase_proportion;} void Set_phase_proportion(LDBLE d) {this->phase_proportion = d;} const std::string &Get_rate_name() const {return this->rate_name;} void Set_rate_name(const char * f) {this->rate_name = f ? f : "";} LDBLE Get_Dw(void) const {return Dw;} void Set_Dw(LDBLE d) {this->Dw = d;} const std::string &Get_master_element() const {return this->master_element;} void Set_master_element(const char * f) {this->master_element = f ? f : "";} void Serialize(Dictionary & dictionary, std::vector < int >&ints, std::vector < double >&doubles); void Deserialize(Dictionary & dictionary, std::vector < int >&ints, std::vector < double >&doubles, int &ii, int &dd); protected: std::string formula; LDBLE formula_z; LDBLE moles; cxxNameDouble totals; LDBLE la; std::string charge_name; LDBLE charge_balance; std::string phase_name; LDBLE phase_proportion; std::string rate_name; LDBLE Dw; std::string master_element; const static std::vector < std::string > vopts; public: }; #endif // !defined(SURFACECOMP_H_INCLUDED)