ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/types/ShapeAtomType.hpp
Revision: 1832
Committed: Thu Dec 2 16:04:19 2004 UTC (19 years, 9 months ago) by tim
File size: 1912 byte(s)
Log Message:
still have two linking problem

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    
18 tim 1824
19 gezelter 1652 class ShapeAtomType : public DirectionalAtomType {
20    
21     public:
22    
23     ShapeAtomType() : DirectionalAtomType() { atp.is_Shape = 1; }
24     ~ShapeAtomType();
25    
26 tim 1826 std::vector<RealSphericalHarmonic*> getContactFuncs(void) {return contactFuncs;}
27     std::vector<RealSphericalHarmonic*> getRangeFuncs(void) {return rangeFuncs;}
28     std::vector<RealSphericalHarmonic*> getStrengthFuncs(void) {return strengthFuncs;}
29 gezelter 1652
30 tim 1832 void setContactFuncs(std::vector<RealSphericalHarmonic*> cf) {
31 gezelter 1652 contactFuncs = cf;
32     }
33 tim 1832 void setRangeFuncs(std::vector<RealSphericalHarmonic*> rf) {
34 gezelter 1652 rangeFuncs = rf;
35     }
36 tim 1832 void setStrengthFuncs(std::vector<RealSphericalHarmonic*> sf) {
37 gezelter 1652 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 tim 1826 std::vector<RealSphericalHarmonic*> contactFuncs; // The contact functions
64     std::vector<RealSphericalHarmonic*> rangeFuncs; // The range functions
65     std::vector<RealSphericalHarmonic*> strengthFuncs; // The strength functions
66 gezelter 1652
67     };
68     }
69     #endif
70