NAMD
Public Member Functions | Public Attributes | List of all members
AtomSignature Class Reference

#include <structures.h>

Public Member Functions

 AtomSignature ()
 
 AtomSignature (const AtomSignature &sig)
 
AtomSignatureoperator= (const AtomSignature &sig)
 
int operator== (const AtomSignature &sig) const
 
 ~AtomSignature ()
 
void removeEmptyTupleSigs ()
 
void pack (MOStream *msg)
 
void unpack (MIStream *msg)
 

Public Attributes

int bondCnt
 
int angleCnt
 
int dihedralCnt
 
int improperCnt
 
int crosstermCnt
 
int gromacsPairCnt
 
TupleSignaturebondSigs
 
TupleSignatureangleSigs
 
TupleSignaturedihedralSigs
 
TupleSignatureimproperSigs
 
TupleSignaturecrosstermSigs
 
TupleSignaturegromacsPairSigs
 

Detailed Description

Definition at line 323 of file structures.h.

Constructor & Destructor Documentation

AtomSignature::AtomSignature ( )
inline

Definition at line 341 of file structures.h.

References angleCnt, angleSigs, bondCnt, bondSigs, crosstermCnt, crosstermSigs, dihedralCnt, dihedralSigs, gromacsPairCnt, gromacsPairSigs, improperCnt, and improperSigs.

341  {
343  // JLai
344  gromacsPairCnt=0;
345  bondSigs = NULL;
346  angleSigs = NULL;
347  dihedralSigs = NULL;
348  improperSigs = NULL;
349  crosstermSigs = NULL;
350  // JLai
351  gromacsPairSigs = NULL;
352  }
TupleSignature * improperSigs
Definition: structures.h:336
TupleSignature * dihedralSigs
Definition: structures.h:335
TupleSignature * crosstermSigs
Definition: structures.h:337
TupleSignature * gromacsPairSigs
Definition: structures.h:339
TupleSignature * bondSigs
Definition: structures.h:333
int gromacsPairCnt
Definition: structures.h:331
TupleSignature * angleSigs
Definition: structures.h:334
AtomSignature::AtomSignature ( const AtomSignature sig)
inline

Definition at line 353 of file structures.h.

References angleCnt, angleSigs, bondCnt, bondSigs, crosstermCnt, crosstermSigs, dihedralCnt, dihedralSigs, gromacsPairCnt, gromacsPairSigs, improperCnt, and improperSigs.

353  {
354  bondSigs = NULL;
355  angleSigs = NULL;
356  dihedralSigs = NULL;
357  improperSigs = NULL;
358  crosstermSigs = NULL;
359  // JLai
360  gromacsPairSigs = NULL;
361 
362  bondCnt = sig.bondCnt;
363  if(bondCnt>0){
365  for(int i=0; i<bondCnt; i++)
366  bondSigs[i] = sig.bondSigs[i];
367  }
368 
369  angleCnt = sig.angleCnt;
370  if(angleCnt>0){
372  for(int i=0; i<angleCnt; i++)
373  angleSigs[i] = sig.angleSigs[i];
374  }
375 
376  dihedralCnt = sig.dihedralCnt;
377  if(dihedralCnt>0){
379  for(int i=0; i<dihedralCnt; i++)
380  dihedralSigs[i] = sig.dihedralSigs[i];
381  }
382 
383  improperCnt = sig.improperCnt;
384  if(improperCnt>0){
386  for(int i=0; i<improperCnt; i++)
387  improperSigs[i] = sig.improperSigs[i];
388  }
389 
391  if(crosstermCnt>0){
393  for(int i=0; i<crosstermCnt; i++)
394  crosstermSigs[i] = sig.crosstermSigs[i];
395  }
396 
397  // JLai
399  if(gromacsPairCnt>0){
401  for(int i=0; i<gromacsPairCnt; i++) {
402  gromacsPairSigs[i] = sig.gromacsPairSigs[i];
403  }
404  }
405  }
TupleSignature * improperSigs
Definition: structures.h:336
TupleSignature * dihedralSigs
Definition: structures.h:335
TupleSignature * crosstermSigs
Definition: structures.h:337
TupleSignature * gromacsPairSigs
Definition: structures.h:339
TupleSignature * bondSigs
Definition: structures.h:333
int gromacsPairCnt
Definition: structures.h:331
TupleSignature * angleSigs
Definition: structures.h:334
AtomSignature::~AtomSignature ( )
inline

Definition at line 488 of file structures.h.

References angleSigs, bondSigs, crosstermSigs, dihedralSigs, gromacsPairSigs, and improperSigs.

488  {
489  if(bondSigs) delete[] bondSigs;
490  if(angleSigs) delete[] angleSigs;
491  if(dihedralSigs) delete[] dihedralSigs;
492  if(improperSigs) delete[] improperSigs;
493  if(crosstermSigs) delete[] crosstermSigs;
494  // JLai
495  if(gromacsPairSigs) delete[] gromacsPairSigs;
496  }
TupleSignature * improperSigs
Definition: structures.h:336
TupleSignature * dihedralSigs
Definition: structures.h:335
TupleSignature * crosstermSigs
Definition: structures.h:337
TupleSignature * gromacsPairSigs
Definition: structures.h:339
TupleSignature * bondSigs
Definition: structures.h:333
TupleSignature * angleSigs
Definition: structures.h:334

