Scine::Sparrow  5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
MMTermCreator.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_MULTIPOLEMULTIPOLETERMCREATOR_H
9 #define SPARROW_MULTIPOLEMULTIPOLETERMCREATOR_H
10 
11 #include "MultipoleChargePair.h"
13 #include <list>
14 
15 namespace Scine {
16 namespace Sparrow {
17 
18 namespace nddo {
19 
20 namespace multipole {
21 
23  public:
24  void add(const MultipoleChargePair& cp);
25  MultipoleMultipoleInteraction computeList() const;
26 
27  unsigned int size() const {
28  return static_cast<unsigned int>(terms_.size());
29  }
30 
31  private:
32  bool equivalent(const MultipoleChargePair& p1, const MultipoleChargePair& p2);
33  double fromEnum(ChargeDistance d) const;
34  std::list<MultipoleChargePair> terms_;
35 };
36 
37 } // namespace multipole
38 
39 } // namespace nddo
40 
41 } // namespace Sparrow
42 } // namespace Scine
43 #endif // SPARROW_MULTIPOLEMULTIPOLETERMCREATOR_H
This header-only class performs the actual calculation of the multipole-multipole interaction...
Definition: MultipoleMultipoleInteraction.h:29
Definition: MultipoleChargePair.h:54