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 |
tim |
1813 |
/** |
10 |
|
|
* @class DirectionalAtomType |
11 |
|
|
* |
12 |
|
|
* DirectionalAtomType is what OOPSE looks to for unchanging data |
13 |
|
|
* about a directional atoms. |
14 |
|
|
*/ |
15 |
|
|
class DirectionalAtomType : public AtomType { |
16 |
gezelter |
1632 |
|
17 |
tim |
1813 |
public: |
18 |
gezelter |
1632 |
|
19 |
tim |
1813 |
DirectionalAtomType() : AtomType() { atp.is_Directional = 1; } |
20 |
gezelter |
1632 |
|
21 |
tim |
1813 |
Mat3x3d getI() {return I;} |
22 |
gezelter |
1634 |
|
23 |
tim |
1813 |
void setI(Mat3x3d theI) {I = theI;} |
24 |
gezelter |
1652 |
|
25 |
tim |
1813 |
RotMat3x3d getElectroBodyFrame() { |
26 |
|
|
return electroBodyFrame_; |
27 |
|
|
} |
28 |
tim |
1765 |
|
29 |
tim |
1813 |
void setElectroBodyFrame(const RotMat3x3d& electroBodyFrame) { |
30 |
|
|
electroBodyFrame_ =electroBodyFrame; |
31 |
|
|
} |
32 |
tim |
1765 |
|
33 |
tim |
1813 |
void setDipole() { atp.is_Dipole = 1; } |
34 |
tim |
1765 |
|
35 |
tim |
1813 |
void setQuadrupole() { atp.is_Quadrupole = 1; } |
36 |
|
|
|
37 |
|
|
void setGayBerne() { atp.is_GayBerne = 1; } |
38 |
|
|
|
39 |
|
|
void setSticky() { atp.is_Sticky = 1; } |
40 |
|
|
|
41 |
|
|
void setShape() { atp.is_Shape = 1;} |
42 |
|
|
|
43 |
|
|
virtual void complete(); |
44 |
|
|
|
45 |
|
|
private: |
46 |
|
|
|
47 |
|
|
Mat3x3d I; |
48 |
|
|
RotMat3x3d electroBodyFrame_; |
49 |
|
|
}; |
50 |
|
|
|
51 |
|
|
|
52 |
|
|
struct StickyParam { |
53 |
|
|
double w0; |
54 |
|
|
double v0; |
55 |
|
|
double v0p; |
56 |
|
|
double rl; |
57 |
|
|
double ru; |
58 |
|
|
double rlp; |
59 |
|
|
double rup; |
60 |
|
|
}; |
61 |
|
|
|
62 |
|
|
typedef SimpleTypeData<StickyParam> StickyParamGenericData; |
63 |
|
|
|
64 |
|
|
typedef SimpleTypeData<Vector3d> Vector3dGenericData; |
65 |
|
|
|
66 |
gezelter |
1632 |
} |
67 |
|
|
#endif |