get_ica_spec.pro 1.61 KB
;===========================================================
;=============================================================

pro Get_Ica_Spec, StartTime, TimeInt 

common IcaSpecCom, Spec
common GraphC, Graph, GraphN, Item
common Etab, Flag, Tab

;------------Get data-----------------------------

    ID = Long(graph[GraphN].DataID[Item])

    Size = Spec.DefSize
    TimeArr = dblarr(Size);
    Spectra = fltarr(96, 16, 16, Size)
;    PaccArr = lonarr(Size);
    EnergyTab = intarr(Size);
    VI = "ros:ica:all";
    paramName = "no_counts_summed";

    RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $   
                                 ID, VI, paramName, $
                                 StartTime, TimeInt, Size, $
                                 TimeArr, Spectra)
  
    RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $   
                                 ID, VI, "energyTab", $
                                 StartTime, TimeInt, Size, $
                                 TimeArr, EnergyTab)

     if (ID GE 0) then  Graph[GraphN].DataID[Item] = ID
     if (RetSize GT 0) then begin
         Spectra = temporary(reform(Spectra[*,*,*,0:RetSize-1], 96L*16L*16L, RetSize));
         TimeArr -= graph[GraphN].TimeBase
         graph[GraphN].DataFlags[Item] = 1
         graph[GraphN].dataTime[Item] = TimeArr[0]
         average, Spec, TimeArr[0:RetSize-1], Spectra
         if (Flag eq GraphN) then immediate, Tab, TimeArr[0:RetSize-1], float(EnergyTab[0:RetSize-1]);
     endif; else Graph[GraphN].ErrorFlag = 1
   
 
   
return
end
;------------------------------------------------------------