- A chip variable is modified according to a list of values.
- For each value a series of triggers is sent to the modules
- The hits on each channel are accumulated in the ROD
Defined by (C++) and (IDL) .
New scans
> Bruce turned scans from Corba objects with implementations > into structs. This is a valuable change that has long been needed. > I imagine that he will have found and fixed all compiled code. > However it is quite possible (even likely) that scripts will contain > code that has not been updated. Yes, unfortunately it makes things a bit more complicated. Because it used to be a server, you could ask it to change itself while the calibration controller kept a reference to the changed version. Now you have to tell it that the struct changed. You can change the struct directly, but I've also introduced a "ScanBuilder" which can change the struct in ways that you might expect from the previous api. Finally, the change that you noticed is that I removed the options enum from CORBA in favour of specifying the option with a string. This makes things a bit more flexible, it should give an appropriate error if the wrong options are set. It should also help make the raw and cooked scan requests more similar. >> I have tried running the script onlineRODOccupancyGUI again and it >> complains. Before I could do >> >> scanRequest = SI.getCalibrationController().getScanLibrary().defaultScan(); >> scan = scanRequest.getScanCorba(); >> scan.setOption(Sct_SctApi.ScanOptions.tim,1); This line gets replaced by something like: builder = api.getScanBuilder(); holder = new Sct_SctApi.ScanHolder(scan); builder.setOption(holder, "tim", 1); scan = holder.value; And then you have to tell the calibration controller that it's changed. scanRequest.setScanCorba(scan);