ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/src/types/AtomType.hpp
Revision: 1631
Committed: Fri Oct 22 14:47:53 2004 UTC (19 years, 8 months ago) by gezelter
File size: 2097 byte(s)
Log Message:
Adding AtomType

File Contents

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