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

00255                                               : ComputeHomeTuples<T,S,P>(c) {
00256       patchID = p;
00257     }

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

Definition at line 259 of file ComputeSelfTuples.h.

00259                                  {
00260       UniqueSetIter<TuplePatchElem> ap(this->tuplePatchList);
00261       for (ap = ap.begin(); ap != ap.end(); ap++) {
00262         ap->p->unregisterPositionPickup(this,&(ap->positionBox));
00263         ap->p->unregisterAvgPositionPickup(this,&(ap->avgPositionBox));
00264         ap->p->unregisterForceDeposit(this,&(ap->forceBox));
00265       }
00266     }


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

00297                       {
00298 //      LdbCoordinator::Object()->startWork(this->ldObjHandle);
00299 
00300 #ifdef TRACE_COMPUTE_OBJECTS
00301     double traceObjStartTime = CmiWallTimer();
00302 #endif
00303 
00304       ComputeHomeTuples<T,S,P>::doWork();
00305 
00306 #ifdef TRACE_COMPUTE_OBJECTS
00307     traceUserBracketEvent(TRACE_COMPOBJ_IDOFFSET+this->cid, traceObjStartTime, CmiWallTimer());
00308 #endif
00309 
00310 //      LdbCoordinator::Object()->endWork(this->ldObjHandle);
00311     }

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

00273                                   {
00274 #ifdef USE_HOMETUPLES
00275       this->tuples = new SelfTuples<T, S, P>();
00276 #endif    
00277       // Start with empty list
00278       this->tuplePatchList.clear();
00279     
00280       this->tuplePatchList.add(TuplePatchElem(ComputeHomeTuples<T,S,P>::patchMap->patch(patchID), this));
00281     
00282       this->setNumPatches(this->tuplePatchList.size());
00283 
00284       this->doLoadTuples = true;
00285 
00286       int myNode = CkMyPe();
00287       if ( PatchMap::Object()->node(patchID) != myNode )
00288       {
00289         this->basePriority = COMPUTE_PROXY_PRIORITY + PATCH_PRIORITY(patchID);
00290       }
00291       else
00292       {
00293         this->basePriority = COMPUTE_HOME_PRIORITY + PATCH_PRIORITY(patchID);
00294       }
00295     }


The documentation for this class was generated from the following file:
Generated on Tue Nov 21 01:17:18 2017 for NAMD by  doxygen 1.4.7