2 #ifndef MCMD_LINK_MASTER_H 3 #define MCMD_LINK_MASTER_H 13 #include "LinkEvents.h" 14 #include <mcMd/chemistry/Atom.h> 15 #include <util/param/ParamComposite.h> 16 #include <util/containers/DArray.h> 17 #include <util/containers/ArrayStack.h> 18 #include <util/containers/ArraySet.h> 19 #include <util/containers/SSet.h> 20 #include <util/containers/PArrayIterator.h> 21 #include <util/containers/ConstPArrayIterator.h> 22 #include <util/misc/Notifier.h> 71 void readParameters(std::istream& in);
84 void addLink(
Atom& atom0,
Atom& atom1,
int typeId);
93 void removeLink(
int id);
101 const AtomLinkSet& atomLinkSet(
const Atom& atom)
const;
108 AtomLinkSet& atomLinkSet(
const Atom& atom);
124 Link& link(
int id)
const;
134 void reSetAtom(
Link& link,
Atom& atom,
int endId);
146 void begin(LinkIterator& iterator);
153 void begin(ConstLinkIterator& iterator)
const;
165 bool isValid()
const;
228 return (atomLinkSets_[atom.
id()]);
237 return (atomLinkSets_[atom.
id()]);
244 { linkSet_.
begin(iterator); }
250 { linkSet_.begin(iterator); }
255 inline Link& LinkMaster::link(
int id)
const 256 {
return linkSet_[id]; }
261 inline int LinkMaster::nLink()
const 262 {
return linkSet_.size(); }
SSet< Link, 400 > AtomLinkSet
A set of links involving a particular atom.
A Link represents a crosslink between two Atoms.
Forward iterator for a PArray.
PArrayIterator< Link > LinkIterator
Iterator for set of active links.
A container for pointers to a subset of elements of an associated array.
A point particle within a Molecule.
Utility classes for scientific computation.
void begin(PArrayIterator< Data > &iterator)
Set a PArrayIterator to the beginning of this Array.
int id() const
Get global index for this Atom within the Simulation.
A stack of fixed capacity.
Forward iterator for a PArray.
Abstract template for a notifier (or subject) in the Observer design pattern.
Manages all Link objects in a System.
ConstPArrayIterator< Link > ConstLinkIterator
Const iterator for set of active links.
Dynamically allocatable contiguous array template.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
Statically allocated array of pointers to an unordered set.
An object that can read multiple parameters from file.