2 #include "structureFactorCache.decl.h"
3 #include "StructureFactorMessages.h"
5 #ifndef _StructFactorCache_h_
6 #define _StructFactorCache_h_
12 CkVec <CkArrayIndex2D> particles;
14 bool operator==(
const PlaneAtom& obj)
const {
15 return (obj.plane==plane && obj.atom ==atom);
17 PlaneAtom(
int _plane,
int _atom): plane(_plane), atom(_atom) {}
18 void pup(PUP::er &p) {
33 PlaneCount(
int p,
int c,
int _state) : plane(p), count(c), state(_state) { updated = 0;}
41 void printCountStructFact();
42 int numSfGrps,natm_nl,natm_nl_grp_max, totalsize;
47 numSfGrps = numSfGrps_in;
49 natm_nl_grp_max = natm_nl_grp_max_in;
56 int existStructFactGrp(
int planeIndex,
int atmGrp);
57 int registerPP(
int state,
int plane,
int atmGrp);
58 int existsPP(
int plane,
int atmGrp);
60 void pup(PUP::er &p) {
61 p|numSfGrps; p|natm_nl; p|natm_nl_grp_max, p|totalsize;
64 CkVec<GSlabInfo> gSpaceSlabs;
65 CkVec<int*> structFactorAtmGrps;
66 CkVec<complex*> structFactorList;
67 CkVec<complex*> structFactorfxList;
68 CkVec<complex*> structFactorfyList;
69 CkVec<complex*> structFactorfzList;
70 CkVec<int> structFactorSize;
71 CkVec<PlaneCount> planeCountList;
72 CkVec <PlaneAtom> ppList;
74 int existStructFact(
int planeIndex);
75 int incCountStructFact(
int planeIndex);
76 int decCountStructFact(
int planeIndex);
81 #endif //_StructFactorCache_h_
holds the UberIndex and the offset for proxies
Add type declarations for simulationConstants class (readonly vars) and once class for each type of o...
int registerPP(int state, int plane, int atmGrp)
local particle planes register themselves with the cache so they can be launched by the arrival of an...