42 Index beads_in_int = ia->BeadCount();
43 std::vector<Bead *> l;
45 for (
Index ibead = 0; ibead < beads_in_int; ibead++) {
46 Index ii = ia->getBeadId(ibead);
55 std::map<Bead *, exclusion_t *>::const_iterator iter =
61 return (*iter).second;
65 std::map<Bead *, exclusion_t *>::iterator iter =
excl_by_bead_.find(bead);
70 return (*iter).second;
82 if (excl !=
nullptr) {
93 std::swap(bead1, bead2);
116 std::swap(bead1, bead2);
119 if (bead1 == bead2) {
127 std::list<exclusion_t *>::iterator ex =
129 [&bead1](
exclusion_t *
e) { return e->atom_ == bead1; });
135 (*ex)->exclude_.remove(bead2);
136 if ((*ex)->exclude_.empty()) {
157 out << (
Index)(exclusion_->atom_->getId()) + 1;
158 for (
Bead *bead : exclusion_->exclude_) {
159 out <<
" " << (bead->
getId() + 1);
Index getMoleculeId() const noexcept
Get the id of the molecule the bead is a part of, if the molecule id has not been set return topology...
Index getId() const noexcept
Gets the id of the bead.
void RemoveExclusion(Bead *bead1, Bead *bead2)
std::list< exclusion_t * > exclusions_
void ExcludeList(iterable &l)
void CreateExclusions(Topology *top)
void InsertExclusion(Bead *bead, iterable &excluded)
exclusion_t * GetExclusions(Bead *bead)
bool IsExcluded(Bead *bead1, Bead *bead2) const
std::map< Bead *, exclusion_t * > excl_by_bead_
topology of the whole system
Bead * getBead(const Index i)
Returns a pointer to the bead with index i.
InteractionContainer & BondedInteractions()
std::vector< Interaction * > InteractionContainer
bool compareAtomIdiExclusionList(const ExclusionList::exclusion_t *a, const ExclusionList::exclusion_t *b)
std::ostream & operator<<(std::ostream &out, ExclusionList &exl)
bool compareAtomIdBeadList(const Bead *a, const Bead *b)
base class for all analysis tools
std::list< Bead * > exclude_