ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/types/AtomType.hpp
Revision: 1652
Committed: Tue Oct 26 22:25:19 2004 UTC (19 years, 8 months ago) by gezelter
File size: 1963 byte(s)
Log Message:
Making ShapeType into a ShapeAtomType, fixing some isXXX

File Contents

# User Rev Content
1 gezelter 1631 #ifndef TYPES_ATOMTYPE_HPP
2     #define TYPES_ATOMTYPE_HPP
3    
4 gezelter 1652 #include <string>
5    
6 gezelter 1631 #include "utils/PropertyMap.hpp"
7     #define __C
8     #include "types/AtomTypeProperties.h"
9     #include "UseTheForce/DarkSide/atype_interface.h"
10    
11 gezelter 1652 using namespace std;
12    
13 gezelter 1631 namespace oopse {
14     /**
15     * @class AtomType
16     * AtomType is what OOPSE looks to for unchanging data about an atom.
17     * Things that belong to AtomType are universal properties (i.e. does
18     * this atom have a Charge? What is it's mass?) Dynamic properties of
19     * an atom are not intended to be properties of an atom type
20     */
21     class AtomType{
22    
23     public:
24    
25     AtomType();
26 gezelter 1652 virtual ~AtomType(){ };
27 gezelter 1631 /**
28     * Finishes off the AtomType by communicating the logical portions of the
29     * structure to the Fortran atype module
30     */
31     void complete();
32    
33     void setMass(double m) { mass = m; }
34     double getMass(void) { return mass; }
35    
36     void setIdent(int id) {atp.ident = id;}
37     int getIdent() {return atp.ident;}
38 gezelter 1632
39 gezelter 1652 void setName(string n) {name = n;}
40     string getName() {return name;}
41 gezelter 1631
42     void setLennardJones() { atp.is_LennardJones = 1; }
43     bool isLennardJones() { return atp.is_LennardJones; }
44    
45     void setElectrostatic() { atp.is_Electrostatic = 1; }
46     bool isElectrostatic() { return atp.is_Electrostatic; }
47 gezelter 1632
48 gezelter 1631 void setEAM() { atp.is_EAM = 1; }
49     bool isEAM() { return atp.is_EAM; }
50 gezelter 1632
51 gezelter 1631 void setCharge() { atp.is_Charge = 1; atp.is_Electrostatic = 1;}
52     bool isCharge() { return atp.is_Charge; }
53 gezelter 1632
54 gezelter 1652 bool isDirectional() { return atp.is_Directional; }
55     bool isDipole() { return atp.is_Dipole; }
56     bool isGayBerne() { return atp.is_GayBerne; }
57     bool isSticky() { return atp.is_Sticky; }
58     bool isShape() { return atp.is_Shape; }
59    
60 gezelter 1632 PropertyMap properties;
61    
62 gezelter 1634 protected:
63 gezelter 1631
64     AtomTypeProperties atp;
65     double mass;
66 gezelter 1652 string name;
67 gezelter 1631
68     };
69     }
70     #endif