#include <CollectionMgr.h>
Inheritance diagram for CollectionMgr:

Public Member Functions | |
| CollectionMgr (SlaveInitMsg *msg) | |
| ~CollectionMgr (void) | |
| void | submitPositions (int seq, FullAtomList &a, Lattice l, int prec) |
| void | submitVelocities (int seq, int zero, FullAtomList &a) |
| void | sendDataStream (const char *) |
| void | setCollectionMaster (SlaveInitMsg *msg) |
Static Public Member Functions | |
| CollectionMgr * | Object () |
|
|
Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved. Definition at line 18 of file CollectionMgr.C. References DebugM. 00018 : master(msg->master) 00019 { 00020 delete msg; 00021 if (CkpvAccess(CollectionMgr_instance) == 0) { 00022 CkpvAccess(CollectionMgr_instance) = this; 00023 } else { 00024 DebugM(1, "CollectionMgr::CollectionMgr() - another instance of CollectionMgr exists!\n"); 00025 } 00026 }
|
|
|
Definition at line 29 of file CollectionMgr.C. 00030 {
00031 }
|
|
|
Definition at line 30 of file CollectionMgr.h. Referenced by ComputeStir::doForce(), and datastream::endd(). 00030 {
00031 return CkpvAccess(CollectionMgr_instance);
00032 }
|
|
|
Definition at line 84 of file CollectionMgr.C. References ResizeArray< Elem >::begin(), DataStreamMsg::data, and ResizeArray< Elem >::resize(). Referenced by ComputeStir::doForce(), and datastream::endd(). 00084 {
00085 DataStreamMsg *msg = new DataStreamMsg;
00086 msg->data.resize(strlen(data)+1);
00087 strcpy(msg->data.begin(),data);
00088 CProxy_CollectionMaster cm(master);
00089 cm.receiveDataStream(msg);
00090 }
|
|
|
Definition at line 125 of file CollectionMgr.h. References SlaveInitMsg::master. 00125 {
00126 master = msg->master;
00127 delete msg;
00128 }
|
|
||||||||||||||||||||
|
||||||||||||||||
|
Definition at line 60 of file CollectionMgr.C. References CollectionMgr::CollectVectorInstance::aid, CollectVectorMsg::aid, AtomIDList, CollectionMgr::CollectVectorInstance::data, CollectVectorMsg::data, CollectionMgr::CollectVectorInstance::free(), FullAtomList, PositionList, CollectionMgr::CollectVectorInstance::seq, CollectVectorMsg::seq, ResizeArray< Elem >::size(), and CollectionMgr::CollectVectorSequence::submitData(). Referenced by Sequencer::submitCollections(). 00061 {
00062 int numAtoms = a.size();
00063 AtomIDList aid(numAtoms);
00064 PositionList d(numAtoms);
00065 for ( int i=0; i<numAtoms; ++i ) {
00066 aid[i] = a[i].id;
00067 if ( zero ) d[i] = 0.;
00068 else d[i] = a[i].velocity;
00069 }
00070 CollectVectorInstance *c;
00071 if ( ( c = velocities.submitData(seq,aid,d) ) )
00072 {
00073 CollectVectorMsg * msg = new CollectVectorMsg;
00074 msg->seq = c->seq;
00075 msg->aid = c->aid;
00076 msg->data = c->data;
00077 CProxy_CollectionMaster cm(master);
00078 cm.receiveVelocities(msg);
00079 c->free();
00080 }
00081 }
|
1.3.9.1