added timeout facility for musrfit, musrview, musrt0. Adopted musredit/musrgui accordingly.

This commit is contained in:
2012-04-15 08:39:30 +00:00
parent 3a0715b3ed
commit 7368884482
16 changed files with 333 additions and 134 deletions

View File

@ -247,6 +247,8 @@ ClassImpQ(PMusrT0)
*/
PMusrT0::PMusrT0()
{
fTimeout = 0;
fValid = false;
fStatus = 0; // default is quit locally
@ -286,6 +288,8 @@ PMusrT0::PMusrT0()
*/
PMusrT0::PMusrT0(PMusrT0Data &data) : fMusrT0Data(data)
{
fTimeout = 0;
fValid = true;
fStatus = 0; // default is quit locally
@ -568,6 +572,10 @@ PMusrT0::PMusrT0(PMusrT0Data &data) : fMusrT0Data(data)
*/
PMusrT0::~PMusrT0()
{
if (fTimeoutTimer) {
delete fTimeoutTimer;
fTimeoutTimer = 0;
}
if (fHisto) {
delete fHisto;
fHisto = 0;
@ -702,6 +710,32 @@ void PMusrT0::Quit()
Done(0);
}
//--------------------------------------------------------------------------
// SetTimeout (public)
//--------------------------------------------------------------------------
/**
* <p>
*
* \param timeout after which the done signal shall be emitted. Given in seconds
*/
void PMusrT0::SetTimeout(Int_t timeout)
{
fTimeout = timeout;
if (fTimeout <= 0)
return;
if (fTimeoutTimer) {
delete fTimeoutTimer;
fTimeoutTimer = 0;
}
fTimeoutTimer = new TTimer();
fTimeoutTimer->Connect("Timeout()", "PMusrT0", this, "Quit()");
fTimeoutTimer->Start(1000*fTimeout, kTRUE);
}
//--------------------------------------------------------------------------
// SetMsrHandler
//--------------------------------------------------------------------------