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 1930 by gezelter, Wed Jan 12 22:41:40 2005 UTC vs.
Revision 2448 by tim, Wed Nov 16 23:10:02 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 39 | Line 39
39   * such damages.
40   */
41  
42 < /**
43 <  * @file ForceField.hpp
44 <  * @author tlin
45 <  * @date 11/04/2004
46 <  * @time 22:51am
47 <  * @version 1.0
48 <  */
42 > /**
43 > * @file ForceField.hpp
44 > * @author tlin
45 > * @date 11/04/2004
46 > * @time 22:51am
47 > * @version 1.0
48 > */
49    
50   #ifndef USETHEFORCE_FORCEFIELD_HPP
51   #define USETHEFORCE_FORCEFIELD_HPP
# Line 57 | Line 57
57   #include <utility>
58  
59   #include "io/basic_ifstrstream.hpp"
60 + #include "io/ForceFieldOptions.hpp"
61   #include "utils/TypeContainer.hpp"
62   #include "types/AtomType.hpp"
63   #include "types/BondType.hpp"
# Line 65 | Line 66 | namespace oopse {
66  
67   namespace oopse {
68  
69 < /**
70 < * @class ForceField ForceField.hpp ''UseTheForce/ForceField.hpp"
71 < * @brief
72 < */
73 < class ForceField{
69 >  /**
70 >   * @class ForceField ForceField.hpp ''UseTheForce/ForceField.hpp"
71 >   * @brief
72 >   */
73 >  class ForceField{
74  
75 <    public:
75 >  public:
76  
77 <        typedef TypeContainer<AtomType, 1> AtomTypeContainer;
78 <        typedef TypeContainer<BondType, 2> BondTypeContainer;
79 <        typedef TypeContainer<BendType, 3> BendTypeContainer;
80 <        typedef TypeContainer<TorsionType, 4> TorsionTypeContainer;
77 >    typedef TypeContainer<AtomType, 1> AtomTypeContainer;
78 >    typedef TypeContainer<BondType, 2> BondTypeContainer;
79 >    typedef TypeContainer<BendType, 3> BendTypeContainer;
80 >    typedef TypeContainer<TorsionType, 4> TorsionTypeContainer;
81          
82 <        ForceField();
82 >    ForceField();
83  
84 <        virtual ~ForceField(){}
84 >    virtual ~ForceField();
85  
86 <        std::string getForceFieldFileName() {
87 <            return forceFieldFileName_;
88 <        }
86 >    std::string getForceFieldFileName() {
87 >      return forceFieldFileName_;
88 >    }
89  
90 <        void setForceFieldFileName(const std::string& filename) {
91 <            forceFieldFileName_ = filename;
92 <        }
90 >    void setForceFieldFileName(const std::string& filename) {
91 >      forceFieldFileName_ = filename;
92 >    }
93          
94 <        virtual void parse(const std::string& filename) = 0;  
94 >    virtual void parse(const std::string& filename) = 0;  
95  
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);
100 <        TorsionType* getTorsionType(const std::string &at1, const std::string &at2,
101 <                                          const std::string &at3, const std::string &at4);
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);
100 >    TorsionType* getTorsionType(const std::string &at1, const std::string &at2,
101 >                                const std::string &at3, const std::string &at4);
102  
103 <        BondType* getExactBondType(const std::string &at1, const std::string &at2);
104 <        BendType* getExactBendType(const std::string &at1, const std::string &at2,
105 <                                    const std::string &at3);
106 <        TorsionType* getExactTorsionType(const std::string &at1, const std::string &at2,
107 <                                          const std::string &at3, const std::string &at4);
103 >    BondType* getExactBondType(const std::string &at1, const std::string &at2);
104 >    BendType* getExactBendType(const std::string &at1, const std::string &at2,
105 >                               const std::string &at3);
106 >    TorsionType* getExactTorsionType(const std::string &at1,
107 >                                     const std::string &at2,
108 >                                     const std::string &at3,
109 >                                     const std::string &at4);
110  
111  
112 <        //avoid make virtual function public
113 <        //Herb Sutter and Andrei Alexandrescu, C++ coding Standards, Addision-Wesley
114 <        virtual double getRcutFromAtomType(AtomType* at);
112 >    //avoid make virtual function public
113 >    //Herb Sutter and Andrei Alexandrescu, C++ coding Standards, Addision-Wesley
114 >    virtual double getRcutFromAtomType(AtomType* at);
115  
116 <        std::string getWildCard() {
117 <            return wildCardAtomTypeName_;
118 <        }
116 >    std::string getWildCard() {
117 >      return wildCardAtomTypeName_;
118 >    }
119  
120 <        void setWildCard(const std::string& wildCard) {
121 <            wildCardAtomTypeName_ = wildCard;
122 <        }
120 >    void setWildCard(const std::string& wildCard) {
121 >      wildCardAtomTypeName_ = wildCard;
122 >    }
123  
124  
125 <        unsigned int getNAtomType() {
126 <            return atomTypeCont_.size();
127 <        }
125 >    unsigned int getNAtomType() {
126 >      return atomTypeCont_.size();
127 >    }
128          
129 <        bool addAtomType(const std::string &at, AtomType* atomType);
129 >    bool addAtomType(const std::string &at, AtomType* atomType);
130  
131 <        bool addBondType(const std::string &at1, const std::string &at2, BondType* bondType);
131 >    bool addBondType(const std::string &at1, const std::string &at2,
132 >                     BondType* bondType);
133  
134 <        bool addBendType(const std::string &at1, const std::string &at2,
135 <                                    const std::string &at3, BendType* bendType);
134 >    bool addBendType(const std::string &at1, const std::string &at2,
135 >                     const std::string &at3, BendType* bendType);
136  
137 <        bool addTorsionType(const std::string &at1, const std::string &at2,
138 <                                          const std::string &at3, const std::string &at4, TorsionType* torsionType);
137 >    bool addTorsionType(const std::string &at1, const std::string &at2,
138 >                        const std::string &at3, const std::string &at4, TorsionType* torsionType);
139  
140 <        ifstrstream* openForceFieldFile(const std::string& filename);
140 >    ifstrstream* openForceFieldFile(const std::string& filename);
141  
142 <    protected:
142 >    ForceFieldOptions& getForceFieldOptions() {return forceFieldOptions_;}
143 >  protected:
144  
145 <        AtomTypeContainer atomTypeCont_;    
146 <        BondTypeContainer bondTypeCont_;
147 <        BendTypeContainer bendTypeCont_;
148 <        TorsionTypeContainer torsionTypeCont_;
149 <        
150 <    private:  
151 <        std::string ffPath_;
145 >    AtomTypeContainer atomTypeCont_;    
146 >    BondTypeContainer bondTypeCont_;
147 >    BendTypeContainer bendTypeCont_;
148 >    TorsionTypeContainer torsionTypeCont_;
149 >    ForceFieldOptions forceFieldOptions_;
150 >    
151 >  private:  
152 >    std::string ffPath_;
153  
154 <        std::string wildCardAtomTypeName_;
154 >    std::string wildCardAtomTypeName_;
155  
156 <        std::string forceFieldFileName_;
157 < };
156 >    std::string forceFieldFileName_;
157 >  };
158  
159  
160   }//end namespace oopse

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines