Classes for multiple inheritance. More...
Classes | |
class | PLMD::ActionAtomistic |
Action used to create objects that access the positions of the atoms from the MD code. More... | |
class | PLMD::ActionPilot |
This is used to create PLMD::Action objects that are run with some set frequency. More... | |
class | PLMD::ActionSetup |
Action used to create a PLMD::Action that do something during setup only e.g. More... | |
class | PLMD::ActionWithArguments |
This is used to create PLMD::Action objects that take the output from some other Action as input. More... | |
class | PLMD::ActionWithValue |
Used to create a PLMD::Action that has some scalar or vectorial output that may or may not have some derivatives. More... | |
class | PLMD::vesselbase::ActionWithVessel |
This is used to create PLMD::Action objects that are computed by calculating the same function multiple times. More... | |
Classes for multiple inheritance.
Each of these classes implements some special feature which can be then used to compose complex Actions. All of them are "public virtual" derivatives of PLMD::Action, so that it is possible to build ad Action which is based on multiple classes from this group. This is the only place in the Action hierarchy where multiple inheritance should be used.
Multiple inheritance allows for immediate combination of these features, but add some C++ subtleties. If you do not fully understand them don't worry and directly inherits from classes in the Base classes for CVs, functions, biases, etc. group.
To add a class to this group, just put a
\ingroup MULTIINHERIT
statement somwhere inside the header.
Hosted by GitHub
![]() |
![]() |