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
MultipoleCharge.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_MULTIPOLECHARGE_H
9 #define SPARROW_MULTIPOLECHARGE_H
10 
11 namespace Scine {
12 namespace Sparrow {
13 
14 namespace nddo {
15 
16 namespace multipole {
17 
18 // All multipliers for the charge separation parameters possible: 0, +-1, +-2, +-sqrt(2)
19 enum class ChargeDistance { d0, dp1, dm1, dp2, dm2, dps2, dms2 };
20 
25  public:
26  MultipoleCharge() = default;
27 
28  MultipoleCharge(ChargeDistance dx, ChargeDistance dy, ChargeDistance dz, double c) : x(dx), y(dy), z(dz), q(c) {
29  }
30 
31  ChargeDistance x{ChargeDistance::d0}, y{ChargeDistance::d0}, z{ChargeDistance::d0};
32  double q{0};
33 };
34 
35 } // namespace multipole
36 
37 } // namespace nddo
38 
39 } // namespace Sparrow
40 } // namespace Scine
41 #endif // SPARROW_MULTIPOLECHARGE_H
Definition: MultipoleCharge.h:24