#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(). |