OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
Classes | |
class | PyOpalObject |
struct | PyOpalObjectGetProperty |
struct | PyOpalObjectSetProperty |
struct | AttributeDef |
Enumerations | |
enum | AttributeType { STRING, PREDEFINED_STRING, UPPER_CASE_STRING, STRING_LIST, DOUBLE, BOOL, INT, FLOAT_LIST } |
Functions | |
template<class C > | |
void | update (PyOpalObjectNS::PyOpalObject< C > pyelement) |
Variables | |
std::map< AttributeType, std::string > | attributeName |
PyOpalObjectNS namespace contains PyOpalObject, a wrapper for Object objects, and various supporting objects.
PyOpalObject<C>: basic element wrapper for C, which should be a subclass of OpalElement. AttributeType: enumeration of Opal Attribute Types (real, string, etc) AttributeDef: struct containing all of the things PyOpalObject needs to know about each attribute that should be exposed to the python api. PyElementGetProperty: call policy to handle access of an Attribute for a python property PyElementSetProperty: call policy to handle setting of an Attribute for a python property
To wrap an OpalElement, say MyOpalObjectClass, you need to:
PyOpalObject<MyOpalObjectType>.make_class()
Nb: apologies, this is heavy template stuff so almost everything has to go in the header file.
AttributeType is used to control conversion from python to OpalAttribute
Enumerator | |
---|---|
STRING | |
PREDEFINED_STRING | |
UPPER_CASE_STRING | |
STRING_LIST | |
DOUBLE | |
BOOL | |
INT | |
FLOAT_LIST |
Definition at line 80 of file PyOpalObject.h.
void PyOpal::PyOpalObjectNS::update | ( | PyOpalObjectNS::PyOpalObject< C > | pyelement | ) |
Call update on a pyelement
Note that C must be a subtype of OpalElement or some other class that has an C::update() method (i.e. not OpalObject).
Definition at line 340 of file PyOpalObject.h.
References PyOpal::PyOpalObjectNS::PyOpalObject< C >::getOpalShared().
Referenced by ParallelTTracker::applyFractionalStep(), PartBunchBase< T, Dim >::boundp(), PartBunchBase< T, Dim >::boundp_destroyCycl(), PartBunchBase< T, Dim >::push_back(), AmrParticleBase< PLayout >::update(), ParallelTTracker::updateRefToLabCSTrafo(), and ParallelTTracker::writePhaseSpace().
std::map< AttributeType, std::string > PyOpal::PyOpalObjectNS::attributeName |
Maps the AttributeType to a string representation for docstrings/etc
Definition at line 22 of file PyOpalObject.cpp.
Referenced by H5PartWrapper::copyHeader(), H5PartWrapper::copyStepHeader(), PyOpal::PyOpalObjectNS::PyOpalObject< C >::getAttribute(), PyOpal::PyOpalObjectNS::PyOpalObject< C >::getDocString(), H5PartWrapperForPC::readHeader(), H5PartWrapperForPT::readHeader(), and PyOpal::PyOpalObjectNS::PyOpalObject< C >::setAttribute().