ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/ForceField.hpp
(Generate patch)

Comparing trunk/OOPSE-4/src/UseTheForce/ForceField.hpp (file contents):
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC vs.
Revision 3153 by chuckv, Fri Jul 6 18:15:03 2007 UTC

# Line 50 | Line 50
50   #ifndef USETHEFORCE_FORCEFIELD_HPP
51   #define USETHEFORCE_FORCEFIELD_HPP
52  
53 < #define MK_STR(s) # s
54 < #define STR_DEFINE(t, s) t = MK_STR(s)
55 <
53 > #include "config.h"
54   #include <string>
55   #include <utility>
56  
57   #include "io/basic_ifstrstream.hpp"
58 + #include "io/ForceFieldOptions.hpp"
59   #include "utils/TypeContainer.hpp"
60   #include "types/AtomType.hpp"
61   #include "types/BondType.hpp"
62   #include "types/BendType.hpp"
63   #include "types/TorsionType.hpp"
64 <
64 > #include "types/NonBondedInteractionType.hpp"
65 > #include "UseTheForce/fForceOptions.h"
66   namespace oopse {
67  
68    /**
# Line 77 | Line 77 | namespace oopse {
77      typedef TypeContainer<BondType, 2> BondTypeContainer;
78      typedef TypeContainer<BendType, 3> BendTypeContainer;
79      typedef TypeContainer<TorsionType, 4> TorsionTypeContainer;
80 +                typedef TypeContainer<NonBondedInteractionType, 2> NonBondedInteractionTypeContainer;
81          
82      ForceField();
83  
# Line 95 | Line 96 | namespace oopse {
96      AtomType* getAtomType(const std::string &at);
97      BondType* getBondType(const std::string &at1, const std::string &at2);
98      BendType* getBendType(const std::string &at1, const std::string &at2,
99 <                          const std::string &at3);
99 >                          const std::string &at3);
100      TorsionType* getTorsionType(const std::string &at1, const std::string &at2,
101 <                                const std::string &at3, const std::string &at4);
102 <
101 >                                const std::string &at3, const std::string &at4);
102 >                NonBondedInteractionType* getNonBondedInteractionType(const std::string &at1, const std::string &at2);
103 >                                                                                                                        
104      BondType* getExactBondType(const std::string &at1, const std::string &at2);
105      BendType* getExactBendType(const std::string &at1, const std::string &at2,
106 <                               const std::string &at3);
107 <    TorsionType* getExactTorsionType(const std::string &at1, const std::string &at2,
108 <                                     const std::string &at3, const std::string &at4);
106 >                               const std::string &at3);
107 >    TorsionType* getExactTorsionType(const std::string &at1,
108 >                                     const std::string &at2,
109 >                                     const std::string &at3,
110 >                                     const std::string &at4);
111 >                NonBondedInteractionType* getExactNonBondedInteractionType(const std::string &at1, const std::string &at2);
112  
113  
114      //avoid make virtual function public
115      //Herb Sutter and Andrei Alexandrescu, C++ coding Standards, Addision-Wesley
116 <    virtual double getRcutFromAtomType(AtomType* at);
116 >    virtual RealType getRcutFromAtomType(AtomType* at);
117  
118      std::string getWildCard() {
119        return wildCardAtomTypeName_;
# Line 125 | Line 130 | namespace oopse {
130          
131      bool addAtomType(const std::string &at, AtomType* atomType);
132  
133 <    bool addBondType(const std::string &at1, const std::string &at2, BondType* bondType);
133 >    bool addBondType(const std::string &at1, const std::string &at2,
134 >                     BondType* bondType);
135  
136      bool addBendType(const std::string &at1, const std::string &at2,
137                       const std::string &at3, BendType* bendType);
# Line 133 | Line 139 | namespace oopse {
139      bool addTorsionType(const std::string &at1, const std::string &at2,
140                          const std::string &at3, const std::string &at4, TorsionType* torsionType);
141  
142 +    bool addNonBondedInteractionType(const std::string &at1, const std::string &at2,
143 +                        NonBondedInteractionType* nbiType);
144 +
145      ifstrstream* openForceFieldFile(const std::string& filename);
146  
147 +    ForceFieldOptions& getForceFieldOptions() {return forceFieldOptions_;}
148 +
149 +    void setFortranForceOptions(void);
150    protected:
151  
152      AtomTypeContainer atomTypeCont_;    
153      BondTypeContainer bondTypeCont_;
154      BendTypeContainer bendTypeCont_;
155      TorsionTypeContainer torsionTypeCont_;
156 <        
156 >    NonBondedInteractionTypeContainer nonBondedInteractionTypeCont_;
157 >    ForceFieldOptions forceFieldOptions_;
158 >    
159    private:  
160      std::string ffPath_;
161  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines