*+ 072712 I3 families,tables(curves,functions),mrf,mrfd,c453... So called families are 'curves' to control RF. The first one is anode curve dealt in module hv.cpp. The other 8 curves (#1:8) are so called high level RF curves, dealt in hl.cpp PGM_STRUCT(6 parameters) defines job at hands. static char famnam[][FAMNAM_LEN] = { "Anode program", "Bias supply program", "Open loop gain", "Cascode Q gain", "Anode limit program", "Grid bias program", "Direct FB loop gain", "Slip stacking APG", "FF B.L.C. amplitude" }; static char funnam[][FUNNAM_LEN + 1] = { "f(t,e)/ none ", " none /f(p) ", "f(t,e)/f(p,e)", "f(t,e)/f(p,e)", " none /f(p) ", "f(t,e)/f(p,e)", "f(t,e)/f(p) ", "f(t,e)/ none ", "f(t,e)/f(p,e)"}; Each family can have two curve to control. f(t) the independent of function(curve) is time; f(p) momentum; They may be event dependent - f(t,e) and f(p,e). This is falged by i1:i20 of DB table i3_pgm_pars. In it there are 2 int for each family for 't' table(curve,fuction) and 'p' table. Each word has 3 possible values: 0 -curve non-existing; 1 - existing; -1: existing & event dependent. for example the first par (-1,0) for anode table, f(t,e) / no 'p' table. When you select table with the menubar it goes by this i3_pgm_pars. 1> select * from i3_pgm_pars 2> go family cycle tgh mrf mrfd c465 i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20 ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- 2 2 0 1 1 1 -1 0 0 1 -1 -1 -1 -1 0 1 -1 -1 -1 1 -1 0 -1 -1 0 0 (1 row affected) Notes: 1. This is a job defining DB table(single rec) in I3 The first 6 are pars defined job at hand,PGM_STRUCT, pgm_par1_r read the 6 pars in pgm_par1_update update when job is selected. i1:i20 are used to define what kind of table: each pair is for a family. The firsrt is about time table(independent variable is t); the second is for momentum table(independent variable is p) 0 = none 1 = non-event dependent; -1 = event dependent; tgh represents the current table, either -1 or 1. 0 is out of question. pgm_par2_r(i,tghc)