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
ChargesInMultipoles.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_CHARGESINMULTIPOLES_H
9 #define SPARROW_CHARGESINMULTIPOLES_H
10 
11 #include "MultipoleCharge.h"
12 #include "multipoleTypes.h"
13 #include <array>
14 #include <vector>
15 
16 namespace Scine {
17 namespace Sparrow {
18 
19 namespace nddo {
20 
21 namespace multipole {
22 
28  public:
29  using MultipoleCharges = std::vector<MultipoleCharge>;
30  using MultipoleChargesArray = std::array<MultipoleCharges, 13>;
31  static_assert(static_cast<std::underlying_type<Multipole>::type>(Multipole::Qzx) == 12,
32  "multipole type enum layout has changed");
33 
34  static const std::vector<MultipoleCharge>& getChargeConfiguration(Multipole t);
35 
36  private:
37  static MultipoleChargesArray createChargeConfigurations();
38 };
39 
40 } // namespace multipole
41 
42 } // namespace nddo
43 
44 } // namespace Sparrow
45 } // namespace Scine
46 #endif // SPARROW_CHARGESINMULTIPOLES_H
Definition: ChargesInMultipoles.h:27