8 #ifndef SPARROW_GLOBAL2C2ETERMS_H
9 #define SPARROW_GLOBAL2C2ETERMS_H
25 RotationTerm(
unsigned int p1,
unsigned int p2, GeneralTypes::rotationOrbitalPair f1, GeneralTypes::rotationOrbitalPair f2,
26 GeneralTypes::rotationOrbitalPair f3, GeneralTypes::rotationOrbitalPair f4)
27 : f1_(f1), f2_(f2), f3_(f3), f4_(f4), pair1_(p1), pair2_(p2) {
30 GeneralTypes::rotationOrbitalPair f1_, f2_, f3_, f4_;
31 unsigned int pair1_, pair2_;
36 using RotationTerms = std::list<RotationTerm>;
37 using RotationTermsArray = std::vector<std::vector<RotationTerms>>;
39 using orb_index_t = int;
40 using orbPair_index_t = int;
42 const RotationTerms& getTermList(orbPair_index_t op1, orbPair_index_t op2)
const {
43 static RotationTermsArray expressions = createRotationTerms();
44 return expressions[op1][op2];
48 static RotationTermsArray createRotationTerms();
49 static void createTerm(RotationTermsArray& expressions, std::array<int, 8> i);
50 static bool compatibleOrbitals(
int a,
int b);
59 #endif // SPARROW_GLOBAL2C2ETERMS_H
Definition: Global2c2eTerms.h:24
Definition: Global2c2eTerms.h:34