34 |
|
#define USETHEFORCE_DUFF_HPP |
35 |
|
|
36 |
|
#include "UseTheForce/ForceField.hpp" |
37 |
+ |
#include "io/SectionParserManager.hpp" |
38 |
|
namespace oopse { |
39 |
|
|
40 |
|
/** |
41 |
|
* @class DUFF DUFF.hpp "UseTheForce/DUFF.hpp" |
42 |
< |
* |
42 |
> |
* @brief Dipole United Atom Force Field Parser |
43 |
|
*/ |
44 |
|
class DUFF : public ForceField { |
45 |
|
public: |
46 |
< |
virtual void parse(const std::string& filename = "DUFF.frc"); |
46 |
> |
DUFF(); |
47 |
> |
virtual void parse(const std::string& filename); |
48 |
|
|
49 |
|
private: |
50 |
+ |
SectionParserManager spMan_; |
51 |
+ |
/* |
52 |
+ |
enum ParseState { |
53 |
+ |
AtomTypeSection, |
54 |
+ |
DirectionalAtomTypeSection, |
55 |
+ |
BondTypeSection, |
56 |
+ |
BendTypeSection, |
57 |
+ |
TorsionTypeSection, |
58 |
+ |
UnknownSection |
59 |
+ |
}; |
60 |
|
|
61 |
< |
void parseAtomType(); |
62 |
< |
void parseBondType(); |
63 |
< |
void parseBendType(); |
64 |
< |
void parseTorsionType(); |
65 |
< |
|
61 |
> |
ParseState getSection(const std::string& section); |
62 |
> |
|
63 |
> |
void parseAtomType(const std::string& line, int lineNo, int& ident); |
64 |
> |
void parseBondType(const std::string& line, int lineNo); |
65 |
> |
void parseBendType(const std::string& line, int lineNo); |
66 |
> |
void parseTorsionType(const std::string& line, int lineNo); |
67 |
> |
*/ |
68 |
|
}; |
69 |
|
|
70 |
|
//declare the funtion to create DUFF |