BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
molecularInteractions.h
Go to the documentation of this file.
1 #ifndef BALL_KERNEL_MOLECULARINTERACTIONS_H
2 #define BALL_KERNEL_MOLECULARINTERACTIONS_H
3 
4 #include <BALL/KERNEL/atom.h>
5 #include <BALL/DATATYPE/string.h>
6 #include <map>
7 
8 
9 namespace BALL
10 {
12  {
13  public:
14 
15  static bool SAVE_ONLY_SUMS;
16 
18 
19  void clear();
20 
21  void setThreshold(double threshold);
22 
23  void addInteraction(const Atom* atom, String interaction_type, double energy);
24 
25  void addInteraction(String interaction_type, double energy);
26 
27  bool hasInteraction(const Atom* atom, String interaction_type) const;
28 
29  double getInteractionEnergy(const Atom* atom, String interaction_type) const;
30 
31  double getInteractionEnergy(const Atom* atom, const list<String>& interaction_types) const;
32 
33  const std::map<const Atom*,double>* getInteractions(String interaction_type) const;
34 
35  void getInteractions(const std::list<String>& interaction_types, std::map<const Atom*,double>& interactions) const;
36 
37  double getInteractionEnergy(String interaction_type) const;
38 
39  double getInteractionEnergy(const std::list<String>& interaction_types) const;
40 
41  double getInteractionEnergy() const;
42 
43 
44  private:
45 
46  double threshold_;
47 
49  std::map<String, std::map<const Atom*,double> > interactions_map_;
50 
52  std::map<String,double> interaction_energies_;
53 
55  double total_energy_;
56 
57  };
58 }
59 
60 #endif // BALL_KERNEL_MOLECULARINTERACTIONS_H
#define BALL_EXPORT
Definition: COMMON/global.h:50