changa 3.5
Loading...
Searching...
No Matches
PETreeMerger.h
1#ifndef PE_TREE_MERGER_H
2#define PE_TREE_MERGER_H
3
4#include "ParallelGravity.h"
5
8
13class PETreeMerger : public CBase_PETreeMerger {
14
15 CkVec<GenericTreeNode*> submittedRoots;
16 CkVec<TreePiece*> submittedTreePieces;
17
18 NonEmptyTreePieceCounter submittingTreePieceCounter;
19
20 public:
21 PETreeMerger() {}
22 PETreeMerger(CkMigrateMessage *m) : CBase_PETreeMerger(m) {}
23 void pup(PUP::er &p) { CBase_PETreeMerger::pup(p); }
24
25 void mergeNonLocalRequests(GenericTreeNode *root, TreePiece *treePiece);
26 void freeTree();
27
28 private:
29
30 void mergeWalk(CkVec<GenericTreeNode*> &mergeList, CkVec<TreePiece*> &treePieceList);
31 void requestNonLocalMoments(GenericTreeNode *pickedNode, TreePiece *pickedTreePiece);
32
33};
34
35#endif
Used to count non-empty treepieces on the local processor.
Definition ParallelGravity.h:2163
void mergeNonLocalRequests(GenericTreeNode *root, TreePiece *treePiece)
Obtain each TreePiece on this processor, and perform mergeWalk().
Definition PETreeMerger.cpp:8
Fundamental structure that holds particle and tree data.
Definition ParallelGravity.h:755
Base class for tree nodes.
Definition GenericTreeNode.h:59