NAMD
Public Member Functions | Public Attributes | List of all members
CollectionMaster::CollectVectorInstance Class Reference

#include <CollectionMaster.h>

Inheritance diagram for CollectionMaster::CollectVectorInstance:
CollectionMaster::CollectVectorInstanceDcdSelection

Public Member Functions

 CollectVectorInstance (void)
 
 CollectVectorInstance (int s)
 
void free ()
 
int notfree ()
 
void reset (int s)
 
void append (CollectVectorMsg *msg, int max_index)
 
int ready (void)
 

Public Attributes

int seq
 
Lattice lattice
 
ResizeArray< Vectordata
 
ResizeArray< FloatVectorfdata
 
int remaining
 

Detailed Description

Definition at line 194 of file CollectionMaster.h.

Constructor & Destructor Documentation

◆ CollectVectorInstance() [1/2]

CollectionMaster::CollectVectorInstance::CollectVectorInstance ( void  )
inline

Definition at line 198 of file CollectionMaster.h.

◆ CollectVectorInstance() [2/2]

CollectionMaster::CollectVectorInstance::CollectVectorInstance ( int  s)
inline

Definition at line 200 of file CollectionMaster.h.

References reset().

Member Function Documentation

◆ append()

void CollectionMaster::CollectVectorInstance::append ( CollectVectorMsg msg,
int  max_index 
)
inline

Definition at line 214 of file CollectionMaster.h.

References CollectVectorMsg::aid, CollectVectorMsg::aid_size, ResizeArray< Elem >::begin(), CollectVectorMsg::data, data, CollectVectorMsg::data_size, CollectVectorMsg::fdata, fdata, CollectVectorMsg::fdata_size, remaining, and ResizeArray< Elem >::resize().

215  {
216  AtomID *a = msg->aid;
217  Vector *d = msg->data;
218  FloatVector *fd = msg->fdata;
219  int size = msg->aid_size;
220  if ( msg->data_size ) {
221  data.resize(max_index);
222  Vector *ptr = data.begin();
223  for( int i = 0; i < size; ++i ) { ptr[a[i]] = d[i]; }
224  }
225  if ( msg->fdata_size ) {
226  fdata.resize(max_index);
227  FloatVector *ptr = fdata.begin();
228  for( int i = 0; i < size; ++i ) { ptr[a[i]] = fd[i]; }
229  }
230  --remaining;
231  }
Definition: Vector.h:72
void resize(int i)
Definition: ResizeArray.h:84
iterator begin(void)
Definition: ResizeArray.h:36
int32 AtomID
Definition: NamdTypes.h:35
FloatVector * fdata

◆ free()

void CollectionMaster::CollectVectorInstance::free ( )
inline

◆ notfree()

int CollectionMaster::CollectVectorInstance::notfree ( )
inline

Definition at line 203 of file CollectionMaster.h.

References seq.

Referenced by CollectionMaster::CollectVectorSequenceDcdSelection::submitData().

203 { return ( seq != -10 ); }

◆ ready()

int CollectionMaster::CollectVectorInstance::ready ( void  )
inline

◆ reset()

void CollectionMaster::CollectVectorInstance::reset ( int  s)
inline

Definition at line 205 of file CollectionMaster.h.

References data, fdata, NAMD_bug(), PatchMap::Object(), remaining, ResizeArray< Elem >::resize(), and seq.

Referenced by CollectVectorInstance(), and CollectionMaster::CollectVectorInstanceDcdSelection::CollectVectorInstanceDcdSelection().

205  {
206  if ( s == -10 ) NAMD_bug("seq == free in CollectionMaster");
207  seq = s;
208  remaining = (PatchMap::Object())->numNodesWithPatches();
209  data.resize(0);
210  fdata.resize(0);
211  }
static PatchMap * Object()
Definition: PatchMap.h:27
void resize(int i)
Definition: ResizeArray.h:84
void NAMD_bug(const char *err_msg)
Definition: common.C:195

Member Data Documentation

◆ data

ResizeArray<Vector> CollectionMaster::CollectVectorInstance::data

◆ fdata

ResizeArray<FloatVector> CollectionMaster::CollectVectorInstance::fdata

◆ lattice

Lattice CollectionMaster::CollectVectorInstance::lattice

◆ remaining

int CollectionMaster::CollectVectorInstance::remaining

◆ seq

int CollectionMaster::CollectVectorInstance::seq

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