Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

CollectionMasterHandler Class Reference

#include <CollectionMaster.h>

List of all members.

Public Member Functions

 CollectionMasterHandler (MasterHandlerInitMsg *)
 ~CollectionMasterHandler (void)
void enqueuePositions (EnqueueDataMsg *msg)
void enqueueVelocities (int seq)
void enqueuePositions (CkQdMsg *msg)
void enqueueVelocities (CkQdMsg *msg)
void setRealMaster (CkChareID m)

Static Public Member Functions

CollectionMasterHandlerObject ()


Constructor & Destructor Documentation

CollectionMasterHandler::CollectionMasterHandler MasterHandlerInitMsg msg  ) 
 

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

Definition at line 22 of file CollectionMaster.C.

References DebugM.

00022                                                                          : realMaster(msg->master)
00023 {
00024   delete msg;
00025   if (CpvAccess(CollectionMasterHandler_instance) == 0) {
00026     CpvAccess(CollectionMasterHandler_instance) = this;
00027   } else {
00028     DebugM(1, "CollectionMasterHandler::CollectionMasterHandler() - another instance of CollectionMasterHandler exists!\n");
00029   }
00030   enqueuePhase = 0;
00031 }

CollectionMasterHandler::~CollectionMasterHandler void   ) 
 

Definition at line 34 of file CollectionMaster.C.

00035 {
00036 }


Member Function Documentation

void CollectionMasterHandler::enqueuePositions CkQdMsg *  msg  ) 
 

Definition at line 74 of file CollectionMaster.C.

References enqueuePositions(), and Object().

00074                                                            {
00075     delete qmsg;
00076     Object()->enqueuePositions((EnqueueDataMsg *)NULL);
00077 }

void CollectionMasterHandler::enqueuePositions EnqueueDataMsg msg  ) 
 

Definition at line 38 of file CollectionMaster.C.

References EnqueueDataMsg::l, NAMD_die(), and EnqueueDataMsg::timestep.

Referenced by enqueuePositions().

00038                                                                  {
00039     if(enqueuePhase==0){
00040         CProxy_CollectionMaster cm(realMaster);
00041         EnqueueDataMsg *newmsg = new EnqueueDataMsg;
00042         newmsg->timestep = msg->timestep;
00043         newmsg->l = msg->l;
00044         cm.enqueuePositionsFromHandler(newmsg);
00045         delete msg;
00046     }else if(enqueuePhase==1){
00047         enqueuePhase = 0;
00048         #if CHARM_VERSION>050402
00049         CkStartQD(CkIndex_CollectionMasterHandler::enqueuePositions((CkQdMsg*)0), &thishandle);
00050         #else
00051         CkStartQD(CProxy_CollectionMasterHandler::ckIdx_enqueuePositions((CkQdMsg*)0), &thishandle);
00052         #endif
00053     }else{
00054         NAMD_die("Enqueue phase at enqueuePositions in the CollectionMasterHandler has wrong value!\n");
00055     }
00056 }

void CollectionMasterHandler::enqueueVelocities CkQdMsg *  msg  ) 
 

Definition at line 79 of file CollectionMaster.C.

References enqueueVelocities(), and Object().

00079                                                             {
00080     delete qmsg;
00081     Object()->enqueueVelocities(0);
00082 }

void CollectionMasterHandler::enqueueVelocities int  seq  ) 
 

Definition at line 58 of file CollectionMaster.C.

References NAMD_die().

Referenced by enqueueVelocities().

00058                                                       {
00059     if(enqueuePhase==0){
00060         CProxy_CollectionMaster cm(realMaster);
00061         cm.enqueueVelocitiesFromHandler(seq);
00062     }else if(enqueuePhase==1){
00063         enqueuePhase = 0;
00064         #if CHARM_VERSION>050402
00065         CkStartQD(CkIndex_CollectionMasterHandler::enqueueVelocities((CkQdMsg*)0), &thishandle);
00066         #else
00067         CkStartQD(CProxy_CollectionMasterHandler::ckIdx_enqueueVelocities((CkQdMsg*)0), &thishandle);
00068         #endif
00069     }else{
00070         NAMD_die("Enqueue phase at enqueueVelocities in the CollectionMasterHandler has wrong value!\n");
00071     }
00072 }

CollectionMasterHandler* CollectionMasterHandler::Object  )  [inline, static]
 

Definition at line 169 of file CollectionMaster.h.

Referenced by enqueuePositions(), enqueueVelocities(), and Node::startup().

00169                                            { 
00170     return CpvAccess(CollectionMasterHandler_instance); 
00171   }

void CollectionMasterHandler::setRealMaster CkChareID  m  )  [inline]
 

Definition at line 180 of file CollectionMaster.h.

Referenced by Node::startup().

00180 { realMaster = m ;}


The documentation for this class was generated from the following files:
Generated on Sun Jul 6 04:07:44 2008 for NAMD by  doxygen 1.3.9.1