ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/src/types/AtomType.hpp
Revision: 1637
Committed: Fri Oct 22 22:54:15 2004 UTC (19 years, 8 months ago) by chrisfen
File size: 1655 byte(s)
Log Message:
strDUP not strCOPY

File Contents

# Content
1 #ifndef TYPES_ATOMTYPE_HPP
2 #define TYPES_ATOMTYPE_HPP
3
4 #include "utils/PropertyMap.hpp"
5 #define __C
6 #include "types/AtomTypeProperties.h"
7 #include "UseTheForce/DarkSide/atype_interface.h"
8
9 namespace oopse {
10 /**
11 * @class AtomType
12 * AtomType is what OOPSE looks to for unchanging data about an atom.
13 * Things that belong to AtomType are universal properties (i.e. does
14 * this atom have a Charge? What is it's mass?) Dynamic properties of
15 * an atom are not intended to be properties of an atom type
16 */
17 class AtomType{
18
19 public:
20
21 AtomType();
22 ~AtomType();
23 /**
24 * Finishes off the AtomType by communicating the logical portions of the
25 * structure to the Fortran atype module
26 */
27 void complete();
28
29 void setMass(double m) { mass = m; }
30 double getMass(void) { return mass; }
31
32 void setIdent(int id) {atp.ident = id;}
33 int getIdent() {return atp.ident;}
34
35 void setName(char* n) {name = strdup(n);}
36 char* getName() {return name;}
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 setEAM() { atp.is_EAM = 1; }
45 bool isEAM() { return atp.is_EAM; }
46
47 void setCharge() { atp.is_Charge = 1; atp.is_Electrostatic = 1;}
48 bool isCharge() { return atp.is_Charge; }
49
50 PropertyMap properties;
51
52 protected:
53
54 AtomTypeProperties atp;
55 double mass;
56 char* name;
57
58 };
59 }
60 #endif