Rev 146 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 146 | Rev 173 | ||
|---|---|---|---|
| Line 280... | Line 280... | ||
| 280 | sprintf(layoutdir, "Please restart the program to enable the selected layout (%s) for future use.", cTemp);  | 
            280 | sprintf(layoutdir, "Please restart the program to enable the selected layout (%s) for future use.", cTemp);  | 
          
| 281 | new TGMsgBox(gClient->GetRoot(), fMain, "Setting new layout", layoutdir, kMBIconAsterisk, kMBOk, &ret);  | 
            281 | new TGMsgBox(gClient->GetRoot(), fMain, "Setting new layout", layoutdir, kMBIconAsterisk, kMBOk, &ret);  | 
          
| 282 | delete[] cTemp;  | 
            282 | delete[] cTemp;  | 
          
| 283 |    } | 
            283 |    } | 
          
| 284 | delete[] layoutdir;  | 
            284 | delete[] layoutdir;  | 
          
| - | 285 | } | 
          |
| - | 286 | ||
| - | 287 | // Function for saving all current measurement settings in a file and reopening them on next program open | 
          |
| - | 288 | void TGAppMainFrame::SaveMeasSettings()  | 
          |
| - | 289 | { | 
          |
| - | 290 | char *cTemp;  | 
          |
| - | 291 | cTemp = new char[1024];  | 
          |
| - | 292 | sprintf(cTemp, "%s/settings/measurement_settings.txt", rootdir);  | 
          |
| - | 293 | ||
| - | 294 | std::ofstream osettings;  | 
          |
| - | 295 | ||
| - | 296 | osettings.open(cTemp, std::ofstream::out);  | 
          |
| - | 297 | if(osettings.is_open())  | 
          |
| - | 298 |    { | 
          |
| - | 299 | osettings << "# Settings pane" << std::endl;  | 
          |
| - | 300 | for(int i = 0; i < 4; i++)  | 
          |
| - | 301 | osettings << (int)scansOn->widgetChBox[i]->IsDown() << std::endl;  | 
          |
| - | 302 | osettings << vHardlimit->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 303 | osettings << NCH->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 304 | osettings << posUnits->widgetCB->GetSelected() << std::endl;  | 
          |
| - | 305 | osettings << rotUnits->widgetCB->GetSelected() << std::endl;  | 
          |
| - | 306 | osettings << oscConnect->widgetTE->GetText() << std::endl;  | 
          |
| - | 307 | osettings << laserInfo->widgetTE->GetText() << std::endl;  | 
          |
| - | 308 | osettings << chtemp->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 309 | osettings << (int)liveDisp->widgetChBox[0]->IsDown() << std::endl;  | 
          |
| - | 310 | osettings << std::endl;  | 
          |
| - | 311 | ||
| - | 312 | osettings << "# Main measurement window" << std::endl;  | 
          |
| - | 313 | osettings << vOutCh->widgetCB->GetSelected() << std::endl;  | 
          |
| - | 314 | for(int i = 0; i < 2; i++)  | 
          |
| - | 315 | osettings << (int)vOutOpt->widgetChBox[i]->IsDown() << std::endl;  | 
          |
| - | 316 | osettings << vOutStart->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 317 | osettings << vOutStop->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 318 | osettings << vOutStep->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 319 | ||
| - | 320 | osettings << zPosMin->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 321 | osettings << zPosMax->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 322 | osettings << zPosStep->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 323 | osettings << xPosMin->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 324 | osettings << xPosMax->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 325 | osettings << xPosStep->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 326 | osettings << yPosMin->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 327 | osettings << yPosMax->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 328 | osettings << yPosStep->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 329 | ||
| - | 330 | osettings << rotPosMin->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 331 | osettings << rotPosMax->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 332 | osettings << rotPosStep->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 333 | ||
| - | 334 | osettings << evtNum->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 335 | osettings << fileName->widgetTE->GetText() << std::endl;  | 
          |
| - | 336 | ||
| - | 337 | printf("Saving measurement settings to file.\n");  | 
          |
| - | 338 |    } | 
          |
| - | 339 |    else | 
          |
| - | 340 | printf("Error! Save file can not be opened.\n");  | 
          |
| - | 341 | osettings.close();  | 
          |
| - | 342 | } | 
          |
