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

@@ -115,6 +115,8 @@ ClassImpQ(PMusrCanvas)
*/
PMusrCanvas::PMusrCanvas()
{
fTimeout = 0;
fScaleN0AndBkg = true;
fValid = false;
fDifferenceView = false;
@@ -179,6 +181,8 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
const Bool_t batch) :
fBatchMode(batch), fPlotNumber(number)
{
fTimeout = 0;
fMultiGraphData = 0;
fMultiGraphDiff = 0;
@@ -229,6 +233,8 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
fPlotNumber(number), fFourier(fourierDefault),
fMarkerList(markerList), fColorList(colorList)
{
fTimeout = 0;
fMultiGraphData = 0;
fMultiGraphDiff = 0;
@@ -260,6 +266,10 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
PMusrCanvas::~PMusrCanvas()
{
// cleanup
if (fTimeoutTimer) {
delete fTimeoutTimer;
fTimeoutTimer = 0;
}
if (fCurrentFourierPhaseText) {
delete fCurrentFourierPhaseText;
fCurrentFourierPhaseText = 0;
@@ -412,6 +422,32 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
}
}
//--------------------------------------------------------------------------
// SetTimeout (public)
//--------------------------------------------------------------------------
/**
* <p>
*
* \param timeout after which the done signal shall be emitted. Given in seconds
*/
void PMusrCanvas::SetTimeout(Int_t timeout)
{
fTimeout = timeout;
if (fTimeout <= 0)
return;
if (fTimeoutTimer) {
delete fTimeoutTimer;
fTimeoutTimer = 0;
}
fTimeoutTimer = new TTimer();
fTimeoutTimer->Connect("Timeout()", "PMusrCanvas", this, "Done()");
fTimeoutTimer->Start(1000*fTimeout, kTRUE);
}
//--------------------------------------------------------------------------
// UpdateParamTheoryPad (public)
//--------------------------------------------------------------------------

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
//--------------------------------------------------------------------------