--- trunk/src/UseTheForce/ForceField.hpp 2005/04/15 22:04:00 507 +++ trunk/src/UseTheForce/ForceField.hpp 2006/05/17 21:51:42 963 @@ -50,19 +50,18 @@ #ifndef USETHEFORCE_FORCEFIELD_HPP #define USETHEFORCE_FORCEFIELD_HPP -#define MK_STR(s) # s -#define STR_DEFINE(t, s) t = MK_STR(s) - +#include "config.h" #include #include #include "io/basic_ifstrstream.hpp" +#include "io/ForceFieldOptions.hpp" #include "utils/TypeContainer.hpp" #include "types/AtomType.hpp" #include "types/BondType.hpp" #include "types/BendType.hpp" #include "types/TorsionType.hpp" - +#include "UseTheForce/fForceOptions.h" namespace oopse { /** @@ -95,20 +94,22 @@ namespace oopse { AtomType* getAtomType(const std::string &at); BondType* getBondType(const std::string &at1, const std::string &at2); BendType* getBendType(const std::string &at1, const std::string &at2, - const std::string &at3); + const std::string &at3); TorsionType* getTorsionType(const std::string &at1, const std::string &at2, - const std::string &at3, const std::string &at4); + const std::string &at3, const std::string &at4); BondType* getExactBondType(const std::string &at1, const std::string &at2); BendType* getExactBendType(const std::string &at1, const std::string &at2, - const std::string &at3); - TorsionType* getExactTorsionType(const std::string &at1, const std::string &at2, - const std::string &at3, const std::string &at4); + const std::string &at3); + TorsionType* getExactTorsionType(const std::string &at1, + const std::string &at2, + const std::string &at3, + const std::string &at4); //avoid make virtual function public //Herb Sutter and Andrei Alexandrescu, C++ coding Standards, Addision-Wesley - virtual double getRcutFromAtomType(AtomType* at); + virtual RealType getRcutFromAtomType(AtomType* at); std::string getWildCard() { return wildCardAtomTypeName_; @@ -125,7 +126,8 @@ namespace oopse { bool addAtomType(const std::string &at, AtomType* atomType); - bool addBondType(const std::string &at1, const std::string &at2, BondType* bondType); + bool addBondType(const std::string &at1, const std::string &at2, + BondType* bondType); bool addBendType(const std::string &at1, const std::string &at2, const std::string &at3, BendType* bendType); @@ -135,13 +137,17 @@ namespace oopse { ifstrstream* openForceFieldFile(const std::string& filename); + ForceFieldOptions& getForceFieldOptions() {return forceFieldOptions_;} + + void setFortranForceOptions(void); protected: AtomTypeContainer atomTypeCont_; BondTypeContainer bondTypeCont_; BendTypeContainer bendTypeCont_; TorsionTypeContainer torsionTypeCont_; - + ForceFieldOptions forceFieldOptions_; + private: std::string ffPath_;