| - | 343 | ||
| - | 344 | // Function for saving all current analysis settings in a file and reopening them on next program open | 
          |
| - | 345 | void TGAppMainFrame::SaveAnalSettings()  | 
          |
| - | 346 | { | 
          |
| - | 347 | char *cTemp;  | 
          |
| - | 348 | cTemp = new char[1024];  | 
          |
| - | 349 | sprintf(cTemp, "%s/settings/analysis_settings.txt", rootdir);  | 
          |
| - | 350 | ||
| - | 351 | std::ofstream osettings;  | 
          |
| - | 352 | ||
| - | 353 | osettings.open(cTemp, std::ofstream::out);  | 
          |
| - | 354 | if(osettings.is_open())  | 
          |
| - | 355 |    { | 
          |
| - | 356 | osettings << "# Analysis" << std::endl;  | 
          |
| - | 357 |       // Integrate spectrum | 
          |
| - | 358 | for(int i = 0; i < 3; i++)  | 
          |
| - | 359 | osettings << (int)intSpect->widgetChBox[i]->IsDown() << std::endl;  | 
          |
| - | 360 | for(int i = 0; i < 2; i++)  | 
          |
| - | 361 | osettings << resol2d->widgetNE[i]->GetNumber() << std::endl;  | 
          |
| - | 362 | ||
| - | 363 |       // Relative PDE | 
          |
| - | 364 | osettings << (int)relPde->widgetChBox[0]->IsDown() << std::endl;  | 
          |
| - | 365 | osettings << (int)midPeak->widgetChBox[0]->IsDown() << std::endl;  | 
          |
| - | 366 | osettings << zeroAngle->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 367 | ||
| - | 368 |       // Breakdown voltage | 
          |
| - | 369 | osettings << minPeak->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 370 | osettings << peakSepCalc->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 371 | ||
| - | 372 |       // Surface scan | 
          |
| - | 373 | for(int i = 0; i < 2; i++)  | 
          |
| - | 374 | osettings << (int)surfScanOpt->widgetChBox[i]->IsDown() << std::endl;  | 
          |
| - | 375 | for(int i = 0; i < 2; i++)  | 
          |
| - | 376 | osettings << resolSurf->widgetNE[i]->GetNumber() << std::endl;  | 
          |
| - | 377 | ||
| - | 378 |       // Fitting | 
          |
| - | 379 | osettings << fitSigma->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 380 | osettings << fitTresh->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 381 | osettings << fitInter->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 382 | osettings << adcOffset->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 383 | osettings << accError->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 384 | osettings << pedesLow->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 385 | for(int i = 0; i < 2; i++)  | 
          |
| - | 386 | osettings << (int)fitChecks->widgetChBox[i]->IsDown() << std::endl;  | 
          |
| - | 387 | osettings << std::endl;  | 
          |
| - | 388 | ||
| - | 389 | osettings << "# Histogram controls" << std::endl;  | 
          |
| - | 390 | for(int i = 0; i < 2; i++)  | 
          |
| - | 391 | osettings << adcRange->widgetNE[i]->GetNumber() << std::endl;  | 
          |
| - | 392 | for(int i = 0; i < 2; i++)  | 
          |
| - | 393 | osettings << tdcRange->widgetNE[i]->GetNumber() << std::endl;  | 
          |
| - | 394 | for(int i = 0; i < 2; i++)  | 
          |
| - | 395 | osettings << yRange->widgetNE[i]->GetNumber() << std::endl;  | 
          |
| - | 396 | osettings << selectCh->widgetNE[0]->GetNumber() << std::endl;  | 
          |
| - | 397 | for(int i = 0 ; i < 2; i++)  | 
          |
| - | 398 | osettings << (int)histOpt->widgetChBox[i]->IsDown() << std::endl;  | 
          |
| - | 399 | osettings << posUnitsPlot->widgetCB->GetSelected() << std::endl;  | 
          |
| - | 400 | ||
| - | 401 | printf("Saving analysis settings to file.\n");  | 
          |
| - | 402 |    }                 | 
          |
| - | 403 |    else             | 
          |
| - | 404 | printf("Error! Save file can not be opened.\n");  | 
          |
| - | 405 | osettings.close();  | 
          |
| - | 406 | } | 
          |
