Overview | Releases | Download | Docs | Links | Help | RecentChanges

AnalysisService

It is the job of the <AnalysisService> to work out how a module has responded to a Test, in particular:

The AnalysisService has various callbacks. They are involved in maintaining a list of the tests currently in IS. For each test, there exists one instance of an <AnalysisAlgorithm> for each module. When new <ScanResult> objects arrive, either <FitScanResult> or <RawScanResult>, they are added to (creating if necessary) the appropriate <AnalysisAlgorithm>. This algorithm then proceeds as and how it sees fit, often waiting until it has all the <ScanResult>s it needs before trying to do the analysis itself.

It makes use of the SctService implimentation of the listener-thread, worker-thread, so that the computationally heavy part is separate from the communication.

The end result is a <TestResult>, which is published back into IS.


Question for experts - should the larger analyses e.g. trim range start doing analysis as the first testresults arrive. This may be difficult. e.g. for the trim range one must be sure that one has all scans for a particular range are present before proceeding with the analysis for that range. Currently the IS reading is done immediately, everything else is postponed until the last scan result arrives. -- Alan