OpenAtom  Version1.5a
eesCache.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////
2 //////////////////////////////////////////////////////////////////////////////
3 //////////////////////////////////////////////////////////////////////////////
4 /** \file eesCache.h
5  *
6  *
7  */
8 //////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef _eesCache_h_
11 #define _eesCache_h_
12 
13 #include "eesDataClass.h"
14 
15 //////////////////////////////////////////////////////////////////////////////
16 /// Group Container class : Only allowed chare data classes have data.
17 //////////////////////////////////////////////////////////////////////////////
18 class eesCache: public Group {
19  public:
20  // Variables
21  const UberCollection thisInstance;
22  int itimeRPP;
23  int itimeRHart;
24  int rpp_on;
25 
26  int nstates;
27  int nchareGSPProcT; // Total number of GSP on proc
28  int *gspStateInd; // state index of gsp chare on proc
29  int *gspPlaneInd; // state index of gsp chare on proc
30  int nMallSize;
31 
32  int nchareGPP; // Chare Plane array index sizes
33  int nchareRPP;
34  int nchareGHart;
35  int nchareRHart;
36  int nchareGSP;
37  int nchareRhoG;
38 
39  int nchareGPPProc;
40  int nchareRPPProc; // # of plane chares of each type on this proc
41  int nchareGHartProc; // two different states with the same plane #
42  int nchareRHartProc; // assigned to this proc counts once here.
43  int nchareGSPProc;
44  int nchareRhoGProc;
45  int nkpoint;
46 
47  // planes chares on proc : again ignore state index
48  int *allowedGppChares; // lth: nchareGPP : 1/0 if chare is on/off proc
49  int *allowedRppChares; // lth: nchareRPP : 1/0 if chare is on/off proc
50  int *allowedRhoGHartChares; // lth: nchareGHart : 1/0 if chare is on/off proc
51  int *allowedRhoRHartChares; // lth: nchareRHart : 1/0 if chare is on/off proc
52  int *allowedGspChares; // lth: nchareRHart : 1/0 if chare is on/off proc
53  int *allowedRhoGChares; // lth: nchareRHart : 1/0 if chare is on/off proc
54 
55  // planes chares on proc : again ignore state index
56  int *indGppChares; // lth: nchareGPPProc : ind[5]=27 means the 5th chare
57  int *indRppChares; // lth: nchareRPPProc : on proc is plane index 27
58  int *indRhoGHartChares; // lth: nchareGHartProc:
59  int *indRhoRHartChares; // lth: nchareRHartProc:
60  int *indGspChares; // lth: nchareGspProc:
61  int *indRhoGChares; // lth: nchareRhoGProc:
62 
63  // plane data on proc : again ignore state index
64  GPPDATA **GppData; // lth: nchareGPP : only allowed guys have data
65  RPPDATA **RppData; // lth: nchareRPP : only allowed guys have data
66  RHOGHARTDATA **RhoGHartData; // lth: nchareGHart: only allowed guys have data
67  RHORHARTDATA **RhoRHartData; // lth: nchareRHart: only allowed guys have data
68  GSPDATA **GspData; // lth: nchareGsp : only allowed guys have data
69  //RHOGDATA *RhoGData; // lth: nchareRhoG : only allowed guys have data
70 
71  // Functions
72  eesCache(){};
73  ~eesCache(){};
74  eesCache(int , int , int , int ,int ,int,int, UberCollection thisInstance);
75 
76  // Report into the cache
77  void registerCacheGPP (int ,int, int *,int *,int*);
78  void registerCacheRPP (int );
79  void registerCacheGHart(int ,int, int *,int *,int*);
80  void registerCacheRHart(int );
81  void registerCacheGSP(int,int);
82  void registerCacheRHOG(int );
83 
84  // Ask the cache if it is warm
85  void queryCacheRPP (int ,int ,int );
86  void queryCacheRHart(int ,int ,int );
87 
88 };
89 //////////////////////////////////////////////////////////////////////////////
90 
91 
92 //////////////////////////////////////////////////////////////////////////////
93 
94 #endif // eesCache not yet defined
void registerCacheRHart(int)
= RhoRhart Cache Management tool
Definition: eesCache.C:158
holds the UberIndex and the offset for proxies
Definition: Uber.h:68
void queryCacheRHart(int, int, int)
= RhoGhart Cache Management tool
Definition: eesCache.C:438
Data class : Minimal copies of big redundant data sets.
Definition: eesDataClass.h:127
void registerCacheGHart(int, int, int *, int *, int *)
= RhoGhart Cache Management tool
Definition: eesCache.C:181
void queryCacheRPP(int, int, int)
= realParticlePlane Cache Management tool
Definition: eesCache.C:394
void registerCacheGPP(int, int, int *, int *, int *)
= GParticlePlane Cache Management tool
Definition: eesCache.C:138
Data class.
Definition: eesDataClass.h:20
Group Container class : Only allowed chare data classes have data.
Definition: eesCache.h:18
Data class.
Definition: eesDataClass.h:69
Data class.
Definition: eesDataClass.h:89
Data class.
Definition: eesDataClass.h:42
void registerCacheRPP(int)
= realParticlePlane Cache Management tool
Definition: eesCache.C:118