Member Function Documentation

AtomSignature& AtomSignature::operator= ( const AtomSignature sig)
inline

Definition at line 406 of file structures.h.

References angleCnt, angleSigs, bondCnt, bondSigs, crosstermCnt, crosstermSigs, dihedralCnt, dihedralSigs, gromacsPairCnt, gromacsPairSigs, improperCnt, and improperSigs.

406  {
407  bondCnt = sig.bondCnt;
408  if(bondSigs) delete [] bondSigs;
409  if(bondCnt>0){
411  for(int i=0; i<bondCnt; i++)
412  bondSigs[i] = sig.bondSigs[i];
413  }else
414  bondSigs = NULL;
415 
416  angleCnt = sig.angleCnt;
417  if(angleSigs) delete [] angleSigs;
418  if(angleCnt>0){
420  for(int i=0; i<angleCnt; i++)
421  angleSigs[i] = sig.angleSigs[i];
422  }else
423  angleSigs = NULL;
424 
425  dihedralCnt = sig.dihedralCnt;
426  if(dihedralSigs) delete [] dihedralSigs;
427  if(dihedralCnt>0){
429  for(int i=0; i<dihedralCnt; i++)
430  dihedralSigs[i] = sig.dihedralSigs[i];
431  }else
432  dihedralSigs = NULL;
433 
434  improperCnt = sig.improperCnt;
435  if(improperSigs) delete [] improperSigs;
436  if(improperCnt>0){
438  for(int i=0; i<improperCnt; i++)
439  improperSigs[i] = sig.improperSigs[i];
440  }else
441  improperSigs = NULL;
442 
444  if(crosstermSigs) delete [] crosstermSigs;
445  if(crosstermCnt>0){
447  for(int i=0; i<crosstermCnt; i++)
448  crosstermSigs[i] = sig.crosstermSigs[i];
449  }else
450  crosstermSigs = NULL;
451 
452  // JLai
454  if(gromacsPairSigs) delete [] gromacsPairSigs;
455  if(gromacsPairCnt>0){
457  for(int i=0; i<gromacsPairCnt; i++)
458  gromacsPairSigs[i] = sig.gromacsPairSigs[i];
459  }else
460  gromacsPairSigs = NULL;
461 
462  return *this;
463  }
TupleSignature * improperSigs
Definition: structures.h:336
TupleSignature * dihedralSigs
Definition: structures.h:335
TupleSignature * crosstermSigs
Definition: structures.h:337
TupleSignature * gromacsPairSigs
Definition: structures.h:339
TupleSignature * bondSigs
Definition: structures.h:333
int gromacsPairCnt
Definition: structures.h:331
TupleSignature * angleSigs
Definition: structures.h:334
int AtomSignature::operator== ( const AtomSignature sig) const
inline

Definition at line 464 of file structures.h.

References angleCnt, bondCnt, CMPSIGS, crosstermCnt, dihedralCnt, gromacsPairCnt, and improperCnt.

464  {
465  if(bondCnt!=sig.bondCnt) return 0;
466  if(angleCnt!=sig.angleCnt) return 0;
467  if(dihedralCnt!=sig.dihedralCnt) return 0;
468  if(improperCnt!=sig.improperCnt) return 0;
469  if(crosstermCnt!=sig.crosstermCnt) return 0;
470  //JLai
471  if(gromacsPairCnt!=sig.gromacsPairCnt) return 0;
472 
473  #define CMPSIGS(TUPLE) \
474  for(int i=0; i<sig.TUPLE##Cnt; i++){ \
475  if(!(TUPLE##Sigs[i]==sig.TUPLE##Sigs[i])) return 0; \
476  } \
477 
478  CMPSIGS(bond)
479  CMPSIGS(angle)
483  // JLai
485 
486  return 1;
487  }
#define CMPSIGS(TUPLE)
int gromacsPairCnt
Definition: structures.h:331
void AtomSignature::pack ( MOStream msg)
void AtomSignature::removeEmptyTupleSigs ( )
void AtomSignature::unpack ( MIStream msg)

Member Data Documentation

int AtomSignature::angleCnt
TupleSignature* AtomSignature::angleSigs
int AtomSignature::bondCnt
TupleSignature* AtomSignature::bondSigs
int AtomSignature::crosstermCnt
TupleSignature* AtomSignature::crosstermSigs
int AtomSignature::dihedralCnt
TupleSignature* AtomSignature::dihedralSigs
int AtomSignature::gromacsPairCnt
TupleSignature* AtomSignature::gromacsPairSigs
int AtomSignature::improperCnt
TupleSignature* AtomSignature::improperSigs

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