ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/types/ShapeAtomType.hpp
Revision: 1652
Committed: Tue Oct 26 22:25:19 2004 UTC (19 years, 8 months ago) by gezelter
File size: 1881 byte(s)
Log Message:
Making ShapeType into a ShapeAtomType, fixing some isXXX

File Contents

# Content
1 /**
2 * @file ShapeAtomType.hpp
3 * @author Dan Gezelter
4 * @date 10/18/2004
5 * @version 1.0
6 */
7
8 #ifndef TYPES_SHAPEATOMTYPE_HPP
9 #define TYPES_SHAPEATOMTYPE_HPP
10
11 #include <vector>
12 #include "math/RealSphericalHarmonic.hpp"
13 #include "math/SquareMatrix3.hpp"
14 #include "types/DirectionalAtomType.hpp"
15
16 namespace oopse {
17 using namespace std;
18
19 class ShapeAtomType : public DirectionalAtomType {
20
21 public:
22
23 ShapeAtomType() : DirectionalAtomType() { atp.is_Shape = 1; }
24 ~ShapeAtomType();
25
26 vector<RealSphericalHarmonic*> getContactFuncs(void) {return contactFuncs;}
27 vector<RealSphericalHarmonic*> getRangeFuncs(void) {return rangeFuncs;}
28 vector<RealSphericalHarmonic*> getStrengthFuncs(void) {return strengthFuncs;}
29
30 void setContactFuncs(vector<RealSphericalHarmonic*> cf) {
31 contactFuncs = cf;
32 }
33 void setRangeFuncs(vector<RealSphericalHarmonic*> rf) {
34 rangeFuncs = rf;
35 }
36 void setStrengthFuncs(vector<RealSphericalHarmonic*> sf) {
37 strengthFuncs = sf;
38 }
39
40 /**
41 * Gets the value of the contact function at a particular orientation
42 * @param costheta
43 * @param phi
44 */
45 double getContactValueAt(double costheta, double phi);
46
47 /**
48 * Gets the value of the range function at a particular orientation
49 * @param costheta
50 * @param phi
51 */
52 double getRangeValueAt(double costheta, double phi);
53
54 /**
55 * Gets the value of the strength function at a particular orientation
56 * @param costheta
57 * @param phi
58 */
59 double getStrengthValueAt(double costheta, double phi);
60
61 private:
62
63 vector<RealSphericalHarmonic*> contactFuncs; // The contact functions
64 vector<RealSphericalHarmonic*> rangeFuncs; // The range functions
65 vector<RealSphericalHarmonic*> strengthFuncs; // The strength functions
66
67 };
68 }
69 #endif
70