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

# Content
1 #ifndef TYPES_ATOMTYPE_HPP
2 #define TYPES_ATOMTYPE_HPP
3
4 #include <string>
5
6 #include "utils/PropertyMap.hpp"
7 #define __C
8 #include "types/AtomTypeProperties.h"
9 #include "UseTheForce/DarkSide/atype_interface.h"
10
11 using namespace std;
12
13 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 virtual ~AtomType(){ };
27 /**
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
39 void setName(string n) {name = n;}
40 string getName() {return name;}
41
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
48 void setEAM() { atp.is_EAM = 1; }
49 bool isEAM() { return atp.is_EAM; }
50
51 void setCharge() { atp.is_Charge = 1; atp.is_Electrostatic = 1;}
52 bool isCharge() { return atp.is_Charge; }
53
54 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 PropertyMap properties;
61
62 protected:
63
64 AtomTypeProperties atp;
65 double mass;
66 string name;
67
68 };
69 }
70 #endif