| - | 407 | ||
| - | 408 | // Function for getting all measurement settings from a file | 
          |
| - | 409 | void TGAppMainFrame::GetMeasSettings()  | 
          |
| - | 410 | { | 
          |
| - | 411 | char *cTemp, readTemp[1024];  | 
          |
| - | 412 | cTemp = new char[1024];  | 
          |
| - | 413 | sprintf(cTemp, "%s/settings/measurement_settings.txt", rootdir);  | 
          |
| - | 414 | ||
| - | 415 | int iTemp, k = 0;  | 
          |
| - | 416 | double dTemp;  | 
          |
| - | 417 | ||
| - | 418 | std::ifstream isettings;  | 
          |
| - | 419 | ||
| - | 420 | isettings.open(cTemp, std::ifstream::in);  | 
          |
| - | 421 | if(isettings.is_open())  | 
          |
| - | 422 |    { | 
          |
| - | 423 | printf("Opening measurement settings from file.\n");  | 
          |
| - | 424 | ||
| - | 425 | while(1)  | 
          |
| - | 426 |       { | 
          |
| - | 427 | if(isettings.peek() == '#')  | 
          |
| - | 428 |          { | 
          |
| - | 429 | isettings.getline(readTemp, 1024, '\n');  | 
          |
| - | 430 | if(DBGSIG > 1) printf("GetMeasSettings(): readTemp = %s\n", readTemp);  | 
          |
| - | 431 |          } | 
          |
| - | 432 | else if(isettings.peek() == '\n')  | 
          |
| - | 433 | isettings.ignore(1, '\n');  | 
          |
| - | 434 |          else | 
          |
| - | 435 |          {   | 
          |
| - | 436 | if(k == 0)  | 
          |
| - | 437 |             { | 
          |
| - | 438 |                // Scan settings | 
          |
| - | 439 | for(int i = 0; i < 4; i++)  | 
          |
| - | 440 |                { | 
          |
| - | 441 | isettings >> iTemp;  | 
          |
| - | 442 | isettings.ignore(1, '\n');  | 
          |
| - | 443 | if(iTemp == 0) scansOn->widgetChBox[i]->SetState(kButtonUp);  | 
          |
| - | 444 | else if(iTemp == 1) scansOn->widgetChBox[i]->SetState(kButtonDown);  | 
          |
| - | 445 |                } | 
          |
| - | 446 |                // Hard voltage limit | 
          |
| - | 447 | isettings >> dTemp;  | 
          |
| - | 448 | isettings.ignore(1, '\n');  | 
          |
| - | 449 | vHardlimit->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 450 |                // Number of channels | 
          |
| - | 451 | isettings >> iTemp;  | 
          |
| - | 452 | isettings.ignore(1, '\n');  | 
          |
| - | 453 | NCH->widgetNE[0]->SetNumber(iTemp);  | 
          |
| - | 454 |                // Position units | 
          |
| - | 455 | isettings >> iTemp;  | 
          |
| - | 456 | isettings.ignore(1, '\n');  | 
          |
| - | 457 | posUnits->widgetCB->Select(iTemp);  | 
          |
| - | 458 |                // Rotation units | 
          |
| - | 459 | isettings >> iTemp;  | 
          |
| - | 460 | isettings.ignore(1, '\n');  | 
          |
| - | 461 | rotUnits->widgetCB->Select(iTemp);  | 
          |
| - | 462 |                // Oscilloscope IP address | 
          |
| - | 463 | isettings.getline(readTemp, 1024, '\n');  | 
          |
| - | 464 | oscConnect->widgetTE->SetText(readTemp);  | 
          |
| - | 465 |                // Laser info | 
          |
| - | 466 | isettings.getline(readTemp, 1024, '\n');  | 
          |
| - | 467 | laserInfo->widgetTE->SetText(readTemp);  | 
          |
| - | 468 |                // Chamber temperature | 
          |
| - | 469 | isettings >> dTemp;  | 
          |
| - | 470 | isettings.ignore(1, '\n');  | 
          |
| - | 471 | chtemp->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 472 |                // Live display | 
          |
| - | 473 | isettings >> iTemp;  | 
          |
| - | 474 | isettings.ignore(1, '\n');  | 
          |
| - | 475 | if(iTemp == 0) liveDisp->widgetChBox[0]->SetState(kButtonUp);  | 
          |
| - | 476 | else if(iTemp == 1) liveDisp->widgetChBox[0]->SetState(kButtonDown);  | 
          |
| - | 477 | ||
| - | 478 | k++;  | 
          |
| - | 479 |             } | 
          |
| - | 480 | else if(k == 1)  | 
          |
| - | 481 |             { | 
          |
| - | 482 |                // Voltage supply channel | 
          |
| - | 483 | isettings >> iTemp;  | 
          |
| - | 484 | isettings.ignore(1, '\n');  | 
          |
| - | 485 | vOutCh->widgetCB->Select(iTemp);  | 
          |
| - | 486 |                // Voltage supply options | 
          |
| - | 487 | for(int i = 0; i < 2; i++)  | 
          |
| - | 488 |                { | 
          |
| - | 489 | isettings >> iTemp;  | 
          |
| - | 490 | isettings.ignore(1, '\n');  | 
          |
| - | 491 | if(iTemp == 0) vOutOpt->widgetChBox[i]->SetState(kButtonUp);  | 
          |
| - | 492 | else if(iTemp == 1) vOutOpt->widgetChBox[i]->SetState(kButtonDown);  | 
          |
| - | 493 |                } | 
          |
| - | 494 |                // Voltage supply min, max and step | 
          |
| - | 495 | isettings >> dTemp;  | 
          |
| - | 496 | isettings.ignore(1, '\n');  | 
          |
| - | 497 | vOutStart->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 498 | isettings >> dTemp;  | 
          |
| - | 499 | isettings.ignore(1, '\n');  | 
          |
| - | 500 | vOutStop->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 501 | isettings >> dTemp;  | 
          |
| - | 502 | isettings.ignore(1, '\n');  | 
          |
| - | 503 | vOutStep->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 504 |                // Z axis scan min, max and step | 
          |
| - | 505 | isettings >> dTemp;  | 
          |
| - | 506 | isettings.ignore(1, '\n');  | 
          |
| - | 507 | zPosMin->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 508 | isettings >> dTemp;  | 
          |
| - | 509 | isettings.ignore(1, '\n');  | 
          |
| - | 510 | zPosMax->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 511 | isettings >> dTemp;  | 
          |
| - | 512 | isettings.ignore(1, '\n');  | 
          |
| - | 513 | zPosStep->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 514 |                // X axis scan min, max and step | 
          |
| - | 515 | isettings >> dTemp;  | 
          |
| - | 516 | isettings.ignore(1, '\n');  | 
          |
| - | 517 | xPosMin->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 518 | isettings >> dTemp;  | 
          |
| - | 519 | isettings.ignore(1, '\n');  | 
          |
| - | 520 | xPosMax->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 521 | isettings >> dTemp;  | 
          |
| - | 522 | isettings.ignore(1, '\n');  | 
          |
| - | 523 | xPosStep->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 524 |                // Y axis scan min, max and step | 
          |
| - | 525 | isettings >> dTemp;  | 
          |
| - | 526 | isettings.ignore(1, '\n');  | 
          |
| - | 527 | yPosMin->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 528 | isettings >> dTemp;  | 
          |
| - | 529 | isettings.ignore(1, '\n');  | 
          |
| - | 530 | yPosMax->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 531 | isettings >> dTemp;  | 
          |
| - | 532 | isettings.ignore(1, '\n');  | 
          |
| - | 533 | yPosStep->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 534 |                // Rotation min, max and step | 
          |
| - | 535 | isettings >> dTemp;  | 
          |
| - | 536 | isettings.ignore(1, '\n');  | 
          |
| - | 537 | rotPosMin->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 538 | isettings >> dTemp;  | 
          |
| - | 539 | isettings.ignore(1, '\n');  | 
          |
| - | 540 | rotPosMax->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 541 | isettings >> dTemp;  | 
          |
| - | 542 | isettings.ignore(1, '\n');  | 
          |
| - | 543 | rotPosStep->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 544 |                // Number of events | 
          |
| - | 545 | isettings >> iTemp;  | 
          |
| - | 546 | isettings.ignore(1, '\n');  | 
          |
| - | 547 | evtNum->widgetNE[0]->SetNumber(iTemp);  | 
          |
| - | 548 |                // Save filename | 
          |
| - | 549 | isettings.getline(readTemp, 1024, '\n');  | 
          |
| - | 550 | fileName->widgetTE->SetText(readTemp);  | 
          |
| - | 551 | ||
| - | 552 | k++;  | 
          |
| - | 553 |             } | 
          |
| - | 554 |             else | 
          |
| - | 555 | break;  | 
          |
| - | 556 |          } | 
          |
| - | 557 |       } | 
          |
| - | 558 |    } | 
          |
| - | 559 |    else | 
          |
| - | 560 | printf("Error! Measurement settings file can not be opened. Using defaults.\n");  | 
          |
| - | 561 | } | 
          |
