function [Time, DataArray] = SdasLoadMagneticData(client, shotnr) %% Necessary Java imports import java.lang.*; %% Complete UID for the parameters (shot dependent) if shotnr < 15669 parameterUid(1,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_0'; parameterUid(2,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_1'; parameterUid(3,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_2'; parameterUid(4,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_3'; parameterUid(5,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_4'; parameterUid(6,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_5'; parameterUid(7,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_6'; parameterUid(8,:) = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_7'; parameterUid(9,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_0'; parameterUid(10,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_1'; parameterUid(11,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_2'; parameterUid(12,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_3'; end if shotnr >= 15669 parameterUid(1,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_0'; parameterUid(2,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_1'; parameterUid(3,:) = 'PLASMACONTROL.TR512_B01.CHANNEL_0'; parameterUid(4,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_2'; parameterUid(5,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_3'; parameterUid(6,:) = 'PLASMACONTROL.TR512_B01.CHANNEL_1'; parameterUid(7,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_4'; parameterUid(8,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_5'; parameterUid(9,:) = 'PLASMACONTROL.TR512_B01.CHANNEL_2'; parameterUid(10,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_6'; parameterUid(11,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_7'; parameterUid(12,:) = 'PLASMACONTROL.TR512_B01.CHANNEL_3'; end %% Search existing parameters parameterList = ''; for i = 1:12 if client.parameterExists(parameterUid(i,:), '0x0000', shotnr) parameterList = strvcat(parameterList, parameterUid(i,:)); end end %% Incomplete or inexistent data if size(parameterList, 1) == 0 disp('Inexistent data.') Time = []; DataArray = []; end %% Convert tomography names to Java Strings parameterListCell = javaArray('java.lang.String', 1, size(parameterList, 1)); for i = 1:size(parameterList, 1) parameterListCell(1, i) = String(parameterList(i,:)); parameterListCell(1, i) = parameterListCell(1, i).trim(); end %% Get magnetic data parameterDataStruct = client.getMultipleData(cell(parameterListCell), '0x0000', shotnr); DummyData = parameterDataStruct(1).getData(); DataArray = zeros(size(DummyData, 1), length(parameterDataStruct)); for i = 1:length(parameterDataStruct) DataArray(:,i) = parameterDataStruct(i).getData(); end DataArray = double(DataArray); %% Create time vector Time = SdasCreateTimeVector(parameterDataStruct(1));