<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>mpqcin.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:16:37 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>mpqcin.h</h1><div class="fragment"><pre>00001 00002 <font class="preprocessor">#ifndef _mpqcin_h</font> 00003 <font class="preprocessor"></font><font class="preprocessor">#define _mpqcin_h</font> 00004 <font class="preprocessor"></font> 00005 <font class="preprocessor">#include <iostream></font> 00006 00007 <font class="preprocessor">#include <util/keyval/keyval.h></font> 00008 <font class="preprocessor">#include <chemistry/molecule/molecule.h></font> 00009 00010 <font class="keyword">class </font>MPQCInFlexLexer; 00011 00012 <font class="keyword">namespace </font>sc { 00013 00014 <font class="keyword">class </font>IPV2; 00015 00016 template <class T> 00017 <font class="keyword">class </font>MPQCInDatum { 00018 <font class="keywordtype">int</font> set_; 00019 T val_; 00020 <font class="keyword">public</font>: 00021 MPQCInDatum(<font class="keyword">const</font> T&v): val_(v), set_(0) {} 00022 <font class="keyword">const</font> T &operator =(<font class="keyword">const</font> T&v)<font class="keyword"> </font>{ set_ = 1; val_ = v; <font class="keywordflow">return</font> val_; } 00023 <font class="keywordtype">void</font> reset(<font class="keyword">const</font> T &val)<font class="keyword"> </font>{ set_ = 0; val_ = val; } 00024 <font class="keywordtype">int</font> set()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> set_; } 00025 T val()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> val_; } 00026 }; 00027 00028 <font class="keyword">class </font>MPQCIn { 00029 MPQCInFlexLexer *lexer_; 00030 Ref<Molecule> mol_; 00031 MPQCInDatum<int> gradient_; 00032 MPQCInDatum<int> frequencies_; 00033 MPQCInDatum<int> optimize_; 00034 MPQCInDatum<int> mult_; 00035 MPQCInDatum<int> redund_coor_; 00036 MPQCInDatum<int> opt_type_; 00037 MPQCInDatum<int> restart_; 00038 MPQCInDatum<int> checkpoint_; 00039 MPQCInDatum<int> charge_; 00040 MPQCInDatum<int> atom_charge_; 00041 MPQCInDatum<int> molecule_bohr_; 00042 MPQCInDatum<char *> basis_; 00043 MPQCInDatum<char *> method_; 00044 MPQCInDatum<char *> method_xc_; 00045 MPQCInDatum<char *> method_grid_; 00046 MPQCInDatum<char *> symmetry_; 00047 MPQCInDatum<Arrayint *> alpha_; 00048 MPQCInDatum<Arrayint *> beta_; 00049 MPQCInDatum<Arrayint *> docc_; 00050 MPQCInDatum<Arrayint *> socc_; 00051 MPQCInDatum<Arrayint *> frozen_docc_; 00052 MPQCInDatum<Arrayint *> frozen_uocc_; 00053 00054 <font class="keywordtype">int</font> nirrep_; 00055 00056 <font class="keywordtype">void</font> write_energy_object(std::ostream&, <font class="keyword">const</font> <font class="keywordtype">char</font> *keyword, 00057 <font class="keyword">const</font> <font class="keywordtype">char</font> *method, 00058 <font class="keyword">const</font> <font class="keywordtype">char</font> *basis, <font class="keywordtype">int</font> coor); 00059 <font class="keywordtype">void</font> write_basis_object(std::ostream&, <font class="keyword">const</font> <font class="keywordtype">char</font> *keyword, 00060 <font class="keyword">const</font> <font class="keywordtype">char</font> *basis); 00061 <font class="keywordtype">void</font> write_vector(std::ostream &ostrs, 00062 <font class="keyword">const</font> <font class="keywordtype">char</font> *keyvalname, 00063 <font class="keyword">const</font> <font class="keywordtype">char</font> *name, 00064 MPQCInDatum<Arrayint *>&vec, 00065 <font class="keywordtype">int</font> require_nirrep); 00066 00067 <font class="keyword">static</font> <font class="keywordtype">int</font> checking_; 00068 <font class="keyword">public</font>: 00069 MPQCIn(); 00070 ~MPQCIn(); 00071 00072 <font class="keywordtype">char</font> *parse_string(<font class="keyword">const</font> <font class="keywordtype">char</font> *s); 00073 <font class="keywordtype">int</font> check_string(<font class="keyword">const</font> <font class="keywordtype">char</font> *s); 00074 00075 <font class="keywordtype">int</font> ylex(); 00076 <font class="keywordtype">int</font> yparse(); 00077 <font class="keywordtype">void</font> error(<font class="keyword">const</font> <font class="keywordtype">char</font>* s); 00078 <font class="keywordtype">void</font> error2(<font class="keyword">const</font> <font class="keywordtype">char</font>* s, <font class="keyword">const</font> <font class="keywordtype">char</font>* s2); 00079 <font class="keywordtype">void</font> yerror(<font class="keyword">const</font> <font class="keywordtype">char</font>* s); 00080 <font class="keywordtype">void</font> yerror2(<font class="keyword">const</font> <font class="keywordtype">char</font>* s, <font class="keyword">const</font> <font class="keywordtype">char</font> *); 00081 00082 <font class="keywordtype">void</font> begin_molecule(); 00083 <font class="keywordtype">void</font> end_molecule(); 00084 <font class="keywordtype">void</font> add_atom(<font class="keywordtype">char</font> *, <font class="keywordtype">char</font> *, <font class="keywordtype">char</font> *, <font class="keywordtype">char</font> *); 00085 <font class="keywordtype">void</font> set_charge(<font class="keywordtype">char</font> *); 00086 <font class="keywordtype">void</font> set_method(<font class="keywordtype">char</font> *); 00087 <font class="keywordtype">void</font> set_basis(<font class="keywordtype">char</font> *); 00088 <font class="keywordtype">void</font> set_multiplicity(<font class="keywordtype">char</font> *); 00089 <font class="keywordtype">void</font> set_optimize(<font class="keywordtype">int</font>); 00090 <font class="keywordtype">void</font> set_opt_type(<font class="keywordtype">int</font>); 00091 <font class="keywordtype">void</font> set_atom_charge(<font class="keywordtype">char</font> *); 00092 <font class="keywordtype">void</font> set_molecule_unit(<font class="keywordtype">char</font> *); 00093 <font class="keywordtype">void</font> set_method_xc(<font class="keywordtype">char</font> *); 00094 <font class="keywordtype">void</font> set_method_grid(<font class="keywordtype">char</font> *); 00095 <font class="keywordtype">void</font> set_symmetry(<font class="keywordtype">char</font> *); 00096 <font class="keywordtype">void</font> set_redund_coor(<font class="keywordtype">int</font>); 00097 <font class="keywordtype">void</font> set_gradient(<font class="keywordtype">int</font>); 00098 <font class="keywordtype">void</font> set_frequencies(<font class="keywordtype">int</font>); 00099 <font class="keywordtype">void</font> set_restart(<font class="keywordtype">int</font>); 00100 <font class="keywordtype">void</font> set_checkpoint(<font class="keywordtype">int</font>); 00101 <font class="keywordtype">void</font> set_molecule_bohr(<font class="keywordtype">int</font>); 00102 <font class="keywordtype">void</font> set_docc(Arrayint *); 00103 <font class="keywordtype">void</font> set_socc(Arrayint *); 00104 <font class="keywordtype">void</font> set_alpha(Arrayint *); 00105 <font class="keywordtype">void</font> set_beta(Arrayint *); 00106 <font class="keywordtype">void</font> set_frozen_docc(Arrayint *); 00107 <font class="keywordtype">void</font> set_frozen_uocc(Arrayint *); 00108 Arrayint *make_nnivec(Arrayint *, <font class="keywordtype">char</font> *); 00109 00110 <font class="keyword">static</font> <font class="keywordtype">int</font> checking()<font class="keyword"> </font>{ <font class="keywordflow">return</font> checking_; } 00111 }; 00112 00113 } 00114 00115 <font class="preprocessor">#endif</font> </font></div></pre><hr> <address> <small> Generated at Mon Oct 14 14:16:38 2002 for <a href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a> 2.1.2 using the documentation package <a href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a> 1.2.5. </small> </address> </body> </html>