GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4OptStatsSettings.cpp
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
15
16#include "TStyle.h"
17#include "TMath.h"
18
19#include "TGo4QSettings.h"
20
22 QDialog( parent )
23{
24 //setObjectName(name);
25 setupUi(this);
26
27 QObject::connect(buttonOk, &QPushButton::clicked, this, &TGo4OptStatsSettings::setFlags);
28
29 bool showstat = go4sett->getStatBoxVisible();
30 DrawStatboxButton->setChecked(showstat);
31 OptStatGroupBox->setEnabled(showstat);
32
33 fStatW = go4sett->getOptStatW()*0.01;
34 fStatH = go4sett->getOptStatH()*0.01;
35
36 if (fStatW<0.005) fStatW = gStyle->GetStatW();
37 if (fStatH<0.005) fStatH = gStyle->GetStatH();
38
39 StatWidthBox->setValue(fStatW);
40 StatHeightBox->setValue(fStatH);
41
42 int optstats = go4sett->getOptStat();
43 bool k= (optstats/100000000)%10 ;
44 bool s=(optstats/10000000)%10;
45 bool i=(optstats/1000000)%10;
46 bool o=(optstats/100000)%10;
47 bool u=(optstats/10000)%10;
48 bool r=(optstats/1000)%10;
49 bool m=(optstats/100)%10;
50 bool e=(optstats/10)%10;
51 bool n=(optstats/1)%10;
52
53 DrawNameButton->setChecked(n);
54 DrawEntriesButton->setChecked(e);
55 DrawIntegralButton->setChecked(i);
56 DrawRMSButton->setChecked(r);
57 DrawMeanButton->setChecked(m);
58 DrawCurtosisButton->setChecked(k);
59 DrawUnderflowButton->setChecked(u);
60 DrawOverflowButton->setChecked(o);
61 DrawSkewnessButton->setChecked(s);
62
63 DrawErrorsButton->setChecked(go4sett->getStatBoxErrors());
64}
65
66
68{
69 bool drawbox=DrawStatboxButton->isChecked();
70 bool drawerrors=DrawErrorsButton->isChecked();
71 int leader=1000000000; // leading value to correctly decode "name only" option
72 bool k=DrawCurtosisButton->isChecked();
73 int kurt=100000000* (int) k;
74 if(drawerrors) kurt*=2;
75 bool s=DrawSkewnessButton->isChecked();
76 int skew=10000000* (int) s;
77 if(drawerrors) skew*=2;
78 bool i=DrawIntegralButton->isChecked();
79 int integ=1000000* (int) i;
80 bool o=DrawOverflowButton->isChecked();
81 int over=100000* (int) o;
82 bool u=DrawUnderflowButton->isChecked();
83 int under=10000* (int) u;
84 bool r=DrawRMSButton->isChecked();
85 int rms=1000* (int) r;
86 if(drawerrors) rms*=2;
87 bool m=DrawMeanButton->isChecked();
88 int mean=100* (int) m;
89 if(drawerrors) mean*=2;
90 bool e=DrawEntriesButton->isChecked();
91 int ent=10* (int) e;
92 bool n=DrawNameButton->isChecked();
93 int nm= (int) n;
94 int optstats=leader+kurt+skew+integ+over+under+rms+mean+ent+nm;
95 go4sett->setStatBoxVisible(drawbox);
96 go4sett->setStatBoxErrors(drawerrors);
97 go4sett->setOptStat(optstats);
98
99 if (TMath::Abs(fStatW-StatWidthBox->value())>0.005)
100 go4sett->setOptStatW((int)(StatWidthBox->value()*100));
101
102 if (TMath::Abs(fStatH-StatHeightBox->value())>0.005)
103 go4sett->setOptStatH((int)(StatHeightBox->value()*100));
104}
TGo4QSettings * go4sett
TGo4OptStatsSettings(QWidget *parent=nullptr)