ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/visitors/AtomVisitor.hpp
(Generate patch)

Comparing:
trunk/src/visitors/AtomVisitor.hpp (file contents), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/visitors/AtomVisitor.hpp (file contents), Revision 1873 by gezelter, Fri May 10 16:09:34 2013 UTC

# Line 35 | Line 35
35   *                                                                      
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 < * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
39 > * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43   #ifndef VISITORS_BASEATOMVISITOR_HPP
# Line 60 | Line 61 | namespace OpenMD {
61      virtual void visit(RigidBody* rb);
62      void setVisited(Atom* atom);
63      bool isVisited(Atom* atom);
64 <
64 >    
65    protected:
66 <    BaseAtomVisitor(SimInfo* info) : BaseVisitor() {}    
66 >    BaseAtomVisitor(SimInfo* info);
67      SimInfo* info;
68 +    int storageLayout_;
69    };
70  
69  /**
70   * @class SSDAtomVisitor
71   * @todo document
72   */
73  class SSDAtomVisitor : public BaseAtomVisitor{
74  public:
75    SSDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
76      visitorName = "SSDAtomVisitor";
77      ssdAtomType.insert("SSD");
78      ssdAtomType.insert("SSD_E");
79      ssdAtomType.insert("SSD_RF");
80      ssdAtomType.insert("SSD1");
81      ssdAtomType.insert("TAP");
82    }
83
84    virtual void visit(Atom* atom) {}
85    virtual void visit(DirectionalAtom* datom);      
86    virtual void visit(RigidBody* rb) {}
87
88    virtual const std::string toString();
89  private:
90    inline bool isSSDAtom(const std::string& atomType);
91    std::set<std::string> ssdAtomType;  
92  };
93
94  class TREDAtomVisitor : public BaseAtomVisitor{
95  public:
96    TREDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
97      visitorName = "TREDAtomVisitor";
98      tredAtomType.insert("TRED");
99    }
100
101    virtual void visit(Atom* atom) {}
102    virtual void visit(DirectionalAtom* datom);      
103    virtual void visit(RigidBody* rb) {}
104
105    virtual const std::string toString();
106  private:
107    inline bool isTREDAtom(const std::string& atomType);
108    std::set<std::string> tredAtomType;  
109  };
110
111  class LinearAtomVisitor : public BaseAtomVisitor{
112  public:
113    LinearAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
114      visitorName = "LinearAtomVisitor";
115      linearAtomType.insert("GBlinear");
116    }
117
118    void addGayBerneAtomType(const std::string& atomType);
119    virtual void visit(Atom* atom) {}
120    virtual void visit(DirectionalAtom* datom);      
121    virtual void visit(RigidBody* rb) {}
122
123    virtual const std::string toString();
124  private:
125    inline bool isLinearAtom(const std::string& atomType);
126    std::set<std::string> linearAtomType;  
127  };
128
129  class GBLipidAtomVisitor : public BaseAtomVisitor{
130  public:
131    GBLipidAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
132      visitorName = "GBLipidAtomVisitor";
133      GBLipidAtomType.insert("GBlipid");
134    }
135
136    virtual void visit(Atom* atom) {}
137    virtual void visit(DirectionalAtom* datom);      
138    virtual void visit(RigidBody* rb) {}
139
140    virtual const std::string toString();
141  private:
142    inline bool isGBLipidAtom(const std::string& atomType);
143    std::set<std::string> GBLipidAtomType;  
144  };
145
146  class Ring5gbAtomVisitor : public BaseAtomVisitor{
147  public:
148    Ring5gbAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
149      visitorName = "Ring5gbAtomVisitor";
150      Ring5gbAtomType.insert("Ring5GB");
151    }
152
153    virtual void visit(Atom* atom) {}
154    virtual void visit(DirectionalAtom* datom);      
155    virtual void visit(RigidBody* rb) {}
156
157    virtual const std::string toString();
158  private:
159    inline bool isRing5gbAtom(const std::string& atomType);
160    std::set<std::string> Ring5gbAtomType;  
161  };
162
163  class HeadAtomVisitor : public BaseAtomVisitor{
164  public:
165    HeadAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
166      visitorName = "HeadAtomVisitor";
167      HeadAtomType.insert("HEAD");
168    }
169
170    virtual void visit(Atom* atom) {}
171    virtual void visit(DirectionalAtom* datom);      
172    virtual void visit(RigidBody* rb) {}
173
174    virtual const std::string toString();
175  private:
176    inline bool isHeadAtom(const std::string& atomType);
177    std::set<std::string> HeadAtomType;  
178  };
179
71    class DefaultAtomVisitor : public BaseAtomVisitor{
72    public:
73      DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";}
74 <
75 <    virtual void visit(Atom* atom);    
74 >    
75 >    virtual void visit(Atom* atom);  
76      virtual void visit(DirectionalAtom* datom);    
77      virtual void visit(RigidBody* rb) {}
78 <
78 >    
79      virtual const std::string toString();
80 <
80 >    
81    };
82  
83   }//namespace OpenMD

Comparing:
trunk/src/visitors/AtomVisitor.hpp (property svn:keywords), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/visitors/AtomVisitor.hpp (property svn:keywords), Revision 1873 by gezelter, Fri May 10 16:09:34 2013 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines