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

#include <CollectionMaster.h>

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

Public Member Functions

 CollectVectorInstanceDcdSelection (void)
 
 CollectVectorInstanceDcdSelection (int s)
 
void append (CollectVectorMsg *msg, int max_index)
 
- Public Member Functions inherited from CollectionMaster::CollectVectorInstance
 CollectVectorInstance (void)
 
 CollectVectorInstance (int s)
 
void free ()
 
int notfree ()
 
void reset (int s)
 
void append (CollectVectorMsg *msg, int max_index)
 
int ready (void)
 

Additional Inherited Members

- Public Attributes inherited from CollectionMaster::CollectVectorInstance
int seq
 
Lattice lattice
 
ResizeArray< Vectordata
 
ResizeArray< FloatVectorfdata
 
int remaining
 

Detailed Description

Definition at line 246 of file CollectionMaster.h.

Constructor & Destructor Documentation

◆ CollectVectorInstanceDcdSelection() [1/2]

CollectionMaster::CollectVectorInstanceDcdSelection::CollectVectorInstanceDcdSelection ( void  )
inline

Definition at line 249 of file CollectionMaster.h.

249 { ; }

◆ CollectVectorInstanceDcdSelection() [2/2]

CollectionMaster::CollectVectorInstanceDcdSelection::CollectVectorInstanceDcdSelection ( int  s)
inline

Member Function Documentation

◆ append()

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

Definition at line 251 of file CollectionMaster.h.

References CollectVectorMsg::aid, CollectVectorMsg::aid_size, ResizeArray< Elem >::begin(), CollectVectorMsg::data, CollectionMaster::CollectVectorInstance::data, CollectVectorMsg::data_size, CollectVectorMsg::fdata, CollectionMaster::CollectVectorInstance::fdata, CollectVectorMsg::fdata_size, Molecule::get_dcd_selection_index_from_atom_id(), CollectVectorMsg::index, Node::molecule, Node::Object(), CollectionMaster::CollectVectorInstance::remaining, and ResizeArray< Elem >::resize().

252  {
253  AtomID *a = msg->aid;
254  Vector *d = msg->data;
255  FloatVector *fd = msg->fdata;
256  int size = msg->aid_size;
257  if ( msg->data_size ) {
258  data.resize(max_index);
259  Vector *ptr = data.begin();
260  for( int i = 0; i < size; ++i ) { ptr[Node::Object()->molecule->get_dcd_selection_index_from_atom_id(msg->index,a[i])] = d[i]; }
261  }
262  if ( msg->fdata_size ) {
263  fdata.resize(max_index);
264  FloatVector *ptr = fdata.begin();
265  for( int i = 0; i < size; ++i ) { ptr[Node::Object()->molecule->get_dcd_selection_index_from_atom_id(msg->index,a[i])] = fd[i]; }
266  }
267  --remaining;
268  }
static Node * Object()
Definition: Node.h:86
Definition: Vector.h:72
void resize(int i)
Definition: ResizeArray.h:84
int get_dcd_selection_index_from_atom_id(const int index, const int atomIndex)
Definition: Molecule.h:881
iterator begin(void)
Definition: ResizeArray.h:36
int32 AtomID
Definition: NamdTypes.h:35
Molecule * molecule
Definition: Node.h:179
FloatVector * fdata

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