00001
00002
00003
00004
00005
00006 #ifndef BALL_QSAR_SIMPLEBASE_H
00007 #define BALL_QSAR_SIMPLEBASE_H
00008
00009 #ifndef BALL_QSAR_DESCRIPTOR_H
00010 #include <BALL/QSAR/descriptor.h>
00011 #endif
00012
00013 namespace BALL
00014 {
00020 class BALL_EXPORT SimpleBase
00021 : public Descriptor
00022 {
00023 public:
00024
00030 SimpleBase();
00031
00034 SimpleBase(const SimpleBase& sb);
00035
00038 SimpleBase(const String& name);
00039
00042 SimpleBase(const String& name, const String& unit);
00043
00046 virtual ~SimpleBase();
00048
00054 SimpleBase& operator = (const SimpleBase& sb);
00056
00057
00058 protected:
00059
00063
00064
00065
00066
00067 bool isValid_(AtomContainer& ac);
00069
00073
00074
00075 void calculate_(AtomContainer& ac);
00077
00078
00079 private:
00080
00085
00086
00087
00088
00089
00090
00091 double calcPrincipalMomentOfInertia_(double& pmi_x, double& pmi_y, double& pmi_z, AtomContainer& ac);
00092
00093
00094
00095
00096
00097
00098 void readAtomicPolarizabilities_(std::vector<float>& polarizabilities);
00099
00100
00101
00102
00103 float getAtomicPolarizability_(int atomic_number);
00105
00109
00110
00111
00112
00113 bool isHydrophobic_(const Atom* atom) const;
00115 };
00116 }
00117
00118 #endif