8 #ifndef SWOOSEUTILITIES_SUBSYSTEMGENERATOR_H
9 #define SWOOSEUTILITIES_SUBSYSTEMGENERATOR_H
25 class BondOrderCollection;
28 namespace SwooseUtilities {
29 class FragmentAnalyzer;
46 FragmentAnalyzer& fragmentAnalyzer,
double bondOrderThreshold,
int maximumSubsystemSize,
47 Core::Log& log,
int randomSeed = 42,
double probabilityToDivideBond = 1.0);
78 std::vector<int>& atomIndexMapping,
const double& subsystemRadius,
79 double& additionToRadius,
bool& unsuccessful);
84 std::vector<int> subgraphSizes_;
90 std::vector<std::list<int>> listsOfNeighbors_;
94 double bondOrderThreshold_;
96 int maximumSubsystemSize_;
98 std::shared_ptr<std::mt19937> randomEngine_;
102 double probabilityToDivideBond_;
104 static constexpr
int maxNumOfAttemptsForOneSubsystem_ = 100;
110 #endif // SWOOSEUTILITIES_SUBSYSTEMGENERATOR_H
Definition: SubsystemGenerator.h:31
SubsystemGenerator(const Utils::AtomCollection &fullStructure, const Utils::BondOrderCollection &bondOrders, FragmentAnalyzer &fragmentAnalyzer, double bondOrderThreshold, int maximumSubsystemSize, Core::Log &log, int randomSeed=42, double probabilityToDivideBond=1.0)
Constructor.
Definition: SubsystemGenerator.cpp:30
Definition: FragmentAnalyzer.h:22
Utils::AtomCollection generateSubsystem(int centralAtomIndex, std::vector< int > &atomIndexMapping, double subsystemRadius)
Generates a subsystem (fragment) from a given full system.
Definition: SubsystemGenerator.cpp:49