ComputeSelfTuples< T, S, P > Class Template Reference

#include <ComputeSelfTuples.h>

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

ComputeHomeTuples< T, S, P > Compute ComputeSelfAngles ComputeSelfAniso ComputeSelfBonds ComputeSelfCrossterms ComputeSelfDihedrals ComputeSelfGromacsPair ComputeSelfImpropers ComputeSelfThole 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 150 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 267 of file ComputeSelfTuples.h.

00267                                               : ComputeHomeTuples<T,S,P>(c) {
00268       patchID = p;
00269     }

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

Definition at line 271 of file ComputeSelfTuples.h.

00271                                  {
00272       UniqueSetIter<TuplePatchElem> ap(this->tuplePatchList);
00273       for (ap = ap.begin(); ap != ap.end(); ap++) {
00274         ap->p->unregisterPositionPickup(this,&(ap->positionBox));
00275         ap->p->unregisterAvgPositionPickup(this,&(ap->avgPositionBox));
00276         ap->p->unregisterForceDeposit(this,&(ap->forceBox));
00277       }
00278     }


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 309 of file ComputeSelfTuples.h.

00309                       {
00310 //      LdbCoordinator::Object()->startWork(this->ldObjHandle);
00311 
00312 #ifdef TRACE_COMPUTE_OBJECTS
00313     double traceObjStartTime = CmiWallTimer();
00314 #endif
00315 
00316       ComputeHomeTuples<T,S,P>::doWork();
00317 
00318 #ifdef TRACE_COMPUTE_OBJECTS
00319     traceUserBracketEvent(TRACE_COMPOBJ_IDOFFSET+this->cid, traceObjStartTime, CmiWallTimer());
00320 #endif
00321 
00322 //      LdbCoordinator::Object()->endWork(this->ldObjHandle);
00323     }

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 285 of file ComputeSelfTuples.h.

00285                                   {
00286 #ifdef USE_HOMETUPLES
00287       this->tuples = new SelfTuples<T, S, P>();
00288 #endif    
00289       // Start with empty list
00290       this->tuplePatchList.clear();
00291     
00292       this->tuplePatchList.add(TuplePatchElem(ComputeHomeTuples<T,S,P>::patchMap->patch(patchID), this));
00293     
00294       this->setNumPatches(this->tuplePatchList.size());
00295 
00296       this->doLoadTuples = true;
00297 
00298       int myNode = CkMyPe();
00299       if ( PatchMap::Object()->node(patchID) != myNode )
00300       {
00301         this->basePriority = COMPUTE_PROXY_PRIORITY + PATCH_PRIORITY(patchID);
00302       }
00303       else
00304       {
00305         this->basePriority = COMPUTE_HOME_PRIORITY + PATCH_PRIORITY(patchID);
00306       }
00307     }


The documentation for this class was generated from the following file:
Generated on Thu Jun 21 01:17:20 2018 for NAMD by  doxygen 1.4.7