PyOnCat General Model
IN PROGRESS
This is a generalization of PyOnCatSchema, in case it can be used for other applications other than garnet that want to achieve a similar functionality.
The detailed Instrument model is found here Intrument.
Related APIS:
experiment_list: oncat.Experiment.list(facility=<facility>, instrument=<instrument>)
experiment_info: oncat.Experiment.retrieve(experiment=<experiment>,facility=<facility>, instrument=<instrument>)
data_files: oncat.Datafile.list(facility=<facility>, instrument=<instrument>, experiment=<experiment>, projection=<projection>, exts=<ext>)
classDiagram
PyOnCatModel "1" o--"N" ExperimentModel
ExperimentModel "1" o--"N" RunModel
PyOnCatModel "1" -->"1" InstrumentModel
RunModel "1" *--"N<=170" ProjectionFieldKeyValueModel
class PyOnCatModel{
+InstrumentModel instrument
-PyOnCat:ONCat oncat_agent
+String data_source_filepath
+List~ExperimentModel~ experiment_list
+ExperimentModel selected_experiment
+get_experiments()
}
class InstrumentModel{
<>
}
class ExperimentModel{
+String ipts_number
+List~RunModel~ run_list
+get_run_list()
}
class RunModel{
+String run_number
+List~ProjectionFieldKeyValueModel~ fields
+get_run_data()
}
class ProjectionFieldKeyValueModel{
+String field_key
+String field_value
}