Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
fitpanel_playback.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_fit
3/// This file will test all the transient frames (aka Dialog windows)
4/// displayed in the fitpanel, as the rest of the functionality is
5/// tried automatically with the UnitTest.C unit.
6///
7/// This implies trying the Set Parameters dialog and the Advanced one.
8///
9/// At every operation, a png file will be saved. These files will be
10/// later on compared with some references values, to have an estimation
11/// of the goodness of the test.
12///
13/// \macro_code
14///
15/// \author David Gonzalez Maline
16
17#include "TSystem.h"
18#include "TSystemFile.h"
19#include "TRecorder.h"
20#include "Riostream.h"
21
22int file_size(const char *filename)
23{
24 FileStat_t fs;
25 gSystem->GetPathInfo(filename, fs);
26 return (int)fs.fSize;
27}
28
29void fitpanel_playback()
30{
31 auto * r = new TRecorder();
32 r->Replay("http://root.cern/files/fitpanel_playback.root");
33
34 // wait for the recorder to finish the replay
35 while (r->GetState() == TRecorder::kReplaying) {
36 gSystem->ProcessEvents();
37 gSystem->Sleep(1);
38 }
39
40 int Step_Err = 100;
41 int Step1_Ref = 15691;
42 int Step2_Ref = 15691;
43 int Step3_Ref = 17632;
44 int Step4_Ref = 12305;
45 int Step5_Ref = 11668;
46
47 int Step1_Size = file_size("Step1.png");
48 int Step2_Size = file_size("Step2.png");
49 int Step3_Size = file_size("Step3.png");
50 int Step4_Size = file_size("Step4.png");
51 int Step5_Size = file_size("Step5.png");
52
53
54 std::cout << "**********************************************************************" << std::endl;
55 std::cout << "* Report of fitpanel_playback.C *" << std::endl;
56 std::cout << "**********************************************************************" << std::endl;
57
58 if (TMath::Abs(Step1_Ref-Step1_Size) <= Step_Err) {
59 std::cout << "Step1: ............................................................ OK" << std::endl;
60 } else {
61 std::cout << "Step1: ........................................................ FAILED" << std::endl;
62 }
63
64 if (TMath::Abs(Step2_Ref-Step2_Size) <= Step_Err) {
65 std::cout << "Step2: ............................................................ OK" << std::endl;
66 } else {
67 std::cout << "Step2: ........................................................ FAILED" << std::endl;
68 }
69
70 if (TMath::Abs(Step3_Ref-Step3_Size) <= Step_Err) {
71 std::cout << "Step3: ............................................................ OK" << std::endl;
72 } else {
73 std::cout << "Step3: ........................................................ FAILED" << std::endl;
74 }
75
76 if (TMath::Abs(Step4_Ref-Step4_Size) <= Step_Err) {
77 std::cout << "Step4: ............................................................ OK" << std::endl;
78 } else {
79 std::cout << "Step4: ........................................................ FAILED" << std::endl;
80 }
81
82 if (TMath::Abs(Step5_Ref-Step5_Size) <= Step_Err) {
83 std::cout << "Step5: ............................................................ OK" << std::endl;
84 } else {
85 std::cout << "Step5: ........................................................ FAILED" << std::endl;
86 }
87 std::cout << "**********************************************************************" << std::endl;
88
89}
ROOT::R::TRInterface & r
Definition Object.C:4
externTSystem * gSystem
Definition TSystem.h:582
Class provides direct recorder/replayer interface for a user.
Definition TRecorder.h:266
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
Definition TMathBase.h:122
Long64_t fSize
Definition TSystem.h:138