8 #ifndef SPARROW_KLOPMANPARAMETER_H
9 #define SPARROW_KLOPMANPARAMETER_H
41 void set(MultipolePair type,
double value) {
42 K_.at(static_cast<unsigned>(type)) = value;
46 double get(MultipolePair type)
const {
47 return K_.at(static_cast<unsigned>(type));
75 void generateUpToP(
double gss,
double hsp,
double D1sp,
double hpp,
double D2pp);
109 void generateUpToD(
double gss,
double hsp,
double D1sp,
double hpp,
double D2pp,
double F0dd,
double G1pd,
110 double D1pd,
double G2sd,
double D2sd,
double F2dd,
double D2dd);
113 double findRootVar1(
double D,
double shift);
114 double findRootVar2(
double D,
double shift);
117 double findRootVar2Wrong(
double D,
double shift);
119 static_assert(
static_cast<std::underlying_type<MultipolePair>::type
>(MultipolePair::dd0) == 7,
120 "Multipole pair type enum has changed value layout");
121 std::array<double, 8> K_;
129 #endif // SPARROW_KLOPMANPARAMETER_H
This class is the container for the Klopman-Ohno parameters used for the evaluation of the multipoles...
Definition: KlopmanParameter.h:29
KlopmanParameter()
Constructor, calls the reset() function.
Definition: KlopmanParameter.cpp:16
void generateUpToP(double gss, double hsp, double D1sp, double hpp, double D2pp)
generates the Klopman–Ohno parameters up to the p orbitals
Definition: KlopmanParameter.cpp:32
void generateUpToS(double gss)
generates the Klopman–Ohno parameters up to the s orbitals
Definition: KlopmanParameter.cpp:26
void generateUpToD(double gss, double hsp, double D1sp, double hpp, double D2pp, double F0dd, double G1pd, double D1pd, double G2sd, double D2sd, double F2dd, double D2dd)
generates the Klopman–Ohno parameters up to the d orbitals
Definition: KlopmanParameter.cpp:40
void set(MultipolePair type, double value)
stores the value of the Klopman–Ohno parameter for a multipole type at the index given by the cast Mu...
Definition: KlopmanParameter.h:41
void reset()
Sets the values to zero.
Definition: KlopmanParameter.cpp:20