17 #include <QMessageBox>
19 #include <QtCore/QSignalMapper>
44 QObject::connect(UpdateCon, SIGNAL(clicked()),
this, SLOT(
UpdatePressed()));
45 QObject::connect(ArrayElements, SIGNAL(valueChanged(
int)),
this, SLOT(
SelectedCond(
int)));
46 QObject::connect(ResultCombo, SIGNAL(activated(
int)),
this, SLOT(
SetResultMode(
int)));
47 QObject::connect(InvertCombo, SIGNAL(activated(
int)),
this, SLOT(
SetInvertMode(
int)));
48 QObject::connect(ClearCondCount, SIGNAL(clicked()),
this, SLOT(
ClearCounters()));
49 QObject::connect(DisplayB, SIGNAL(clicked()),
this, SLOT(
DisplayPressed()));
50 QObject::connect(RefreshButton, SIGNAL(clicked()),
this, SLOT(
RefreshClicked()));
55 QObject::connect(Win1_low, SIGNAL(textChanged(QString)),
this, SLOT(
LimitsChanged(QString)));
56 QObject::connect(Win1_up, SIGNAL(textChanged(QString)),
this, SLOT(
LimitsChanged(QString)));
57 QObject::connect(Win2_low, SIGNAL(textChanged(QString)),
this, SLOT(
LimitsChanged(QString)));
58 QObject::connect(Win2_up, SIGNAL(textChanged(QString)),
this, SLOT(
LimitsChanged(QString)));
59 QObject::connect(CondLimits, SIGNAL(toggled(
bool)),
this, SLOT(
SetDrawLimits(
bool)));
60 QObject::connect(CondLabel, SIGNAL(toggled(
bool)),
this, SLOT(
SetLabel(
bool)));
61 QObject::connect(IntBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetIntDraw(
bool)));
62 QObject::connect(MaxXBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetXMaxDraw(
bool)));
63 QObject::connect(MaxYBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetYMaxDraw(
bool)));
64 QObject::connect(MaxCBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetCMaxDraw(
bool)));
65 QObject::connect(ArrayAllButton, SIGNAL(clicked()),
this, SLOT(
ArrayAll()));
67 QObject::connect(SaveCon, SIGNAL(clicked()),
this, SLOT(
SaveCondition()));
68 QObject::connect(Win1_low, SIGNAL(returnPressed()), Win1_up, SLOT(selectAll()));
69 QObject::connect(Win1_up, SIGNAL(returnPressed()), Win2_low, SLOT(selectAll()));
70 QObject::connect(Win2_low, SIGNAL(returnPressed()), Win2_up, SLOT(selectAll()));
71 QObject::connect(Win2_up, SIGNAL(returnPressed()), Win1_low, SLOT(selectAll()));
72 QObject::connect(Win1_low, SIGNAL(returnPressed()), Win1_up, SLOT(setFocus()));
73 QObject::connect(Win1_up, SIGNAL(returnPressed()), Win2_low, SLOT(setFocus()));
74 QObject::connect(Win2_low, SIGNAL(returnPressed()), Win2_up, SLOT(setFocus()));
75 QObject::connect(Win2_up, SIGNAL(returnPressed()), Win1_low, SLOT(setFocus()));
76 QObject::connect(XMeanBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetXMeanDraw(
bool)));
77 QObject::connect(YMeanBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetYMeanDraw(
bool)));
78 QObject::connect(XRMSBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetXRMSDraw(
bool)));
79 QObject::connect(YRMSBox, SIGNAL(toggled(
bool)),
this, SLOT(
SetYRMSDraw(
bool)));
80 QObject::connect(CondVisibleChk, SIGNAL(toggled(
bool)),
this, SLOT(
SetCondVisible(
bool)));
87 QObject::connect(EllipseA1Spinbox, SIGNAL(valueChanged(
double)),
this, SLOT(
EllipseA1_valueChanged(
double)));
88 QObject::connect(EllipseA2Spinbox, SIGNAL(valueChanged(
double)),
this, SLOT(
EllipseA2_valueChanged(
double)));
89 QObject::connect(EllipseCxSpinbox, SIGNAL(valueChanged(
double)),
this, SLOT(
EllipseCx_valueChanged(
double)));
90 QObject::connect(EllipseCySpinbox, SIGNAL(valueChanged(
double)),
this, SLOT(
EllipseCy_valueChanged(
double)));
93 QObject::connect(CircleBox, SIGNAL(toggled(
bool)), EllipseA2Spinbox, SLOT(setDisabled(
bool)));
94 QObject::connect(CircleBox, SIGNAL(toggled(
bool)), EllipseTiltDial, SLOT(setDisabled(
bool)));
95 QObject::connect(CircleBox, SIGNAL(toggled(
bool)), EllipseTiltEdit, SLOT(setDisabled(
bool)));
96 QObject::connect(BoxshapeBox, SIGNAL(toggled(
bool)), EllipseNptsSpin, SLOT(setDisabled(
bool)));
97 QObject::connect(FreeshapeBox, SIGNAL(toggled(
bool)), EllipseCxSpinbox, SLOT(setDisabled(
bool)));
98 QObject::connect(FreeshapeBox, SIGNAL(toggled(
bool)), EllipseCySpinbox, SLOT(setDisabled(
bool)));
99 QObject::connect(FreeshapeBox, SIGNAL(toggled(
bool)), EllipseA1Spinbox, SLOT(setDisabled(
bool)));
100 QObject::connect(FreeshapeBox, SIGNAL(toggled(
bool)), EllipseA2Spinbox, SLOT(setDisabled(
bool)));
101 QObject::connect(FreeshapeBox, SIGNAL(toggled(
bool)), EllipseTiltDial, SLOT(setDisabled(
bool)));
102 QObject::connect(FreeshapeBox, SIGNAL(toggled(
bool)), EllipseTiltEdit, SLOT(setDisabled(
bool)));
108 #if QT_VERSION >= QT_VERSION_CHECK(4,6,0)
109 LCDCounts->setDigitCount(10);
110 LCDTrueCounts->setDigitCount(10);
112 LCDCounts->setNumDigits(10);
113 LCDTrueCounts->setNumDigits(10);
116 setWindowTitle(
"Condition editor");
119 parentWidget()->adjustSize();
123 CutTable->setContextMenuPolicy(Qt::CustomContextMenu);
130 if (cl==0)
return false;
131 bool res = cl->InheritsFrom(TGo4Condition::Class());
140 if (cl->InheritsFrom(TGo4Condition::Class()))
165 if (strcmp(linkname,
"Condition")==0) {
175 if (strcmp(linkname,
"Condition")==0)
184 if ((con!=0) && (con->
IsChanged()!=0) && (strcmp(conditemname,itemname)!=0)) {
186 int res = QMessageBox::warning(
this,
"Condition editor",
187 QString(
"Current condition %1 is modified!\n"
188 "New condition %2 is selected.").arg(conditemname).arg(itemname),
189 QString(
"Continue with current"),
190 QString(
"Start with new"), QString(), 0);
196 if ((conditemname==0) || (strcmp(conditemname,itemname)!=0)) {
198 CondNameLbl->setText(itemname);
199 AddLink(itemname,
"Condition");
202 QString iconname =
":/icons/right.png";
203 QString tooltip =
"Refresh condition from analysis";
205 iconname =
":/icons/refresh.png";
206 tooltip =
"Refresh condition from source";
208 RefreshButton->setIcon( QIcon(iconname) );
209 RefreshButton->setToolTip(tooltip);
231 CondNameLbl->setText(
"");
232 CondClassLbl->setText(
"");
234 PleaseUpdateLabel->setVisible(
false);
236 ArrayAllButton->setVisible(
false);
237 ArrayElements->setVisible(
false);
239 HistogramChk->setVisible(
false);
240 HistogramChk->setChecked(
false);
241 HistogramChk->setText(
"null");
242 HistogramChk->setEnabled(
false);
244 CondVisibleChk->setVisible(
false);
245 DrawInfoLbl->setText(
"");
246 CondTabs->setEnabled(
false);
248 LCDCounts->display(0);
249 LCDTrueCounts->display(0);
251 Win1_low->setDisabled(
true);
252 Win1_up->setDisabled(
true);
253 Win2_low->setDisabled(
true);
254 Win2_up->setDisabled(
true);
256 ResultCombo->setEnabled(
false);
257 InvertCombo->setEnabled(
false);
275 PleaseUpdateLabel->setVisible(cond->
IsChanged()!=0);
280 if ((panel!=0) && (pad!=0)) {
286 if (selname==cond->GetName())
290 if (histo==0) histo =
dynamic_cast<TH1*
>(
GetLinked(
"Histogram", 0));
296 ArrayAllButton->setVisible(arr!=0);
297 ArrayElements->setVisible(arr!=0);
301 ArrayElements->setMaximum(arr->
GetNumber()-1);
309 ModifyButton->setVisible((panel!=0) && ((arr==0) || (
fiSelectedIndex>=0)));
319 CondClassLbl->setText(
"Win 2-D ");
321 CondClassLbl->setText(
"Win 1-D ");
326 CondClassLbl->setText(
"Ellipse ");
328 CondClassLbl->setText(
"Circle ");
329 else if (econd->
IsBox())
330 CondClassLbl->setText(
"Box ");
332 CondClassLbl->setText(
"Free shape ");
335 CondClassLbl->setText(
"Polygon ");
337 CondClassLbl->setText(
"Value list ");
340 CondClassLbl->setText(
"");
345 if ((hname==0) || (*hname==0)) {
346 HistogramChk->setChecked(
false);
347 HistogramChk->setText(
"null");
348 HistogramChk->setEnabled(
false);
352 HistogramChk->setText(hname);
353 HistogramChk->setEnabled(
true);
355 if (hitemname.length()>0)
356 infolbl += hitemname;
362 CondVisibleChk->setVisible(
true);
363 CondVisibleChk->setChecked(cond->
IsVisible());
366 if (infolbl.length()>0) infolbl+=
" ";
367 infolbl +=
"Drawn: ";
368 infolbl += panel->objectName();
369 if ((pad!=0) && (pad!=(TPad*)panel->
GetCanvas())) {
371 infolbl += pad->GetName();
374 DrawInfoLbl->setText(infolbl);
376 CondTabs->setEnabled(
true);
378 ResultCombo->setEnabled(
true);
379 InvertCombo->setEnabled(
true);
382 ResultCombo->setCurrentIndex(0);
385 ResultCombo->setCurrentIndex(1);
387 ResultCombo->setCurrentIndex(2);
389 if(cond->
IsTrue()) InvertCombo->setCurrentIndex(0);
390 else InvertCombo->setCurrentIndex(1);
392 LCDCounts->display(cond->
Counts());
399 if ((ratio>=0.) && (ratio<=100.))
400 sratio = QString(
"%1%2").arg(ratio*100,4,
'f',2).arg(
"%");
403 PercentLabel->setText(sratio);
408 Win1_low->setText(QString::number(cond->
GetXLow()));
409 Win1_up->setText(QString::number(cond->
GetXUp()));
412 Win2_low->setText(QString::number(cond->
GetYLow()));
413 Win2_up->setText(QString::number(cond->
GetYUp()));
415 Win2_low->setText(
"");
416 Win2_up->setText(
"");
420 Win1_low->setEnabled(
true);
421 Win1_up->setEnabled(
true);
425 Win1_low->setDisabled(
true);
426 Win1_up->setDisabled(
true);
427 Win2_low->setDisabled(
true);
428 Win2_up->setDisabled(
true);
432 int oldindex = CondTabs->currentIndex();
433 CondTabs->setCurrentIndex(2);
434 CondTabs->setCurrentIndex(oldindex);
436 if ((pcond==0) && ((CondTabs->currentIndex()==1) || (CondTabs->currentIndex()==2)))
437 CondTabs->setCurrentIndex(0);
439 if ((econd==0) && (pcond!=0) && (CondTabs->currentIndex()==2))
440 CondTabs->setCurrentIndex(1);
443 CondTabs->setCurrentIndex(1);
445 CondTabs->setTabEnabled(1, (pcond!=0 || (lcond!=0)));
446 CondTabs->setTabEnabled(2, (econd!=0));
448 CondTabs->setTabEnabled(3, (lcond==0));
449 CondTabs->setTabEnabled(4, (lcond==0));
450 CondTabs->setTabEnabled(5, (lcond==0));
455 CondTabs->setTabText(1,
"Cut");
469 CondTabs->setTabText(1,
"Values");
487 IntBox->setText(QString(
"Integr: ") + QString::number(cond->
GetIntegral(histo,
"")));
488 MaxXBox->setText(QString(
"MaxX: ") + QString::number(cond->
GetXMax(histo)));
489 MaxYBox->setText(QString(
"MaxY: ") + QString::number(cond->
GetYMax(histo)));
490 MaxCBox->setText(QString(
"Max: ") + QString::number(cond->
GetCMax(histo)));
492 XMeanBox->setText(QString(
"XMean: ") + QString::number(cond->
GetMean(histo, 1)));
493 XRMSBox->setText(QString(
"XRMS: ") + QString::number(cond->
GetRMS(histo, 1)));
494 YMeanBox->setText(QString(
"YMean: ") + QString::number(cond->
GetMean(histo, 2)));
495 YRMSBox->setText(QString(
"YRMS: ") + QString::number(cond->
GetRMS(histo, 2)));
502 if ((panel==0) && HistogramChk->isChecked() &&
512 if (cond==0)
return 0;
521 if (fiSelectedIndex<arr->GetNumber())
534 PleaseUpdateLabel->setVisible(
true);
549 ArrayElements->setValue(-1);
557 case 0: cond->
Enable();
break;
558 case 1: cond->
Disable(kTRUE);
break;
559 case 2: cond->
Disable(kFALSE );
break;
560 default: cond->
Enable();
break;
578 if ((con==0) || (conditemname==0))
return;
608 bool okx1, okx2, res =
false;
609 Double_t x1 = Win1_low->text().toDouble(&okx1);
610 Double_t x2 = Win1_up->text().toDouble(&okx2);
614 Double_t y1 = Win2_low->text().toDouble(&oky1);
615 Double_t y2 = Win2_up->text().toDouble(&oky2);
616 if (okx1 && okx2 && oky1 && oky2) {
766 if (conditemname==0)
return;
772 DrawItem(conditemname, panel, 0,
false, 0);
797 const char* hname = 0;
806 panel =
DrawItem(hitemname.Data(), 0);
808 AddLink(hitemname.Data(),
"Histogram");
809 DrawItem(conditemname, panel, 0,
false, 0);
820 if (conditemname==0)
return;
826 if (panel==0)
return;
842 cond->
Print(
"go4log-limits-stats");
849 if (cond==0)
return false;
854 if ((hname!=0) && (strlen(hname)!=0)) {
855 TString foldername, objname;
871 if ((panel==0) || (pad==0))
return;
886 CutTable->setColumnCount(2);
888 CutTable->setRowCount(0);
889 NPointsSpin->setValue(0);
891 CutTable->setRowCount(cut->GetN());
892 NPointsSpin->setValue(cut->GetN());
893 for (
int n=0;n<cut->GetN();n++) {
895 cut->GetPoint(n, x,y);
896 CutTable->setItem(n, 0,
new QTableWidgetItem(QString::number(x)));
897 CutTable->setItem(n, 1,
new QTableWidgetItem(QString::number(y)));
898 CutTable->setVerticalHeaderItem(n,
new QTableWidgetItem(QString::number(n)));
910 double a1=0,a2=0,x=0,y=0;
914 elli-> GetCenter(x,y);
917 EllipseCxSpinbox->setValue(x);
918 EllipseCySpinbox->setValue(y);
919 EllipseA1Spinbox->setValue(a1);
920 EllipseA2Spinbox->setValue(a2);
921 EllipseTiltDial->setValue(theta);
922 EllipseTiltEdit->setText(QString::number(theta));
924 CircleBox->setChecked(elli->
IsCircle());
925 EllipseBox->setChecked(elli->
IsEllipse());
926 BoxshapeBox->setChecked(elli->
IsBox());
936 EllipseCxSpinbox->setVisible(show);
937 EllipseCySpinbox->setVisible(show);
938 EllipseA1Spinbox->setVisible(show);
939 EllipseA2Spinbox->setVisible(show);
940 EllipseTiltDial->setVisible(show);
941 EllipseTiltEdit->setVisible(show);
943 ShapegroupBox->setVisible(show);
944 CircleBox->setVisible(show);
945 EllipseBox->setVisible(show);
946 BoxshapeBox->setVisible(show);
947 FreeshapeBox->setVisible(show);
948 EllipseNptsSpin->setVisible(show);
950 AutoRefreshBox->setVisible(show);
951 EllipseCenterLabel->setVisible(show);
952 EllipseTitlLabel->setVisible(show);
953 EllipseRadiusLabel->setVisible(show);
954 EllipseNptsLabel->setVisible(show);
955 EllipsCxLabel->setVisible(show);
956 EllipsCyLabel->setVisible(show);
957 EllipsA1Label->setVisible(show);
958 EllipsA2Label->setVisible(show);
960 verticalLayout_2->setEnabled(show);
961 verticalLayout_5->setEnabled(show);
962 horizontalLayout_4->setEnabled(show);
970 CutTable->setColumnCount(1);
972 CutTable->setRowCount(0);
973 NPointsSpin->setValue(0);
976 CutTable->setRowCount(points);
977 NPointsSpin->setValue(points);
978 for (
int n=0;n<points;n++) {
980 CutTable->setItem(n, 0,
new QTableWidgetItem(QString::number(val)));
982 CutTable->setVerticalHeaderItem(n,
new QTableWidgetItem(QString::number(n)));
998 TCutG* cut = pcond->
GetCut(kFALSE);
1001 cut =
new TCutG(
"conditioncut", npoint);
1002 Double_t x=0., y=0.;
1003 for (
int n=0;n<npoint-1; n++)
1004 cut->SetPoint(n, n*10, n*10);
1005 cut->GetPoint(0, x, y);
1006 cut->SetPoint(npoint-1, x, y);
1013 int old = cut->GetN();
1014 Double_t x=0., y=0.;
1015 if (old>1) cut->GetPoint(old-2, x, y);
1017 for(
int n= (old-1>=0 ? old-1 : 0); n<npoint-1; n++)
1018 cut->SetPoint(n, x, y+(n-old+2)*10);
1019 cut->GetPoint(0, x, y);
1020 cut->SetPoint(npoint-1, x, y);
1044 double zn = CutTable->item(nrow, ncol)->text().toDouble(&ok);
1049 TCutG* cut = pcond==0 ? 0 : pcond->
GetCut(kFALSE);
1051 if (ncol==0) cut->GetX()[nrow] = zn;
1052 else cut->GetY()[nrow] = zn;
1053 if ((nrow==0) || (nrow==cut->GetN()-1)) {
1054 int nrow1 = (nrow==0) ? cut->GetN()-1 : 0;
1056 CutTable->setItem(nrow1, ncol,
new QTableWidgetItem(CutTable->item(nrow, ncol)->text()));
1057 if (ncol==0) cut->GetX()[nrow1] = zn;
1058 else cut->GetY()[nrow1] = zn;
1067 if ((nrow==0) || (nrow==numvals-1)) {
1068 int nrow1 = (nrow==0) ? numvals-1 : 0;
1070 CutTable->setItem(nrow1, ncol,
new QTableWidgetItem(CutTable->item(nrow, ncol)->text()));
1091 QTableWidgetItem* item = CutTable->itemAt (pos);
1092 if (item==0)
return;
1095 if((pcond==0) && (lcond == 0))
return;
1101 TCutG* cut = pcond->
GetCut(kFALSE);
1114 int nrow = CutTable->row(item);
1116 QSignalMapper map(
this);
1118 AddIdAction(&menu, &map,
"Delete point", nrow+1000000, (nrow>0) && (nrow<maxn-1));
1120 menu.exec(CutTable->mapToGlobal(pos));
1130 TCutG* cut = pcond==0 ? 0 : pcond->
GetCut(kFALSE);
1135 cut->RemovePoint(
id);
1137 Int_t npoints = cut->GetN();
1138 if (
id>=npoints)
return;
1139 cut->Set(npoints+1);
1143 for(
int n=npoints;n>id;n--) {
1144 cut->GetPoint(n-1, x, y);
1145 cut->SetPoint(n, x, y);
1150 cut->GetPoint(
id-1, x1, y1);
1151 cut->SetPoint(
id, (x1+x)/2., (y+y1)/2.);
1165 if (
id>=npoints)
return;
1182 EllipseTiltEdit->setText(QString::number(deg));
1186 if(econd) econd->
SetTheta((
double) deg);
1202 double y=EllipseCySpinbox->value();
1217 double x=EllipseCxSpinbox->value();
1267 Int_t theta = EllipseTiltEdit->text().toInt(&ok);
1268 if(theta<0) theta=0;
1269 theta = theta % 360;
1272 EllipseTiltDial->setValue(theta);
1291 std::cout <<
"UpdateEllipse did not find ellipse condition!!!"<< std::endl;
1297 if (FreeshapeBox->isChecked())
1303 double cx = EllipseCxSpinbox->value();
1304 double cy = EllipseCySpinbox->value();
1305 double a1 = EllipseA1Spinbox->value();
1306 double a2 = EllipseA2Spinbox->value();
1307 double th = EllipseTiltDial->value();
1316 TCutG* cut=econd->
GetCut(
false);
1317 Int_t n = cut->GetN();
1318 Double_t* xarr=cut->GetX();
1319 Double_t* yarr=cut->GetY();
1321 for (
int i=0; i<n; ++i)
1323 rarr[i]= TMath::Sqrt(TMath::Power((xarr[i]-cx),2) + TMath::Power((yarr[i]-cy),2));
1325 Int_t nrmax=TMath::LocMax(n,rarr.GetArray());
1326 Int_t nrmin=TMath::LocMin(n,rarr.GetArray());
1332 th= TMath::ACos((econd->
GetXUp() - cx)/a1) * 180/TMath::Pi();
1337 if (CircleBox->isChecked())
1338 econd->
SetCircle(cx, cy, a1, EllipseNptsSpin->value());
1339 else if (EllipseBox->isChecked())
1340 econd->
SetEllipse(cx, cy, a1, a2, th, EllipseNptsSpin->value());
1341 else if (BoxshapeBox->isChecked())
1351 econd->
SetBox(cx, cy, a1, a2, th);
virtual void ShootRepaintTimer()
virtual Bool_t IsXRMSDraw()
void SetTheta(Double_t angle)
virtual void SetYMeanDraw(bool on)
virtual void LimitsReturnPressed()
void GetRadius(Double_t &a1, Double_t &a2)
virtual Bool_t IsLimitsDraw()
virtual void SetIntDraw(Bool_t on)
void SetEllipse(Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta=0, Int_t npoints=0)
virtual void enterEvent(QEvent *)
virtual Double_t GetXUp()
virtual Double_t GetRMS(TH1 *, Int_t=1)
virtual Bool_t IsCMaxDraw()
virtual const char * GetDrawObjectLinkName(TPad *pad, TObject *obj)
virtual void SelectedCond(int t)
virtual void SetYMaxDraw(Bool_t on)
virtual void RefreshWidget(bool checkindex)
virtual void SetActivePad(TPad *pad)
virtual void PrintConditionLog()
virtual Bool_t IsIntDraw()
void RemoveValue(UInt_t ix)
virtual void ClearCounters()
Bool_t IsFreeShape() const
virtual QString GetSelectedMarkerName(TPad *pad)
virtual void StartConditionEditing(TPad *pad)
virtual Int_t IsChanged()
virtual void SetCMaxDraw(Bool_t on)
virtual void SetXMeanDraw(bool on)
virtual void leaveEvent(QEvent *)
void InsertValue(UInt_t ix, Int_t val)
virtual void SetChangeFlag(bool changed)
virtual Double_t GetYUp()
virtual void EllipseTheta_valueChanged(int deg)
virtual void PrintCondition(Bool_t full=kTRUE)
virtual bool PrepareForAnalysis()
virtual void SetYRMSDraw(Bool_t on)
virtual void DisplayPressed()
virtual Bool_t IsVisible()
virtual void EllipseNPoints_valueChanged(int npoint)
virtual void ResetWidget()
TGo4ServerProxy * DefineServerObject(const char *itemname, TString *objname=0, Bool_t onlyanalysis=kTRUE)
virtual Bool_t IsLabelDraw()
virtual void EllipseA1_valueChanged(double r1)
virtual TGo4Condition * SelectedCondition()
virtual void SetYRMSDraw(bool on)
void SetCenter(Double_t x, Double_t y)
virtual void SetXMeanDraw(Bool_t on)
virtual void SetYMaxDraw(bool on)
virtual void ChangeConditionProperty(int id, bool on)
virtual Double_t GetIntegral(TH1 *, Option_t *="")
virtual void SetIntDraw(bool on)
virtual void ShowEllipseWidget(bool show)
virtual void linkedObjectRemoved(const char *linkname)
virtual Double_t GetXLow()
virtual void FillListWidget(TGo4ListCond *lcon)
virtual void ResetCounts()
virtual void ClearAnalysisObject(const char *fullpath)
Bool_t FixedResult() const
virtual void LimitsChanged(const QString &)
virtual void EllipseCircleBox_toggled(bool on)
virtual bool IsAcceptDrag(const char *itemname, TClass *cl, int kind)
virtual void SetValues(Double_t *x, Double_t *y, Int_t len)
virtual void SetInvertMode(int mode)
TCutG * GetCut(Bool_t changeowner)
virtual void RedrawCondition()
virtual void ModifyButton_clicked()
virtual Bool_t IsYMaxDraw()
virtual Double_t GetYUp()
virtual void SetXMaxDraw(Bool_t on)
Int_t GetValue(UInt_t ix) const
virtual void SetSelectedMarker(TPad *pad, const QString &selname, int selindex)
void SetValue(UInt_t ix, Int_t val)
virtual void ContextMenuSlot(int)
virtual void MarkPadModified(TPad *pad)
virtual void EllipseCy_valueChanged(double y)
virtual void Print(Option_t *opt="") const
virtual void DrawCondition(bool useactive)
void SetCircle(Double_t cx, Double_t cy, Double_t r, Int_t npoints=0)
virtual Bool_t IsXMeanDraw()
virtual void SetCMaxDraw(bool on)
bool fbEllipseAutoRefresh
virtual bool UpdateLimits()
virtual TPad * FindPadWithItem(const char *itemname)
void SetHistogram(const char *name)
virtual void SetXRMSDraw(bool on)
virtual void Disable(Bool_t result)
virtual Bool_t IsXMaxDraw()
virtual Bool_t CanSubmitObjects()
Bool_t DefineRelatedObject(const char *itemname, const char *objectname, TString &objectitem, Int_t mask=3)
TGo4ConditionEditor(QWidget *parent=0, const char *name=0)
virtual void FillCutWidget(TCutG *cut)
virtual int GetSelectedMarkerIndex(TPad *pad)
virtual Double_t GetYLow()
virtual void SetXRMSDraw(Bool_t on)
virtual void SetLimitsDraw(Bool_t on)
void SetMultiEdit(Bool_t on)
virtual void CutTable_valueChanged(int ncol, int nrow)
virtual Bool_t IsYMeanDraw()
virtual void UpdatePressed()
virtual void UpdateEllipse()
virtual Bool_t IsYRMSDraw()
virtual void RefreshClicked()
virtual void EllipseRefreshBox_toggled(bool on)
static void ProduceFolderAndName(const char *fullname, TString &foldername, TString &objectname)
virtual void EllipseTheta_returnPressed()
virtual void EllipseA2_valueChanged(double r2)
virtual void SetChanged(Bool_t on=kTRUE)
virtual TH1 * GetPadHistogram(TPad *pad)
virtual void FillEllipseWidget(TGo4ShapedCond *elli)
virtual void EllipseCx_valueChanged(double x)
virtual Double_t GetMean(TH1 *, Int_t=1)
virtual Double_t GetYMax(TH1 *)
virtual void SetDrawLimits(bool on)
virtual void SetLabel(bool on)
virtual void PleaseUpdateSlot()
TGo4ServerProxy * DefineAnalysisObject(const char *itemname, TString &analysisname)
virtual void SetXMaxDraw(bool on)
virtual void NPointsSpin_valueChanged(int npoint)
TGo4Condition * At(Int_t i)
virtual void SetResultMode(int mode)
virtual void SetCurrentIndex(Int_t ix)
void SetBox(Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta=0)
const char * GetLinkedHistogram()
virtual void SetYMeanDraw(Bool_t on)
virtual void SetCondVisible(bool on)
virtual Int_t TrueCounts()
virtual void linkedObjectUpdated(const char *linkname, TObject *obj)
virtual TPad * GetActivePad()
void Resize(size_t newsize)
virtual Double_t GetXLow()
virtual Double_t GetXUp()
virtual void CutTable_contextMenuRequested(const QPoint &)
virtual void DropItem(const char *itemname, TClass *cl, int kind)
virtual TCanvas * GetCanvas()
virtual void SetLabelDraw(Bool_t on)
virtual void SaveCondition()
UInt_t GetNumValues() const
virtual void SetVisible(Bool_t on)
virtual void WorkWithCondition(const char *itemname)
virtual Double_t GetCMax(TH1 *)
virtual void Invert(Bool_t on)
virtual Double_t GetXMax(TH1 *)
virtual Double_t GetYLow()