1 |
gezelter |
1632 |
#ifndef TYPES_DIRECTIONALATOMTYPE_HPP |
2 |
|
|
#define TYPES_DIRECTIONALATOMTYPE_HPP |
3 |
|
|
|
4 |
|
|
#include "types/AtomType.hpp" |
5 |
|
|
#include "math/SquareMatrix3.hpp" |
6 |
|
|
|
7 |
|
|
namespace oopse { |
8 |
|
|
/** |
9 |
|
|
* @class DirectionalAtomType |
10 |
|
|
* |
11 |
|
|
* DirectionalAtomType is what OOPSE looks to for unchanging data |
12 |
|
|
* about a directional atoms. |
13 |
|
|
*/ |
14 |
|
|
class DirectionalAtomType : public AtomType { |
15 |
|
|
|
16 |
|
|
public: |
17 |
|
|
|
18 |
|
|
DirectionalAtomType() : AtomType() { atp.is_Directional = 1; } |
19 |
|
|
~DirectionalAtomType(); |
20 |
|
|
|
21 |
|
|
/** |
22 |
|
|
* Finishes off the DirectionalAtomType by communicating the |
23 |
|
|
* logical portions of the structure to the Fortran atype module |
24 |
|
|
*/ |
25 |
|
|
void complete(); |
26 |
|
|
|
27 |
gezelter |
1634 |
Mat3x3d getI() {return I;} |
28 |
|
|
void setI(Mat3x3d theI) {I = theI;} |
29 |
gezelter |
1632 |
|
30 |
gezelter |
1634 |
void setDipole() { atp.is_Dipole = 1; atp.is_Electrostatic = 1; } |
31 |
|
|
bool isDipole() { return atp.is_Dipole; } |
32 |
gezelter |
1632 |
|
33 |
gezelter |
1634 |
void setGayBerne() { atp.is_GayBerne = 1; } |
34 |
|
|
bool isGayBerne() { return atp.is_GayBerne; } |
35 |
gezelter |
1632 |
|
36 |
gezelter |
1634 |
void setSticky() { atp.is_Sticky = 1; } |
37 |
|
|
bool isSticky() { return atp.is_Sticky; } |
38 |
|
|
|
39 |
|
|
void setShape() { atp.is_Shape = 1;} |
40 |
|
|
bool isShape() { return atp.is_Shape; } |
41 |
gezelter |
1632 |
|
42 |
|
|
private: |
43 |
|
|
|
44 |
gezelter |
1634 |
Mat3x3d I; |
45 |
gezelter |
1632 |
|
46 |
|
|
}; |
47 |
|
|
} |
48 |
|
|
#endif |