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

#include <CollectionMgr.h>

Public Member Functions

 CollectVectorInstance (void)
 
void free ()
 
int notfree ()
 
void reset (int s, int p)
 
int append (AtomIDList &a, ResizeArray< Vector > &d)
 

Public Attributes

int seq
 
AtomIDList aid
 
int precisions
 
ResizeArray< Vectordata
 
ResizeArray< FloatVectorfdata
 

Detailed Description

Definition at line 49 of file CollectionMgr.h.

Constructor & Destructor Documentation

◆ CollectVectorInstance()

CollectionMgr::CollectVectorInstance::CollectVectorInstance ( void  )
inline

Definition at line 53 of file CollectionMgr.h.

Member Function Documentation

◆ append()

int CollectionMgr::CollectVectorInstance::append ( AtomIDList a,
ResizeArray< Vector > &  d 
)
inline

Definition at line 75 of file CollectionMgr.h.

References ResizeArray< Elem >::add(), aid, data, fdata, precisions, and ResizeArray< Elem >::size().

77  {
78  int size = a.size();
79  for( int i = 0; i < size; ++i )
80  {
81  aid.add(a[i]);
82 #ifdef MEM_OPT_VERSION
83  outRank.add(oRank[i]);
84 #endif
85  if ( precisions & 2 ) data.add(d[i]);
86  if ( precisions & 1 || precisions & 4) fdata.add(d[i]);
87  }
88  return ( ! --remaining );
89  }
int size(void) const
Definition: ResizeArray.h:131
int add(const Elem &elem)
Definition: ResizeArray.h:101
ResizeArray< FloatVector > fdata
Definition: CollectionMgr.h:99

◆ free()

void CollectionMgr::CollectVectorInstance::free ( )
inline

Definition at line 55 of file CollectionMgr.h.

References seq.

Referenced by CollectionMgr::submitForces(), and CollectionMgr::submitVelocities().

◆ notfree()

int CollectionMgr::CollectVectorInstance::notfree ( )
inline

Definition at line 56 of file CollectionMgr.h.

References seq.

Referenced by CollectionMgr::CollectVectorSequence::submitData().

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

◆ reset()

void CollectionMgr::CollectVectorInstance::reset ( int  s,
int  p 
)
inline

Definition at line 58 of file CollectionMgr.h.

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

58  {
59  if ( s == -10 ) NAMD_bug("seq == free in CollectionMgr");
60  seq = s;
61  precisions = p;
62  remaining = PatchMap::Object()->numHomePatches();
63  aid.resize(0);
64 #ifdef MEM_OPT_VERSION
65  outRank.resize(0);
66 #endif
67  data.resize(0);
68  fdata.resize(0);
69  }
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
int numHomePatches(void)
Definition: PatchMap.C:432
ResizeArray< FloatVector > fdata
Definition: CollectionMgr.h:99

Member Data Documentation

◆ aid

AtomIDList CollectionMgr::CollectVectorInstance::aid

◆ data

ResizeArray<Vector> CollectionMgr::CollectVectorInstance::data

◆ fdata

ResizeArray<FloatVector> CollectionMgr::CollectVectorInstance::fdata

Definition at line 99 of file CollectionMgr.h.

Referenced by append(), and reset().

◆ precisions

int CollectionMgr::CollectVectorInstance::precisions

Definition at line 97 of file CollectionMgr.h.

Referenced by append(), and reset().

◆ seq

int CollectionMgr::CollectVectorInstance::seq

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