00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // 00005 00006 #ifndef BALL_QSAR_SURFACEDESCRIPTORS_H 00007 #define BALL_QSAR_SURFACEDESCRIPTORS_H 00008 00009 #ifndef BALL_QSAR_SURFACEBASE_H 00010 # include <BALL/QSAR/surfaceBase.h> 00011 #endif 00012 00013 namespace BALL 00014 { 00015 // 15 surface descriptors 00016 00021 class BALL_EXPORT PositiveVdWSurface 00022 : public SurfaceBase 00023 { 00024 public: 00025 00026 BALL_CREATE(PositiveVdWSurface); 00027 00033 PositiveVdWSurface(); 00034 00037 PositiveVdWSurface(const PositiveVdWSurface& ps); 00038 00041 virtual ~PositiveVdWSurface(); 00043 00049 PositiveVdWSurface& operator = (const PositiveVdWSurface& ps); 00051 }; 00052 00057 class BALL_EXPORT NegativeVdWSurface 00058 : public SurfaceBase 00059 { 00060 public: 00061 00062 BALL_CREATE(NegativeVdWSurface) 00063 00064 00069 NegativeVdWSurface(); 00070 00073 NegativeVdWSurface(const NegativeVdWSurface& ns); 00074 00077 virtual ~NegativeVdWSurface(); 00079 00085 NegativeVdWSurface& operator = (const NegativeVdWSurface& ns); 00087 }; 00088 00094 class BALL_EXPORT PositivePolarVdWSurface 00095 : public SurfaceBase 00096 { 00097 public: 00098 00099 BALL_CREATE(PositivePolarVdWSurface) 00100 00101 00106 PositivePolarVdWSurface(); 00107 00110 PositivePolarVdWSurface(const PositivePolarVdWSurface& pps); 00111 00114 virtual ~PositivePolarVdWSurface(); 00116 00122 PositivePolarVdWSurface& operator = (const PositivePolarVdWSurface& pps); 00124 }; 00125 00131 class BALL_EXPORT NegativePolarVdWSurface 00132 : public SurfaceBase 00133 { 00134 public: 00135 00136 BALL_CREATE(NegativePolarVdWSurface) 00137 00138 00143 NegativePolarVdWSurface(); 00144 00147 NegativePolarVdWSurface(const NegativePolarVdWSurface& nps); 00148 00151 virtual ~NegativePolarVdWSurface(); 00153 00159 NegativePolarVdWSurface& operator = (const NegativePolarVdWSurface& nps); 00161 }; 00162 00167 class BALL_EXPORT HydrophobicVdWSurface 00168 : public SurfaceBase 00169 { 00170 public: 00171 00172 BALL_CREATE(HydrophobicVdWSurface) 00173 00174 00179 HydrophobicVdWSurface(); 00180 00183 HydrophobicVdWSurface(const HydrophobicVdWSurface& hs); 00184 00187 virtual ~HydrophobicVdWSurface(); 00189 00195 HydrophobicVdWSurface& operator = (const HydrophobicVdWSurface& hs); 00197 }; 00198 00203 class BALL_EXPORT PolarVdWSurface 00204 : public SurfaceBase 00205 { 00206 public: 00207 00208 BALL_CREATE(PolarVdWSurface) 00209 00210 00215 PolarVdWSurface(); 00216 00219 PolarVdWSurface(const PolarVdWSurface& ps); 00220 00223 virtual ~PolarVdWSurface(); 00225 00231 PolarVdWSurface& operator = (const PolarVdWSurface& ps); 00233 }; 00234 00241 class BALL_EXPORT RelPositiveVdWSurface 00242 : public SurfaceBase 00243 { 00244 public: 00245 00246 BALL_CREATE(RelPositiveVdWSurface) 00247 00248 00253 RelPositiveVdWSurface(); 00254 00257 RelPositiveVdWSurface(const RelPositiveVdWSurface& rps); 00258 00261 virtual ~RelPositiveVdWSurface(); 00263 00269 RelPositiveVdWSurface& operator = (const RelPositiveVdWSurface& rps); 00271 00275 double compute(AtomContainer& ac); 00277 }; 00278 00285 class BALL_EXPORT RelNegativeVdWSurface 00286 : public SurfaceBase 00287 { 00288 public: 00289 00290 BALL_CREATE(RelNegativeVdWSurface) 00291 00292 00297 RelNegativeVdWSurface(); 00298 00301 RelNegativeVdWSurface(const RelNegativeVdWSurface& rns); 00302 00305 virtual ~RelNegativeVdWSurface(); 00306 //q} 00307 00313 RelNegativeVdWSurface& operator = (const RelNegativeVdWSurface& rns); 00315 00319 double compute(AtomContainer& ac); 00321 }; 00322 00330 class BALL_EXPORT RelPositivePolarVdWSurface 00331 : public SurfaceBase 00332 { 00333 public: 00334 00335 BALL_CREATE(RelPositivePolarVdWSurface) 00336 00337 00342 RelPositivePolarVdWSurface(); 00343 00346 RelPositivePolarVdWSurface(const RelPositivePolarVdWSurface& rpps); 00347 00350 virtual ~RelPositivePolarVdWSurface(); 00352 00358 RelPositivePolarVdWSurface& operator = (const RelPositivePolarVdWSurface& rpps); 00360 00364 double compute(AtomContainer& ac); 00366 }; 00367 00375 class BALL_EXPORT RelNegativePolarVdWSurface 00376 : public SurfaceBase 00377 { 00378 public: 00379 00380 BALL_CREATE(RelNegativePolarVdWSurface) 00381 00382 00387 RelNegativePolarVdWSurface(); 00388 00391 RelNegativePolarVdWSurface(const RelNegativePolarVdWSurface& rnps); 00392 00395 virtual ~RelNegativePolarVdWSurface(); 00397 00403 RelNegativePolarVdWSurface& operator = (const RelNegativePolarVdWSurface& rnps); 00405 00409 double compute(AtomContainer& ac); 00411 }; 00412 00419 class BALL_EXPORT RelHydrophobicVdWSurface 00420 : public SurfaceBase 00421 { 00422 public: 00423 00424 BALL_CREATE(RelHydrophobicVdWSurface) 00425 00426 00431 RelHydrophobicVdWSurface(); 00432 00435 RelHydrophobicVdWSurface(const RelHydrophobicVdWSurface& rhs); 00436 00439 virtual ~RelHydrophobicVdWSurface(); 00441 00447 RelHydrophobicVdWSurface& operator = (const RelHydrophobicVdWSurface& rhs); 00449 00453 double compute(AtomContainer& ac); 00455 }; 00456 00463 class BALL_EXPORT RelPolarVdWSurface 00464 : public SurfaceBase 00465 { 00466 public: 00467 00468 BALL_CREATE(RelPolarVdWSurface) 00469 00470 00475 RelPolarVdWSurface(); 00476 00479 RelPolarVdWSurface(const RelPolarVdWSurface& rps); 00480 00483 virtual ~RelPolarVdWSurface(); 00485 00491 RelPolarVdWSurface& operator = (const RelPolarVdWSurface& rps); 00493 00497 double compute(AtomContainer& ac); 00499 }; 00500 00504 class BALL_EXPORT VdWVolume 00505 : public SurfaceBase 00506 { 00507 public: 00508 00509 BALL_CREATE(VdWVolume) 00510 00511 00516 VdWVolume(); 00517 00520 VdWVolume(const VdWVolume& vol); 00521 00524 virtual ~VdWVolume(); 00526 00532 VdWVolume& operator = (const VdWVolume& vol); 00534 }; 00535 00540 class BALL_EXPORT Density 00541 : public SurfaceBase 00542 { 00543 public: 00544 00545 BALL_CREATE(Density) 00546 00547 00552 Density(); 00553 00556 Density(const Density& rho); 00557 00560 virtual ~Density(); 00562 00568 Density& operator = (const Density& rho); 00570 }; 00571 00575 class BALL_EXPORT VdWSurface 00576 : public SurfaceBase 00577 { 00578 public: 00579 00580 BALL_CREATE(VdWSurface) 00581 00582 00587 VdWSurface(); 00588 00591 VdWSurface(const VdWSurface& s); 00592 00595 virtual ~VdWSurface(); 00597 00603 VdWSurface& operator = (const VdWSurface& s); 00605 }; 00606 00607 } // namespace BALL 00608 00609 #endif // BALL_QSAR_SURFACEDESCRIPTORS_H 00610