ComputeSelfTuples< T, S, P > Class Template Reference

#include <ComputeSelfTuples.h>

Inheritance diagram for ComputeSelfTuples< T, S, P >:
ComputeHomeTuples< T, S, P > Compute

List of all members.

Public Member Functions

 ComputeSelfTuples (ComputeID c, PatchID p)
virtual ~ComputeSelfTuples ()
virtual void initialize (void)
void doWork (void)

Detailed Description

template<class T, class S, class P>
class ComputeSelfTuples< T, S, P >

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 192 of file ComputeSelfTuples.h.


Constructor & Destructor Documentation

template<class T, class S, class P>
ComputeSelfTuples< T, S, P >::ComputeSelfTuples ( ComputeID  c,
PatchID  p 
) [inline]

Definition at line 351 of file ComputeSelfTuples.h.

00351                                               : ComputeHomeTuples<T,S,P>(c) {
00352       patchID = p;
00353     }

template<class T, class S, class P>
virtual ComputeSelfTuples< T, S, P >::~ComputeSelfTuples (  )  [inline, virtual]

Definition at line 355 of file ComputeSelfTuples.h.

00355                                  {
00356       UniqueSetIter<TuplePatchElem> ap(this->tuplePatchList);
00357       for (ap = ap.begin(); ap != ap.end(); ap++) {
00358         ap->p->unregisterPositionPickup(this,&(ap->positionBox));
00359         ap->p->unregisterAvgPositionPickup(this,&(ap->avgPositionBox));
00360         ap->p->unregisterForceDeposit(this,&(ap->forceBox));
00361       }
00362     }


Member Function Documentation

template<class T, class S, class P>
void ComputeSelfTuples< T, S, P >::doWork ( void   )  [inline, virtual]

Reimplemented from ComputeHomeTuples< T, S, P >.

Definition at line 393 of file ComputeSelfTuples.h.

00393                       {
00394 //      LdbCoordinator::Object()->startWork(this->ldObjHandle);
00395 
00396 #ifdef TRACE_COMPUTE_OBJECTS
00397     double traceObjStartTime = CmiWallTimer();
00398 #endif
00399 
00400       ComputeHomeTuples<T,S,P>::doWork();
00401 
00402 #ifdef TRACE_COMPUTE_OBJECTS
00403     traceUserBracketEvent(TRACE_COMPOBJ_IDOFFSET+this->cid, traceObjStartTime, CmiWallTimer());
00404 #endif
00405 
00406 //      LdbCoordinator::Object()->endWork(this->ldObjHandle);
00407     }

template<class T, class S, class P>
virtual void ComputeSelfTuples< T, S, P >::initialize ( void   )  [inline, virtual]

Reimplemented from ComputeHomeTuples< T, S, P >.

Definition at line 369 of file ComputeSelfTuples.h.

00369                                   {
00370 #ifdef USE_HOMETUPLES
00371       this->tuples = new SelfTuples<T, S, P>();
00372 #endif    
00373       // Start with empty list
00374       this->tuplePatchList.clear();
00375     
00376       this->tuplePatchList.add(TuplePatchElem(ComputeHomeTuples<T,S,P>::patchMap->patch(patchID), this));
00377     
00378       this->setNumPatches(this->tuplePatchList.size());
00379 
00380       this->doLoadTuples = true;
00381 
00382       int myNode = CkMyPe();
00383       if ( PatchMap::Object()->node(patchID) != myNode )
00384       {
00385         this->basePriority = COMPUTE_PROXY_PRIORITY + PATCH_PRIORITY(patchID);
00386       }
00387       else
00388       {
00389         this->basePriority = COMPUTE_HOME_PRIORITY + PATCH_PRIORITY(patchID);
00390       }
00391     }


The documentation for this class was generated from the following file:

Generated on 12 Jul 2020 for NAMD by  doxygen 1.6.1