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

# Content
1 #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