BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GAMESSLogFile.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_FORMAT_GAMESSLOGFILE_H
6 #define BALL_FORMAT_GAMESSLOGFILE_H
7 
8 #ifndef BALL_FORMAT_GENERICMOLFILE_H
10 #endif
11 
12 #ifndef BALL_STRUCTURE_QMBASISSET_H
13 # include <BALL/STRUCTURE/QMBasisSet.h>
14 #endif
15 
16 #ifndef BALL_STRUCTURE_SPLITVALENCESET_H
17 # include <BALL/STRUCTURE/splitValenceSet.h>
18 #endif
19 
20 namespace BALL
21 {
29  : public GenericMolFile
30  {
31  public:
32 
34 
35 
36  struct State
37  {
39  };
40 
44 
47  GAMESSLogFile();
48 
52  GAMESSLogFile(const GAMESSLogFile& file);
53 
57  GAMESSLogFile(const String& filename, File::OpenMode open_mode = std::ios::in);
58 
61  virtual ~GAMESSLogFile();
62 
64 
67 
71  const GAMESSLogFile& operator = (const GAMESSLogFile& rhs);
72 
74 
78 
84  virtual bool write(const Molecule& molecule);
85 
91  virtual bool write(const System& molecule);
92 
98  virtual Molecule* read();
99 
105  virtual bool read(System& system);
106 
108 
112  void newMolecule();
113 
114  void setMoleculeName(char* name);
115 
116  void insertAtom(const String& element, float charge, float x, float y, float z);
117 
118  void insertBond(Index a1, Index a2);
119 
120  void clearBonds();
121 
122  void setCurrentCharge(float charge);
123 
124  void setUnitConversionFactor(float factor);
125 
126  void addCoefficient(float coefficient);
127 
128  void initializeBasisSet();
129 
130  QMBasisSet& getBasisSet();
131 
132  const QMBasisSet& getBasisSet() const;
133 
134  void addBasisOption(const String& key, const String& value);
135 
136  String getBasisOption(const String& key);
138 
139  static State state;
145 
150  System *system; // needed for the datasetControl stuff
151 
152  protected:
153  virtual void initRead_();
154 
156  float factor_;
157  //QMBasisSet qmbs_;
158  splitValenceSet qmbs_;
159 
161  };
162 }
163 
164 #endif // BALL_FORMAT_GAMESSLOGFILE_H