GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
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 
14 #include "TGo4OptStatsSettings.h"
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 }
void setStatBoxErrors(bool on=true)
bool getStatBoxVisible()
TGo4OptStatsSettings(QWidget *parent=nullptr)
void setOptStat(int value)
TGo4QSettings * go4sett
bool getStatBoxErrors()
void setOptStatW(int value)
void setOptStatH(int value)
void setStatBoxVisible(bool on=true)