#include <Fitter.h>
Inheritance diagram for SctFitter::Fitter:

Public Member Functions | |
| void | go (unsigned nWorker) throw (IsException) |
| The command to start the workers. | |
| const char * | getStatus () const throw () |
| Get the status information. | |
| virtual char * | ipcFitterStatus (FitterIStatus *status) throw () |
| As for getStatus, but available over IPC. | |
| void | setFitOptions (const string opt) throw (LogicError) |
| set the fit option over IPC. | |
| virtual void | ipcSetFitOptions (FitterIStatus *status, char *opt) throw () |
| as for setFitOptions, but over IPC. | |
| virtual void | ipcSetFitStrategy (FitterIStatus *status, char *strategy) throw () |
| set the fit option over IPC. | |
| virtual char * | ipcGetFitStrategy (FitterIStatus *status) throw () |
| Finds the FitStrategy name. | |
| void | ipcFitAll (FitterIStatus *status) throw () |
| void | ipcFit (FitterIStatus *status, char *name) throw () |
| Fit a named RawScanResult from IS. | |
| virtual char * | ipcGetFitOptions (FitterIStatus *status) throw () |
| Finds the FitStrategy options. | |
| long | getNFitsDone () const throw () |
| returns the number of fits done so far; | |
| long | ipcNFitsDone (FitterIStatus *status) throw () |
| returns the number of fits done so far over ipc; | |
| long | getNFitErrors () const throw () |
| returns the number of fit errors so far; | |
| long | ipcNFitErrors (FitterIStatus *status) throw () |
| returns the number of fit errors so far over ipc; | |
| const char * | lastScan () const throw () |
| Get the name of the last scan which was fitted;. | |
| char * | ipcLastScan (FitterIStatus *status) throw () |
| Get the name of the last scan which was fitted over ipc;. | |
| void | ipcUseAnalyticAlgorithm (FitterIStatus *_status, ilu_Boolean use) |
| Determine whether to use the analytic fit algorithm. | |
| bool | isUsingAnalyticAlgorithm () const |
| Return true if we're using analytic fit algorithms. | |
| ilu_Boolean | ipcIsUsingAnalyticAlgorithm (FitterIStatus *_status) |
| Return true if we're using analytic fit algorithms. | |
| void | setFitStrategy (string name) throw (LogicError) |
| Set the stragegy from a name the the FitStrategy map. | |
| FitStrategy & | getFitStrategy () const throw (LogicError) |
| get the strategy. Throws an error if none is defined. | |
| void | incrementFitErrors () throw () |
| Increments the number of fit errors by 1. | |
| void | incrementFitsDone () throw () |
| Increments the number of fits done by 1. | |
| void | scanDone (double time) throw () |
| Called by the workers to add to the total amount of scan time. | |
| void | addIOTime (double time) throw () |
| Called to add to IO time. | |
| double | getAverageTimePerScan () const throw () |
| Algorithm may be complex! Check actual code. | |
Static Public Member Functions | |
| Fitter & | instance () |
| Gets a reference to the instance of the Fitter. | |
| Fitter & | initialize (const string &fitStrategyName="RootFitStrategy") throw (ConfigurationException) |
| Initialize the Fitter instance. | |
| void | doFits (ISCallbackInfo *isc) throw (IsException, LogicError) |
| The infoReceiver callback function must take a static function as an argument. | |
| IPCServer & | getFitterServer () throw () |
| Get the Fitter IPC server. | |
Data Fields | |
| FitterWorkerGroup * | workergroup |
| Group of workers which do the actual fitting. | |
Private Member Functions | |
| Fitter (const string &fitStrategyName) throw (ConfigurationException) | |
| singleton | |
| ~Fitter () throw () | |
| private destructor | |
| void | setLastScanName (const char *name) |
| update record of last scan attempted. | |
Private Attributes | |
| long | nFitsDone |
| long | nFitErrors |
| long | nScans |
| double | scanTimeTaken |
| double | ioTimeTaken |
| boost::mutex | counterMutex |
| Used to lock access to all the counters. | |
| string | m_scan |
| string | status |
| pointer to char containing the status: cached so that we don't have to make lots of char*'s. | |
| FitStrategy * | fitStrategy |
| Pointer to the fit strategy. | |
| std::auto_ptr< ISInfoReceiver > | infoReceiver |
| An InfoReveiver for RawRODData objects. | |
Static Private Attributes | |
| Fitter * | fitter |
Friends | |
| class | FitterWorkerGroup |
| FitterWorker is allowed to update stuff. | |
This service subscribes to an input IS server, receiving new RawScanResult objects. It then fits a function (dependant on the ScanType) to chips, strips, etc. and outputs a FitScanResult object to the output IS server.
Some status information about the Fitter is available via IPC request.
Definition at line 40 of file Fitter.h.
|
|
singleton
Definition at line 45 of file Fitter.cpp. |
|
|
private destructor
Definition at line 57 of file Fitter.cpp. |
|
|
Called to add to IO time. Assumes that main thread does IO and is running concurrently with workers. Definition at line 252 of file Fitter.cpp. Referenced by doFits(). |
|
|
The infoReceiver callback function must take a static function as an argument.
This function simply calls doFits on the parameter or `rock', which is set to be `this' (Fitter). Definition at line 81 of file Fitter.cpp. References addIOTime(), SctService::WorkerGroup< T >::push(), Sct::File::read(), Sct::timer(), and workergroup. |
|
|
Algorithm may be complex! Check actual code.
Definition at line 258 of file Fitter.cpp. |
|
|
get the strategy. Throws an error if none is defined.
Definition at line 292 of file Fitter.cpp. Referenced by SctFitter::FitAlgorithm::doFit(). |
|
|
Get the Fitter IPC server.
Definition at line 59 of file Fitter.cpp. |
|
|
returns the number of fit errors so far;
Definition at line 268 of file Fitter.cpp. |
|
|
returns the number of fits done so far;
Definition at line 264 of file Fitter.cpp. |
|
|
Get the status information.
Definition at line 217 of file Fitter.cpp. |
|
|
The command to start the workers.
Definition at line 66 of file Fitter.cpp. |
|
|
Increments the number of fit errors by 1.
Definition at line 236 of file Fitter.cpp. Referenced by SctFitter::FitAlgorithm::doFit(). |
|
|
Increments the number of fits done by 1.
Definition at line 241 of file Fitter.cpp. Referenced by SctFitter::FitAlgorithm::doFit(). |
|
|
Initialize the Fitter instance.
Definition at line 36 of file Fitter.cpp. References setFitStrategy(). Referenced by instance(). |
|
|
Gets a reference to the instance of the Fitter. If it hasn't been initialized, it calls initialize() first Definition at line 30 of file Fitter.cpp. References fitter, and initialize(). |
|
||||||||||||
|
Fit a named RawScanResult from IS.
Definition at line 101 of file Fitter.cpp. References Sct::timer(). |
|
|
Definition at line 117 of file Fitter.cpp. References Sct::timer(). |
|
|
As for getStatus, but available over IPC. Makes a new char[] which ipc then deletes.
Definition at line 151 of file Fitter.cpp. |
|
|
Finds the FitStrategy options. Makes a new char[] which ipc then deletes. Definition at line 138 of file Fitter.cpp. |
|
|
Finds the FitStrategy name. Makes a new char[] which ipc then deletes. Definition at line 191 of file Fitter.cpp. |
|
|
Return true if we're using analytic fit algorithms.
Definition at line 186 of file Fitter.cpp. References isUsingAnalyticAlgorithm(). |
|
|
Get the name of the last scan which was fitted over ipc;.
Definition at line 285 of file Fitter.cpp. |
|
|
returns the number of fit errors so far over ipc;
Definition at line 277 of file Fitter.cpp. |
|
|
returns the number of fits done so far over ipc;
Definition at line 272 of file Fitter.cpp. |
|
||||||||||||
|
as for setFitOptions, but over IPC.
Definition at line 164 of file Fitter.cpp. |
|
||||||||||||
|
set the fit option over IPC. (asynchronous).
Definition at line 204 of file Fitter.cpp. |
|
||||||||||||
|
Determine whether to use the analytic fit algorithm. Default is false Definition at line 174 of file Fitter.cpp. |
|
|
Return true if we're using analytic fit algorithms.
Definition at line 182 of file Fitter.cpp. Referenced by ipcIsUsingAnalyticAlgorithm(). |
|
|
Get the name of the last scan which was fitted;.
Definition at line 282 of file Fitter.cpp. |
|
|
Called by the workers to add to the total amount of scan time.
Definition at line 246 of file Fitter.cpp. |
|
|
set the fit option over IPC. (asynchronous). Passes string on to FitStrategy;
Definition at line 160 of file Fitter.cpp. |
|
|
Set the stragegy from a name the the FitStrategy map.
Definition at line 298 of file Fitter.cpp. Referenced by initialize(). |
|
|
update record of last scan attempted.
|
|
|
FitterWorker is allowed to update stuff.
|
|
|
Used to lock access to all the counters.
|
|
|
Pointer to the fit strategy.
|
|
|
Definition at line 28 of file Fitter.cpp. Referenced by instance(). |
|
|
An InfoReveiver for RawRODData objects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pointer to char containing the status: cached so that we don't have to make lots of char*'s.
|
|
|
Group of workers which do the actual fitting.
Definition at line 165 of file Fitter.h. Referenced by doFits(). |
1.3-rc3