/* * MirrorAction.def * * Created on: Aug 26, 2010 * Author: heber */ // all includes and forward declarations necessary for non-integral types below #include "Actions/Values.hpp" #include "LinearAlgebra/Vector.hpp" #include "Parameters/Validators/DummyValidator.hpp" // i.e. there is an integer with variable name Z that can be found in // ValueStorage by the token "Z" -> first column: int, Z, "Z" // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value #define paramtypes (Vector)(double)(bool) #define paramtokens ("mirror-atoms")("plane-offset")("periodic") #define paramdescriptions ("normal vector of mirror plane")("offset of plane with respect to origin")("system is constraint to periodic boundary conditions") #define paramreferences (normal)(offset)(periodic) #define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT(false)) #define paramvalids \ (DummyValidator< Vector >()) \ (DummyValidator< double >()) \ (DummyValidator< bool >()) #define statetypes (std::vector) #define statereferences (selectedAtoms) // some defines for all the names, you may use ACTION, STATE and PARAMS #define CATEGORY Atom #define MENUNAME "atom" #define MENUPOSITION 4 #define ACTIONNAME Mirror #define TOKEN "mirror-atoms" // finally the information stored in the ActionTrait specialization #define DESCRIPTION "mirror all selected atoms by a plane determined by a given normal and an offset" #undef SHORTFORM