ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.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

# User Rev Content
1 gezelter 1652 /**
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