| - | 562 | ||
| - | 563 | // Function for getting all analysis settings from a file | 
          |
| - | 564 | void TGAppMainFrame::GetAnalSettings()  | 
          |
| - | 565 | { | 
          |
| - | 566 | char *cTemp, readTemp[1024];  | 
          |
| - | 567 | cTemp = new char[1024];  | 
          |
| - | 568 | sprintf(cTemp, "%s/settings/analysis_settings.txt", rootdir);  | 
          |
| - | 569 | ||
| - | 570 | int iTemp, k = 0;  | 
          |
| - | 571 | double dTemp;  | 
          |
| - | 572 | ||
| - | 573 | std::ifstream isettings;  | 
          |
| - | 574 | ||
| - | 575 | isettings.open(cTemp, std::ifstream::in);  | 
          |
| - | 576 | if(isettings.is_open())  | 
          |
| - | 577 |    { | 
          |
| - | 578 | printf("Opening analysis settings from file.\n");  | 
          |
| - | 579 | ||
| - | 580 | while(1)  | 
          |
| - | 581 |       { | 
          |
| - | 582 | if(isettings.peek() == '#')  | 
          |
| - | 583 |          { | 
          |
| - | 584 | isettings.getline(readTemp, 1024, '\n');  | 
          |
| - | 585 | if(DBGSIG > 1) printf("GetAnalSettings(): readTemp = %s\n", readTemp);  | 
          |
| - | 586 |          } | 
          |
| - | 587 | else if(isettings.peek() == '\n')  | 
          |
| - | 588 | isettings.ignore(1, '\n');  | 
          |
| - | 589 |          else | 
          |
| - | 590 |          {   | 
          |
| - | 591 | if(k == 0)  | 
          |
| - | 592 |             { | 
          |
| - | 593 |                // Integrate spectrum options | 
          |
| - | 594 | for(int i = 0; i < 3; i++)  | 
          |
| - | 595 |                { | 
          |
| - | 596 | isettings >> iTemp;  | 
          |
| - | 597 | isettings.ignore(1, '\n');  | 
          |
| - | 598 | if(iTemp == 0) intSpect->widgetChBox[i]->SetState(kButtonUp);  | 
          |
| - | 599 | else if(iTemp == 1) intSpect->widgetChBox[i]->SetState(kButtonDown);  | 
          |
| - | 600 |                } | 
          |
| - | 601 |                // Integrate spectrum 2D resolution | 
          |
| - | 602 | for(int i = 0; i < 2; i++)  | 
          |
| - | 603 |                { | 
          |
| - | 604 | isettings >> iTemp;  | 
          |
| - | 605 | isettings.ignore(1, '\n');  | 
          |
| - | 606 | resol2d->widgetNE[i]->SetNumber(iTemp);  | 
          |
| - | 607 |                } | 
          |
| - | 608 |                // Relative PDE normalization | 
          |
| - | 609 | isettings >> iTemp;  | 
          |
| - | 610 | isettings.ignore(1, '\n');  | 
          |
| - | 611 | if(iTemp == 0) relPde->widgetChBox[0]->SetState(kButtonUp);  | 
          |
| - | 612 | else if(iTemp == 1) relPde->widgetChBox[0]->SetState(kButtonDown);  | 
          |
| - | 613 |                // Relative PDE middle peak | 
          |
| - | 614 | isettings >> iTemp;  | 
          |
| - | 615 | isettings.ignore(1, '\n');  | 
          |
| - | 616 | if(iTemp == 0) midPeak->widgetChBox[0]->SetState(kButtonUp);  | 
          |
| - | 617 | else if(iTemp == 1) midPeak->widgetChBox[0]->SetState(kButtonDown);  | 
          |
| - | 618 |                // Relative PDE zero angle setting | 
          |
| - | 619 | isettings >> dTemp;  | 
          |
| - | 620 | isettings.ignore(1, '\n');  | 
          |
| - | 621 | zeroAngle->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 622 |                // Breakdown voltage minimum number of detected peaks | 
          |
| - | 623 | isettings >> iTemp;  | 
          |
| - | 624 | isettings.ignore(1, '\n');  | 
          |
| - | 625 | minPeak->widgetNE[0]->SetNumber(iTemp);  | 
          |
| - | 626 |                // Breakdown voltage separation calculation | 
          |
| - | 627 | isettings >> iTemp;  | 
          |
| - | 628 | isettings.ignore(1, '\n');  | 
          |
| - | 629 | peakSepCalc->widgetNE[0]->SetNumber(iTemp);  | 
          |
| - | 630 |                // Surface scan options | 
          |
| - | 631 | for(int i = 0; i < 2; i++)  | 
          |
| - | 632 |                { | 
          |
| - | 633 | isettings >> iTemp;  | 
          |
| - | 634 | isettings.ignore(1, '\n');  | 
          |
| - | 635 | if(iTemp == 0) surfScanOpt->widgetChBox[i]->SetState(kButtonUp);  | 
          |
| - | 636 | else if(iTemp == 1) surfScanOpt->widgetChBox[i]->SetState(kButtonDown);  | 
          |
| - | 637 |                } | 
          |
| - | 638 |                // Surface scan 2D resolution | 
          |
| - | 639 | for(int i = 0; i < 2; i++)  | 
          |
| - | 640 |                { | 
          |
| - | 641 | isettings >> iTemp;  | 
          |
| - | 642 | isettings.ignore(1, '\n');  | 
          |
| - | 643 | resolSurf->widgetNE[i]->SetNumber(iTemp);  | 
          |
| - | 644 |                } | 
          |
| - | 645 |                // Fitting - sigma | 
          |
| - | 646 | isettings >> dTemp;  | 
          |
| - | 647 | isettings.ignore(1, '\n');  | 
          |
| - | 648 | fitSigma->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 649 |                // Fitting - S/N ratio | 
          |
| - | 650 | isettings >> dTemp;  | 
          |
| - | 651 | isettings.ignore(1, '\n');  | 
          |
| - | 652 | fitTresh->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 653 |                // Fitting - interpolation | 
          |
| - | 654 | isettings >> iTemp;  | 
          |
| - | 655 | isettings.ignore(1, '\n');  | 
          |
| - | 656 | fitInter->widgetNE[0]->SetNumber(iTemp);  | 
          |
| - | 657 |                // Fitting - ADC offset | 
          |
| - | 658 | isettings >> dTemp;  | 
          |
| - | 659 | isettings.ignore(1, '\n');  | 
          |
| - | 660 | adcOffset->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 661 |                // Fitting - Acceptable error | 
          |
| - | 662 | isettings >> dTemp;  | 
          |
| - | 663 | isettings.ignore(1, '\n');  | 
          |
| - | 664 | accError->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 665 |                // Fitting - Pedestal lower limit | 
          |
| - | 666 | isettings >> dTemp;  | 
          |
| - | 667 | isettings.ignore(1, '\n');  | 
          |
| - | 668 | pedesLow->widgetNE[0]->SetNumber(dTemp);  | 
          |
| - | 669 |                // Fitting - settings | 
          |
| - | 670 | for(int i = 0; i < 2; i++)  | 
          |
| - | 671 |                { | 
          |
| - | 672 | isettings >> iTemp;  | 
          |
| - | 673 | isettings.ignore(1, '\n');  | 
          |
| - | 674 | if(iTemp == 0) fitChecks->widgetChBox[i]->SetState(kButtonUp);  | 
          |
| - | 675 | else if(iTemp == 1) fitChecks->widgetChBox[i]->SetState(kButtonDown);  | 
          |
| - | 676 |                } | 
          |
| - | 677 | ||
| - | 678 | k++;  | 
          |
| - | 679 |             } | 
          |
| - | 680 | else if(k == 1)  | 
          |
| - | 681 |             { | 
          |
| - | 682 |                // ADC range | 
          |
| - | 683 | for(int i = 0; i < 2; i++)  | 
          |
| - | 684 |                { | 
          |
| - | 685 | isettings >> dTemp;  | 
          |
| - | 686 | isettings.ignore(1, '\n');  | 
          |
| - | 687 | adcRange->widgetNE[i]->SetNumber(dTemp);  | 
          |
| - | 688 |                } | 
          |
| - | 689 |                // TDC range | 
          |
| - | 690 | for(int i = 0; i < 2; i++)  | 
          |
| - | 691 |                { | 
          |
| - | 692 | isettings >> dTemp;  | 
          |
| - | 693 | isettings.ignore(1, '\n');  | 
          |
| - | 694 | tdcRange->widgetNE[i]->SetNumber(dTemp);  | 
          |
| - | 695 |                } | 
          |
| - | 696 |                // Y axis range | 
          |
| - | 697 | for(int i = 0; i < 2; i++)  | 
          |
| - | 698 |                { | 
          |
| - | 699 | isettings >> dTemp;  | 
          |
| - | 700 | isettings.ignore(1, '\n');  | 
          |
| - | 701 | yRange->widgetNE[i]->SetNumber(dTemp);  | 
          |
| - | 702 |                } | 
          |
| - | 703 |                // Displayed channel | 
          |
| - | 704 | isettings >> iTemp;  | 
          |
| - | 705 | isettings.ignore(1, '\n');  | 
          |
| - | 706 | selectCh->widgetNE[0]->SetNumber(iTemp);  | 
          |
| - | 707 |                // Display options | 
          |
| - | 708 | for(int i = 0; i < 2; i++)  | 
          |
| - | 709 |                { | 
          |
| - | 710 | isettings >> iTemp;  | 
          |
| - | 711 | isettings.ignore(1, '\n');  | 
          |
| - | 712 | if(iTemp == 0) histOpt->widgetChBox[i]->SetState(kButtonUp);  | 
          |
| - | 713 | else if(iTemp == 1) histOpt->widgetChBox[i]->SetState(kButtonDown);  | 
          |
| - | 714 |                } | 
          |
| - | 715 |                // Display position units | 
          |
| - | 716 | isettings >> iTemp;  | 
          |
| - | 717 | isettings.ignore(1, '\n');  | 
          |
| - | 718 | posUnitsPlot->widgetCB->Select(iTemp);  | 
          |
| - | 719 | ||
| - | 720 | k++;  | 
          |
| - | 721 |             } | 
          |
| - | 722 |             else | 
          |
| - | 723 | break;  | 
          |
| - | 724 |          } | 
          |
| - | 725 |       } | 
          |
| - | 726 |    } | 
          |
| - | 727 |    else | 
          |
| - | 728 | printf("Error! Measurement settings file can not be opened. Using defaults.\n");  | 
          |
| 285 | } | 
            729 | } | 
          
| 286 | 730 | ||
| 287 | // Layout function for the main window (width and height) | 
            731 | // Layout function for the main window (width and height) | 
          
| 288 | void layoutMainWindow(int *w, int *h)  | 
            732 | void layoutMainWindow(int *w, int *h)  | 
          
| 289 | { | 
            733 | { |