BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
connectivityBase.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2: -*-
2 // vi: set ts=2:
3 //
4 //
5 
6 #ifndef BALL_QSAR_CONNECTIVITYBASE_H
7 #define BALL_QSAR_CONNECTIVITYBASE_H
8 
9 #ifndef BALL_COMMON_GLOBAL_H
10  #include <BALL/COMMON/global.h>
11 #endif
12 
13 #ifndef BALL_QSAR_DESCRIPTOR_H
14  #include <BALL/QSAR/descriptor.h>
15 #endif
16 
17 namespace BALL
18 {
19  // forward declarations
20  template <typename Key, typename Value> class HashMap;
21 
26  : public Descriptor
27  {
28  public:
29 
36 
40 
43  ConnectivityBase(const String& name);
44 
47  ConnectivityBase(const String& name, const String& unit);
48 
51  virtual ~ConnectivityBase();
53 
59  virtual ConnectivityBase& operator = (const ConnectivityBase& cb);
61 
65  void computeAllDescriptors(AtomContainer& ac);
67 
68  protected:
69 
73  bool isValid_(AtomContainer& ac);
75 
79  void calculate_(AtomContainer& ac);
80 
81 
83 
84 
85  private:
86 
87  /*_ @name Accessors
88  */
90  /*_ Dijkstra recursion. Performs a single source shortest path approach
91  @param distances to the other nodes are stored in referenced vector<double>
92  @param Atom which acts as source atom
93  @param indices map, which maps for each atom a index for the dist vector
94  */
95  void recursion_(std::vector<double>& dists, const Atom* source, HashMap<const Atom*, Size>& index_map);
97 
98  };
99 
100 } // namespace BALL
101 
102 #endif