- class Reaction
An abstract base class for reactions.
Reactions are used to add and remove atoms and bonds during
ConstructedMoleculeconstruction. Each subclass will implement a specific algorithm for doing this. Each
Reactioninstance should operate on a small set of directly relevant
FunctionalGroupinstances, and only modify the atoms and bonds of those instances. Normally, like 99% of the time, this should just be two functional groups, and you should ensure your topology graph only needs to react two functional groups at a time, if you can. However,
stkdoes not actually care, and you can modify as many atoms and bonds as you want in any reaction.
You might notice that the public method of this abstract base class,
get_result(), is implemented. This is purely for convenience when implementing subclasses. The implemented public method is simply a default implementation, which can be safely ignored or overridden, when implementing subclasses. The private methods are an implementation detail of this default implementation. However, they are not implemented. To use the default implementation of
get_result(), the private methods it relies on need to be implemented.
The source code of the subclasses, listed in
reaction, can serve as good examples.
Get the result of carrying out the reaction.