SetiContainer Class Reference
The SetiContainer class is a C++ class that allows convenient access to all the information in the state files of a SETI@home client. More...
#include <seticontainer.h>
Inherits QObject.
Inherited by SetiLoc.
Inheritance diagram for SetiContainer:
Detailed Description
The SetiContainer class is a C++ class that allows convenient access to all the information in the state files of a SETI@home client.It periodically examines these files and updates its own data members accordingly. Other programs can use this class to extract information about the progress of the client, the found signals, or the work unit being processed. Additional functions offer more advanced info (like the amount of TeraFlops in a work unit, estimated time of completion, etc). The SetiContainer class is based on the Qt toolkit, and extensively uses Qt's Signal/Slot technique.
Using the SetiContainer is very simple. Here is a short code snippet:
Seticontainer* sec = new SetiContainer("/home/crunchking/setiathome/");
double progress = sec->progress();
QString wuname = sec->wuName();
cout << wuname << ": " << progress << " %";
This snippet creates a SetiContainer class which monitors the SETI@home client in the given directory. The name of the work unit and the client's progress are read and printed to stdout. By default, the SetiContainer class refreshes its data every 30 seconds. To change the refresh interval to 60 seconds, just do
sec->setRefreshInterval(60);
SetiContainer offers more advanced functions: it calculates the amount of floating point operations (Flops) required to process the WU in dependence on the angle range, calculates the estimated time to complete the work unit, or converts the given time values from seconds into a nicely formatted string.
Another way of using this class is to inherit from it, and to extend it with all the features you would like to have. Have a look at the Ksetiwatch source code (http://ksetiwatch.sourceforge.net) to see how it is done.
All information from the client's output files is organized in a logical manner using dedicated structures. For example, there are the WorkUnitData structure, the UserInfoData structure, or the WUScore structure (which itself consists of four other structures: SpikeScore, GaussianScore, PulseScore, and TripletScore). By proper naming of these structures in your code, the resulting code is very readable. Here is an example; consider we have two WUScore structures, one holds the record signals, the other contains some newly found signals:
WUScore record; WUScore new; ... ... ... if(new.pulse.score > record.pulse.score) { record.pulse = new.pulse; } ...
This piece of code checks if the score value of the new pulse is larger than that of the record pulse, and -if this is true- copies the entire pulse data to the record WUScore.
SetiContainer makes extensive use of Qt's signal/slot mechanism. For example, the progressIncreased() signal is emitted whenever the client has updated its state file with new data, or the newPulse() signal is emitted when a new high pulse signal was found. Connecting to a signal looks like this:
connect(this, SIGNAL(progressIncreased()), mywidget, SLOT(slotUpdateTimeData()));
Using this approach, the GUI elements are only updated when required, resulting in very efficient code.
In addition, the SetiContainer class provides a sophisticated way to check the state of the SETI@home client. It can distinguish between four different states: Running, Stopped, Finished, and Loading. Whenever the state changes, the stateChanged() signal is emitted.
- Author:
- Gordon Machel <gmachel@users.sourceforge.net>
Definition at line 117 of file seticontainer.h.
Member Enumeration Documentation
|
|
Status definition values.
Definition at line 428 of file seticontainer.h. |
|
|
The identifiers for the different output files of the SETI@home client.
Definition at line 432 of file seticontainer.h. |
Constructor & Destructor Documentation
|
||||||||||||
|
Constructs a Seti container class.
Definition at line 39 of file seticontainer.cpp. References setDirectory(), and QObject::startTimer(). |
|
|
The destructor.
Definition at line 56 of file seticontainer.cpp. |
Member Function Documentation
|
|
Sets the refresh interval to refresh seconds.
Definition at line 112 of file seticontainer.cpp. References QObject::killTimer(), and QObject::startTimer(). Referenced by Ksetiwatch::readConfig(), and Options::slotSetRefreshInterval(). |
|
|
Returns the SETI@home directory.
Definition at line 138 of file seticontainer.h. Referenced by checkClientState(), CompletedWUList::checkForRedirect(), getClientPid(), SetiLoc::logDirectory(), LoggedSigs::slotSave(), SetiGraph::slotSaveGraph(), SetiLoc::startClient(), and updateSahData(). |
|
|
Sets the location's directory.
Definition at line 61 of file seticontainer.cpp. References initAllData(), StateFileData::prog, and readClientVersion(). Referenced by SetiContainer(), and SetiLoc::setOptions(). |
|
|
Returns the current refresh interval time in seconds.
Definition at line 142 of file seticontainer.h. |
|
|
Returns the number of the currently processed Fast Fourier Transformation.
Definition at line 146 of file seticontainer.h. References StateFileData::ncfft. |
|
|
Returns the length (in data points) of the currently processed Fast Fourier Transformation.
Definition at line 150 of file seticontainer.h. References StateFileData::fl. |
|
|
Returns the current chirp rate (or drift rate) in Hz/s.
Definition at line 152 of file seticontainer.h. References StateFileData::cr. Referenced by Analysis::updateListItemTimeData(). |
|
|
Returns the cpu time (in seconds) spent on the current work unit.
Definition at line 154 of file seticontainer.h. References StateFileData::cpu. Referenced by progressRate(), timerEvent(), and Analysis::updateListItemTimeData(). |
|
|
Returns the size of the file If this value has increased the client has found a new interesting signal. Definition at line 159 of file seticontainer.h. References StateFileData::outfilepos. |
|
|
This is a parameter used internally by the SETI@home client.
Definition at line 161 of file seticontainer.h. References StateFileData::potfreq. |
|
|
This is a parameter used internally by the SETI@home client.
Definition at line 163 of file seticontainer.h. References StateFileData::potactivity. |
|
|
Returns the progress of the client in per cent.
Definition at line 165 of file seticontainer.h. References StateFileData::prog. Referenced by DockWidget::paintIcon(), progressRate(), remainingTime(), Analysis::updateListItemTimeData(), and DockWidget::updateState(). |
|
|
Returns the client's progress rate (in % per hour) based on the actual percentage done and the corresponding cpu time.
Definition at line 1091 of file seticontainer.cpp. References cpuTime(), and progress(). Referenced by megaFlopsPerSecond(), remainingTime(), and Analysis::updateListItemTimeData(). |
|
|
Returns the estimated time (in seconds) needed to finish the work unit.
Definition at line 1098 of file seticontainer.cpp. References progress(), and progressRate(). Referenced by remainingTimeAsString(), timerEvent(), and Analysis::updateListItemTimeData(). |
|
|
Returns the estimated time needed to finish the work unit in form of a formatted string.
Definition at line 1106 of file seticontainer.cpp. References convertTime(), and remainingTime(). Referenced by DockWidget::updateState(). |
|
|
Returns a WUScore structure containing the highest signals found in the current work unit so far. See WUScore for details about the members of the WUScore structure. Definition at line 182 of file seticontainer.h. References StateFileData::max. Referenced by Analysis::checkPopupStatus(), Analysis::updateListItemGaussianData(), Analysis::updateListItemPulseData(), Analysis::updateListItemSpikeData(), and Analysis::updateListItemTripletData(). |
|
|
Returns a SpikeScore structure containing the highest spike found in the current work unit so far. See SpikeScore for details about the members of the SpikeScore structure. Definition at line 187 of file seticontainer.h. References StateFileData::max, and WUScore::spike. |
|
|
Returns a GaussianScore structure containing the highest gaussian found in the current work unit so far. See GaussianScore for details about the members of the GaussianScore structure. Definition at line 192 of file seticontainer.h. References WUScore::gaussian, and StateFileData::max. Referenced by GaussianPlot::init(). |
|
|
Returns a PulseScore structure containing the highest pulse found in the current work unit so far. See PulseScore for details about the members of the PulseScore structure. Definition at line 197 of file seticontainer.h. References StateFileData::max, and WUScore::pulse. Referenced by PulsePlot::init(). |
|
|
Returns a TripletScore structure containing the highest triplet found in the current work unit so far. See TripletScore for details about the members of the TripletScore structure. Definition at line 202 of file seticontainer.h. References StateFileData::max, and WUScore::triplet. Referenced by TripletPlot::init(). |
|
|
Returns the user's id number.
Definition at line 204 of file seticontainer.h. References UserInfoData::id. |
|
|
Returns the user's id key.
Definition at line 206 of file seticontainer.h. References UserInfoData::key. Referenced by SetiLoc::logResults(). |
|
|
Returns the user's email address.
Definition at line 208 of file seticontainer.h. References UserInfoData::email_addr. |
|
|
Returns the user's name.
Definition at line 210 of file seticontainer.h. References UserInfoData::name. Referenced by UserInfo::refreshListItem(). |
|
|
Returns the user's homepage address.
Definition at line 212 of file seticontainer.h. References UserInfoData::url. |
|
|
Returns the user's country.
Definition at line 214 of file seticontainer.h. References UserInfoData::country. |
|
|
Returns the user's postal code.
Definition at line 216 of file seticontainer.h. References UserInfoData::postal_code. |
|
|
If true the user's name is allowed to be shown on the SETI@home web pages.
Definition at line 220 of file seticontainer.h. References UserInfoData::show_name. |
|
|
If true the user's email address is allowed to be shown on the SETI@home web pages.
Definition at line 224 of file seticontainer.h. References UserInfoData::show_email. |
|
|
Returns the venue parameter (whatever it is good for).
Definition at line 226 of file seticontainer.h. References UserInfoData::venue. |
|
|
Returns the time the user registered with SETI@home in form of a plain string (as stored in user_info.sah).
Definition at line 230 of file seticontainer.h. References UserInfoData::register_time. Referenced by registerTimeString(). |
|
|
Returns the date and time the user registered with SETI@home in a nicely formatted string. An empty string is returned when the information could not be found. Definition at line 1206 of file seticontainer.cpp. References QString::find(), QString::mid(), and registerTime(). Referenced by UserInfo::refreshListItem(). |
|
|
Returns the time the last work unit was sent to the user in form of a plain string (as stored in user_info.sah). Note: this information is not updated any more. Definition at line 240 of file seticontainer.h. References UserInfoData::last_wu_time. |
|
|
Returns the time the user has sent his/her last work unit result to the SETI@home server in form of a plain string (as stored in user_info.sah).
Definition at line 245 of file seticontainer.h. References UserInfoData::last_result_time. Referenced by lastResultTimeString(). |
|
|
Returns the date and time the last result was sent in a nicely formatted string. An empty string is returned when the information could not be found. Definition at line 1191 of file seticontainer.cpp. References QString::find(), lastResultTime(), and QString::mid(). Referenced by UserInfo::refreshListItem(). |
|
|
Returns the number of work units sent to the user. Note: this information is not updated any more. Definition at line 254 of file seticontainer.h. References UserInfoData::nwus. |
|
|
Returns the number of results the user has sent back to the SETI@home server.
Definition at line 258 of file seticontainer.h. References UserInfoData::nresults. Referenced by averageCPUTime(), and UserInfo::refreshListItem(). |
|
|
Returns the total cpu time (in seconds) the user has processed so far.
Definition at line 261 of file seticontainer.h. References UserInfoData::total_cpu. Referenced by averageCPUTime(), and UserInfo::refreshListItem(). |
|
|
Returns the average CPU time (in seconds) required to process one work unit.
Definition at line 1184 of file seticontainer.cpp. References numberOfResults(), and totalCPUTime(). Referenced by UserInfo::refreshListItem(). |
|
|
Returns a parameter index value. No idea what this is good for. Definition at line 267 of file seticontainer.h. References UserInfoData::params_index. |
|
|
Returns the task identifier string. We are all in the "seti" business, aren't we? Definition at line 271 of file seticontainer.h. References WorkUnitData::task. |
|
|
Returns an internal version number. This is not the version number of the SETI@home client. Definition at line 275 of file seticontainer.h. References WorkUnitData::version. |
|
|
Returns the name of the work unit.
Definition at line 277 of file seticontainer.h. References WorkUnitData::name. Referenced by scanGaussianData(), scanPulseData(), scanSpikeData(), scanTripletData(), SetiGraph::SetiGraph(), and TelescopePath::setLocation(). |
|
|
Returns the data type of the attached work unit data.
Definition at line 279 of file seticontainer.h. References WorkUnitData::data_type. |
|
|
Returns the data class of the attached work unit data.
Definition at line 281 of file seticontainer.h. References WorkUnitData::data_class. |
|
|
Returns the version number of the splitter (software?).
Definition at line 283 of file seticontainer.h. References WorkUnitData::splitter_version. |
|
|
Returns the right ascension (RA) value where the telescope has started to scan the sky for this work unit.
Definition at line 287 of file seticontainer.h. References WorkUnitData::start_ra. Referenced by SkyMap::addLocation(), and DataInfo::refreshListItem(). |
|
|
Returns the declination value where the telescope has started to scan the sky for the current work unit.
Definition at line 291 of file seticontainer.h. References WorkUnitData::start_dec. Referenced by SkyMap::addLocation(), and DataInfo::refreshListItem(). |
|
|
Returns the right ascension (RA) value where the telescope has stopped to scan the sky for the current work unit.
Definition at line 295 of file seticontainer.h. References WorkUnitData::end_ra. |
|
|
Returns the declination value where the telescope has stopped to scan the sky for the current work unit.
Definition at line 299 of file seticontainer.h. References WorkUnitData::end_dec. |
|
|
Returns the angle range which the telescope has scanned for the current work unit.
Definition at line 303 of file seticontainer.h. References WorkUnitData::angle_range. Referenced by megaFlopsPerSecond(), DataInfo::refreshListItem(), and TelescopePath::setLocation(). |
|
||||||||||||
|
Calculates the amount of floating point operations that need to be processed to finish a work unit depending on the angle range. This function is based on the work of Lawrence Kirby and Roelof Engelbrecht.
Definition at line 1254 of file seticontainer.cpp. References clientVersion(). Referenced by CompletedWUList::fillWUList(), megaFlopsPerSecond(), and DataInfo::refreshListItem(). |
|
|
Returns the progress rate in MegaFlops/s.
Definition at line 1296 of file seticontainer.cpp. References angleRange(), progressRate(), and teraFlops(). Referenced by Analysis::updateListItemTimeData(). |
|
|
Returns the time the work unit was recorded (as stored in in the work_unit.sah file).
Definition at line 321 of file seticontainer.h. References WorkUnitData::time_recorded. Referenced by SkyMap::addLocation(), and timeRecordedString(). |
|
|
Returns the date and the time the work unit was recorded in a nicely formatted string. An empty string is returned when the information could not be found. Definition at line 1169 of file seticontainer.cpp. References QString::find(), QString::mid(), timeRecorded(), and QObject::tr(). Referenced by SkyMap::addLocation(), and DataInfo::refreshListItem(). |
|
|
Returns the subband center frequency in GHz.
Definition at line 328 of file seticontainer.h. References WorkUnitData::subband_center. |
|
|
Returns the subband base frequency in GHz.
Definition at line 330 of file seticontainer.h. References WorkUnitData::subband_base. Referenced by DataInfo::refreshListItem(). |
|
|
Returns the sample rate in Hz.
Definition at line 332 of file seticontainer.h. References WorkUnitData::subband_sample_rate. |
|
|
This parameter is used internally by the SETI@home client.
Definition at line 334 of file seticontainer.h. References WorkUnitData::fft_len. |
|
|
This parameter is used internally by the SETI@home client.
Definition at line 336 of file seticontainer.h. References WorkUnitData::ifft_len. |
|
|
Returns the subband number.
Definition at line 338 of file seticontainer.h. References WorkUnitData::subband_number. |
|
|
Returns the identifier string of the facility that recorded the work unit. "ao1420" defines the Arecibo Radio Telescope. Definition at line 342 of file seticontainer.h. References WorkUnitData::receiver. Referenced by DataInfo::refreshListItem(). |
|
|
Returns the number of samples in the work unit.
Definition at line 344 of file seticontainer.h. References WorkUnitData::nsamples. |
|
|
Returns the version number of the tape storing the work unit.
Definition at line 346 of file seticontainer.h. References WorkUnitData::tape_version. |
|
|
Returns the number of sky coordinates that define the path of the telescope over the sky during acquisition of the work unit data.
Definition at line 350 of file seticontainer.h. References WorkUnitData::num_positions. |
|
|
Returns a string list with all the sky coordinates that define the path of the telescope over the sky during acquisition of the work unit data.
Definition at line 355 of file seticontainer.h. References WorkUnitData::coordinates. Referenced by TelescopePath::setLocation(). |
|
|
Returns the version number of the SETI@home client. It is returned as an integer formed of both the major and the minor version number. Example: for client version 3.03, a 303 is returned. Definition at line 361 of file seticontainer.h. Referenced by Analysis::checkPopupStatus(), SetiLoc::logWorkUnit(), and teraFlops(). |
|
|
Checks if the file represented by sah exists.
Definition at line 1221 of file seticontainer.cpp. References QFile::exists(). Referenced by checkClientState(), SetiLoc::logWorkUnit(), readStateFile(), readUserInfoFile(), readWorkUnitFile(), UserInfo::refreshListItem(), DataInfo::refreshListItem(), Analysis::updateListItemGaussianData(), Analysis::updateListItemPulseData(), Analysis::updateListItemSpikeData(), Analysis::updateListItemTimeData(), Analysis::updateListItemTripletData(), and Analysis::updateMaxScore(). |
|
|
Checks if the SETI@home client is running by trying to signal the process pid.
Definition at line 1484 of file seticontainer.cpp. References QFile::close(), QString::find(), getClientPid(), and QFile::open(). Referenced by checkClientState(), Analysis::checkPopupStatus(), DockWidget::preparePopupMenu(), Analysis::slotStartAll(), Analysis::slotStopAll(), SetiLoc::startClient(), and Ksetiwatch::stopClients(). |
|
|
Returns the state of the location.
Definition at line 382 of file seticontainer.h. Referenced by Analysis::checkPopupStatus(), AnalysisListViewItem::key(), DockWidget::paintIcon(), DockWidget::preparePopupMenu(), Analysis::refreshListItem(), Analysis::slotAdjustAllStatusIcons(), DockWidget::slotBlinkIcon(), Analysis::slotUpdateList(), Analysis::updateAnalysisList(), Analysis::updateListItemTimeData(), DockWidget::updateProgress(), and DockWidget::updateState(). |
|
|
Sets the state of the location. Setting it to -1, triggers a refresh during the next update cycle. Definition at line 385 of file seticontainer.h. |
|
||||||||||||
|
This function allows low-level access to the entries in the S@h output files. It reads the entry e from the file sah. Use this function only if you know what you are doing!
Definition at line 321 of file seticontainer.cpp. Referenced by SetiLoc::loggedGaussianSignal(), SetiLoc::loggedPulseSignal(), SetiLoc::loggedSpikeSignal(), SetiLoc::loggedTripletProfile(), SetiLoc::loggedTripletSignal(), SetiLoc::logResults(), SetiLoc::logWorkUnit(), readClientVersion(), scanGaussianData(), scanGaussianGraphData(), scanPulseData(), scanPulseGraphData(), scanSpikeData(), scanStateFile(), scanTripletData(), scanTripletGraphData(), scanUserInfoData(), and scanWorkUnitData(). |
|
|
||||||||||||
|
Converts the time (in seconds) to a string.
Definition at line 1113 of file seticontainer.cpp. References QString::sprintf(). Referenced by CompletedWUList::fillTotalColumns(), CompletedWUList::fillWUList(), UserInfo::refreshListItem(), remainingTimeAsString(), and Analysis::updateListItemTimeData(). |
|
|
Converts the right ascension (RA) value to a readable string of the form hours:minutes:seconds.
Definition at line 1141 of file seticontainer.cpp. References QString::sprintf(). Referenced by CompletedWUList::fillWUList(), DataInfo::refreshListItem(), LoggedSigs::setGaussianText(), TelescopePath::setLocation(), LoggedSigs::setPulseText(), and LoggedSigs::setTripletText(). |
|
|
Converts the declination value to a readable string of the form degrees:minutes:seconds.
Definition at line 1155 of file seticontainer.cpp. References QString::sprintf(). Referenced by CompletedWUList::fillWUList(), DataInfo::refreshListItem(), LoggedSigs::setGaussianText(), TelescopePath::setLocation(), LoggedSigs::setPulseText(), and LoggedSigs::setTripletText(). |
|
|
Updates the data from all SETI@home files.
Definition at line 151 of file seticontainer.cpp. References directory(), QFile::exists(), readClientVersion(), readStateFile(), readUserInfoFile(), readWorkUnitFile(), and stateChanged(). Referenced by checkClientState(), initAllData(), and timerEvent(). |
|
|
Reads the state file and puts it into a string list.
Definition at line 246 of file seticontainer.cpp. References exists(), QFileInfo::lastModified(), readSahFile(), scanStateFile(), and QDateTime::toString(). Referenced by updateSahData(). |
|
|
Reads the work unit file and puts it into a string list.
Definition at line 271 of file seticontainer.cpp. References exists(), QFileInfo::lastModified(), readSahFile(), scanWorkUnitData(), and QDateTime::toString(). Referenced by updateSahData(). |
|
|
Reads the user info file and puts it into a string list.
Definition at line 296 of file seticontainer.cpp. References exists(), QFileInfo::lastModified(), readSahFile(), scanUserInfoData(), and QDateTime::toString(). Referenced by updateSahData(). |
|
||||||||||||||||
|
Reads a SETI@home sah file into a string list.
Definition at line 218 of file seticontainer.cpp. References QTextStream::atEnd(), QFile::close(), QString::isEmpty(), QFile::open(), and QTextStream::readLine(). Referenced by readStateFile(), readUserInfoFile(), and readWorkUnitFile(). |
|
||||||||||||
|
Reads an entry given by e from file fn. Reads it directly from disk.
Definition at line 349 of file seticontainer.cpp. References QFile::close(), QString::find(), QString::isEmpty(), QString::left(), QString::length(), QFile::open(), QTextStream::readLine(), and QString::right(). |
|
||||||||||||
|
Reads an entry given by e from the string list list.
Definition at line 382 of file seticontainer.cpp. References QString::find(), QString::length(), and QString::right(). |
|
|
Initializes all state file data members.
Definition at line 485 of file seticontainer.cpp. References StateFileData::cpu, StateFileData::cr, StateFileData::fl, initWUScore(), StateFileData::max, StateFileData::ncfft, StateFileData::outfilepos, StateFileData::potactivity, StateFileData::potfreq, and StateFileData::prog. Referenced by initAllData(). |
|
|
Initializes all work unit data members.
Definition at line 499 of file seticontainer.cpp. References WorkUnitData::angle_range, WorkUnitData::coordinates, WorkUnitData::data_class, WorkUnitData::data_type, WorkUnitData::end_dec, WorkUnitData::end_ra, WorkUnitData::fft_len, WorkUnitData::ifft_len, WorkUnitData::name, WorkUnitData::nsamples, WorkUnitData::num_positions, WorkUnitData::receiver, WorkUnitData::splitter_version, WorkUnitData::start_dec, WorkUnitData::start_ra, WorkUnitData::subband_base, WorkUnitData::subband_center, WorkUnitData::subband_number, WorkUnitData::subband_sample_rate, WorkUnitData::tape_version, WorkUnitData::task, WorkUnitData::time_recorded, and WorkUnitData::version. Referenced by initAllData(). |
|
|
Initializes all user info data members.
Definition at line 527 of file seticontainer.cpp. References UserInfoData::country, UserInfoData::email_addr, UserInfoData::id, UserInfoData::key, UserInfoData::last_result_time, UserInfoData::last_wu_time, UserInfoData::name, UserInfoData::nresults, UserInfoData::nwus, UserInfoData::params_index, UserInfoData::postal_code, UserInfoData::register_time, UserInfoData::show_email, UserInfoData::show_name, UserInfoData::total_cpu, UserInfoData::url, and UserInfoData::venue. Referenced by initAllData(). |
|
|
Scans the state file and puts the data in the StateFileData structure.
Definition at line 549 of file seticontainer.cpp. References StateFileData::cpu, StateFileData::cr, StateFileData::fl, StateFileData::ncfft, StateFileData::outfilepos, StateFileData::potactivity, StateFileData::potfreq, StateFileData::prog, progressDecreased(), progressIncreased(), readEntry(), scanGaussianData(), scanPulseData(), scanSpikeData(), scanTripletData(), stateChanged(), QString::toDouble(), and QString::toInt(). Referenced by readStateFile(). |
|
|
Scans the state file for spike data.
Definition at line 600 of file seticontainer.cpp. References SpikeScore::bin, SpikeScore::chirprate, SpikeScore::fft_index, SpikeScore::fft_len, StateFileData::max, newSpike(), SpikeScore::power, readEntry(), SpikeScore::score, WUScore::spike, QString::toDouble(), QString::toInt(), SpikeScore::wu_name, and wuName(). Referenced by scanStateFile(). |
|
|
Scans the state file for basic Gaussian data.
Definition at line 639 of file seticontainer.cpp. References GaussianScore::bin, GaussianScore::chirprate, GaussianScore::chisq, GaussianScore::fft_index, GaussianScore::fft_len, WUScore::gaussian, StateFileData::max, newGaussian(), GaussianScore::power, readEntry(), scanGaussianGraphData(), GaussianScore::score, GaussianScore::sigma, QString::toDouble(), QString::toInt(), GaussianScore::true_mean, GaussianScore::wu_name, and wuName(). Referenced by scanStateFile(). |
|
|
Scans the state file for basic pulse data.
Definition at line 706 of file seticontainer.cpp. References PulseScore::chirprate, PulseScore::freq_bin, StateFileData::max, PulseScore::mean, newPulse(), PulseScore::period, PulseScore::power, WUScore::pulse, readEntry(), scanPulseGraphData(), PulseScore::score, PulseScore::time_bin, QString::toDouble(), QString::toInt(), PulseScore::wu_name, and wuName(). Referenced by scanStateFile(). |
|
|
Scans the state file for basic triplet data.
Definition at line 774 of file seticontainer.cpp. References TripletScore::bperiod, TripletScore::chirprate, TripletScore::fft_len, TripletScore::freq_bin, StateFileData::max, TripletScore::mean, newTriplet(), TripletScore::period, TripletScore::power, readEntry(), TripletScore::scale, scanTripletGraphData(), TripletScore::score, TripletScore::time_bin, QString::toDouble(), QString::toInt(), TripletScore::tpotind0_0, TripletScore::tpotind0_1, TripletScore::tpotind1_0, TripletScore::tpotind1_1, TripletScore::tpotind2_0, TripletScore::tpotind2_1, WUScore::triplet, TripletScore::wu_name, and wuName(). Referenced by scanStateFile(). |
|
|
Scans the state file for Gaussian graph data ('bg_pot xx').
Definition at line 693 of file seticontainer.cpp. References GaussianScore::data, GaussianScore::data_len, WUScore::gaussian, StateFileData::max, readEntry(), and QString::toDouble(). Referenced by scanGaussianData(). |
|
|
Scans the state file for pulse graph data ('bp_pot').
Definition at line 757 of file seticontainer.cpp. References PulseScore::data, PulseScore::data_len, StateFileData::max, WUScore::pulse, readDataString(), and readEntry(). Referenced by scanPulseData(). |
|
|
Scans the state file for triplet graph data ('bt_pot').
Definition at line 847 of file seticontainer.cpp. References TripletScore::data, TripletScore::data_len, StateFileData::max, readDataString(), readEntry(), and WUScore::triplet. Referenced by scanTripletData(). |
|
|
Scans the user info file and puts the data in the UserInfoData structure.
Definition at line 891 of file seticontainer.cpp. References UserInfoData::country, UserInfoData::email_addr, UserInfoData::id, UserInfoData::key, UserInfoData::last_result_time, UserInfoData::last_wu_time, UserInfoData::name, UserInfoData::nresults, UserInfoData::nwus, UserInfoData::params_index, UserInfoData::postal_code, readEntry(), UserInfoData::register_time, UserInfoData::show_email, UserInfoData::show_name, QString::toDouble(), QString::toInt(), UserInfoData::total_cpu, updatedUserInfoData(), UserInfoData::url, and UserInfoData::venue. Referenced by readUserInfoFile(). |
|
|
Scans the state file and puts the data in the stateFileData structure.
Definition at line 967 of file seticontainer.cpp. References WorkUnitData::angle_range, WorkUnitData::coordinates, WorkUnitData::data_class, WorkUnitData::data_type, WorkUnitData::end_dec, WorkUnitData::end_ra, WorkUnitData::fft_len, WorkUnitData::ifft_len, QString::isEmpty(), WorkUnitData::name, WorkUnitData::nsamples, WorkUnitData::num_positions, readEntry(), WorkUnitData::receiver, WorkUnitData::splitter_version, WorkUnitData::start_dec, WorkUnitData::start_ra, WorkUnitData::subband_base, WorkUnitData::subband_center, WorkUnitData::subband_number, WorkUnitData::subband_sample_rate, WorkUnitData::tape_version, WorkUnitData::task, WorkUnitData::time_recorded, QString::toDouble(), QString::toInt(), updatedWorkUnitData(), and WorkUnitData::version. Referenced by readWorkUnitFile(). |
|
|
Returns the version number of the SETI@home client. It is returned as an integer formed of both the major and the minor version number. Example: for client version 3.03, a 303 is returned. Definition at line 1070 of file seticontainer.cpp. References QFile::exists(), readEntry(), and QString::toInt(). Referenced by setDirectory(), and updateSahData(). |
|
|
Fills all data members (all structs) with zeros and reads the client's data from disk.
Definition at line 94 of file seticontainer.cpp. References initStateFileData(), initUserInfoData(), initWorkUnitData(), and updateSahData(). Referenced by checkClientState(), and setDirectory(). |
|
|
The event handler for timer events. This method is called when the internal refresh timer triggers the event to synchronize the internal data structures with the SETI@home files. Reimplemented from QObject. Definition at line 122 of file seticontainer.cpp. References checkClientState(), checkClientStatePassive(), cpuTime(), QObject::killTimer(), remainingTime(), QObject::startTimer(), QTimerEvent::timerId(), and updateSahData(). |
|
|
Checks the status of the client.
Definition at line 1302 of file seticontainer.cpp. References directory(), exists(), initAllData(), isClientRunning(), newWorkUnit(), StateFileData::prog, QFileInfo::size(), stateChanged(), and updateSahData(). Referenced by timerEvent(). |
|
|
Retrieves the pid of the S@h client.
Definition at line 1455 of file seticontainer.cpp. References QFile::close(), directory(), QFile::exists(), QFileInfo::lastModified(), QFile::open(), and QDateTime::toString(). Referenced by isClientRunning(), and SetiLoc::startClient(). |
|
|
This function is called every two minutes by a timer event. It checks if the client has made any progress within the two minutes, and switches the state to Stopped if nothing has happened. This is needed for passive monitoring of remote clients on other computers, where no valid process id could be obtained.
Definition at line 1522 of file seticontainer.cpp. References StateFileData::prog, and stateChanged(). Referenced by timerEvent(). |
|
||||||||||||||||
|
Reads
Definition at line 865 of file seticontainer.cpp. References QTextStream::atEnd(), and QString::isEmpty(). Referenced by SetiLoc::loggedGaussianSignal(), SetiLoc::loggedPulseSignal(), SetiLoc::loggedTripletSignal(), scanPulseGraphData(), and scanTripletGraphData(). |
|
|
No descriptions.
|
|
|
This signal is emitted when the client has updated the state file with new data.
Referenced by scanStateFile(). |
|
|
This signal is emitted when the progress value has been found to be decreased. This is a rather unusual event, and should only happen when the client has started to reprocess the current work unit from the beginning (probably after updating the S@h client). Referenced by scanStateFile(). |
|
|
This signal is emitted when a new high spike has been found in the work unit.
Referenced by scanSpikeData(). |
|
|
This signal is emitted when a new high gaussian has been found in the work unit.
Referenced by scanGaussianData(). |
|
|
This signal is emitted when a new high pulse has been found in the work unit.
Referenced by scanPulseData(). |
|
|
This signal is emitted when a new high triplet has been found in the work unit.
Referenced by scanTripletData(). |
|
|
This signal is emitted when a new work unit has been loaded.
Referenced by checkClientState(). |
|
|
This signal is emitted when the work unit data have changed during runtime for some reason, e.g. after mounting a network share. Referenced by scanWorkUnitData(). |
|
|
This signal is emitted when the user info data have changed during runtime for some reason, e.g. after mounting a network share. Referenced by scanUserInfoData(). |
|
||||||||||||
|
This signal is emitted when the state of the client has changed.
Referenced by checkClientState(), checkClientStatePassive(), scanStateFile(), and updateSahData(). |
The documentation for this class was generated from the following files:

