5 #ifndef BALL_STRUCTURE_RINGANALYSER_H
6 #define BALL_STRUCTURE_RINGANALYSER_H
8 #ifndef BALL_COMMON_GLOBAL_H
12 #ifndef BALL_KERNEL_ATOMCONTAINER_H
16 #ifndef BALL_CONCEPT_PROCESSOR_H
20 #ifndef BALL_CONCEPT_PROPERTY_H
59 Ring(std::vector<Atom*>
const& atoms_);
104 virtual bool finish();
120 bool isInRing(
const Atom* atom, std::vector<Atom*>
const& ring)
const;
128 bool isInRingSystem(
const Atom* atom,
Index i)
const;
137 void sequenceRing(std::vector<Atom*>& ring);
141 Size getNumberOfRingSystems();
145 std::vector<Ring> getRingSystem(
Position i);
149 std::vector<Position> getPeelingOrder(
Position i);
156 void clusterRings_();
161 void findSharedBonds_();
169 bool isCentralRing_(std::list<Position>::iterator ring, std::list<Position>& unassigned_rings);
174 bool peelNextRing_(std::list<Position>& unassigned_rings,
bool peel_fused =
false);
180 bool assignRTD_(std::list<Position>& trial_system);
197 #endif // BALL_STRUCTURE_RINGANALYSER_H