Classes
Classes for multiple inheritance

Classes

class  PLMD::ActionAnyorder
 
Action used to create a PLMD::Action that can go both before and after ActionSetup actions. More...
 
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::ActionShortcut
 
Action used to create a command that expands to multiple PLMD::Action commands when read in during input 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::vesselbase::ActionWithInputVessel
 
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...
 

Detailed Description

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.