OpenMD 3.0
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
XYZFormat.hpp
1/**********************************************************************
2
3This basic Periodic Table class was originally taken from the data.cpp
4file in OpenBabel. The code has been modified to match the OpenMD coding style.
5
6We have retained the OpenBabel copyright and GPL license on this class:
7
8Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
9Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
10
11This file is part of the Open Babel project.
12For more information, see <http://openbabel.sourceforge.net/>
13
14This program is free software; you can redistribute it and/or modify
15it under the terms of the GNU General Public License as published by
16the Free Software Foundation version 2 of the License.
17
18This program is distributed in the hope that it will be useful,
19but WITHOUT ANY WARRANTY; without even the implied warranty of
20MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21GNU General Public License for more details.
22***********************************************************************/
23
24#ifndef IO_XYZFORMAT_HPP
25#define IO_XYZFORMAT_HPP
26
27#ifndef BUFF_SIZE
28#define BUFF_SIZE 32768
29#endif
30
31#include <iostream>
32#include <string>
33#include <vector>
34
35#include "math/Vector3.hpp"
36
37namespace OpenMD {
38 struct XYZAtom {
39 Vector3d pos;
40 std::string type;
41 int atomicNum;
42 RealType charge;
43 };
44
45 class XYZFormat {
46 public:
47 XYZFormat() {}
48 bool ReadMolecule(std::istream& ifs);
49 std::vector<XYZAtom*> mol_;
50 std::string title_;
51 };
52} // namespace OpenMD
53
54#endif
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.