Working outside the classes¶
The software classes all provide the ‘Get’-method that allows extraction of an instance’s internal data.
transitions_s = transitions->Get()
transitions_dict = transitions->get()
This allows, for example, more control over the presentation of the data.
PLOT,transitions_s.data.frequency,1D5*transitions_s.data.intensity, $
XTITLE=transitions_s.units.x.str, $
YTITLE='integrated intensity [cm!U-2!N mol!U-1!N]', $
PSYM=10
import matplotlib.pyplot as plt
plt.plot(transitions_dict['data']['frequency'], transitions_dict['data']['intensity'])
plt.xlabel(transitions_dict['units']['x']['str'])
plt.ylabel('integrated intensity [cm!U-2!N mol!U-1!N]')
plt.show()
Subsequently these data can be manipulated and even be set to the instancer, which will try altering its internal state to reflect that of the manipulated data.
transitions->Set,transitions_s
transitions.set(transitions_dict)
In addition, the ‘Set’-method accepts keywords to alter its internal state.
transitions->Set,Data=transitions_s.data
transitions.set(data=transitions_dict['data'])
Lastly, it is also possible to create new intances initialized with an appropriate data representation or through keywords.
transitions = OBJ_NEW('AmesPAHdbIDLSuite_Transitions', transitions_s)
transitions = OBJ_NEW('AmesPAHdbIDLSuite_Transitions', $
Type=transitions_s.type, $
Version=transitions_s.version, $
PAHdb=pahdb->Pointer(), $
Data=transitions_s.data, $
Uids=transitions_s.uids, $
Model=transitions_s.model, $
Units=transitions_s.units)
transitions = transitions(transitions_dict)
transitions = trantions(type=transitions_dict['type'], \
version=transitions_dict['version'], \
pahdb=pahdb, \
data=transitions_dict['data'], \
uids=transitions_dict['uids'], \
model=transitions_dict['model'], \
units=transitions_dict['units'])