17 #include "TObjArray.h" 66 condarr =
new TObjArray(elements);
68 for(Int_t i = 0; i < elements; i++)
72 condarr =
new TObjArray(elements);
74 for(Int_t i = 0; i < elements; i++)
88 if(strcmp(type,
"TGo4WinCond") == 0) {
89 condarr =
new TObjArray(elements);
91 for(Int_t i = 0; i < elements; i++)
94 if(strcmp(type,
"TGo4PolyCond") == 0) {
95 condarr =
new TObjArray(elements);
97 for(Int_t i = 0; i < elements; i++)
127 Int_t ii =
condarr->GetLast() + 1;
128 for (Int_t i = 0; i < ii; i++) {
131 Bool_t result = cond->
Test(x, y);
139 rev = conny->
Test(x, y);
149 Int_t ii =
condarr->GetLast() + 1;
150 for (Int_t i = 0; i < ii; i++) {
153 Bool_t result = cond->
Test(x);
161 rev = conny->
Test(x);
170 Int_t ii =
condarr->GetLast()+1;
172 std::cout << GetName() <<
" has " << ii <<
" " << cond->ClassName() <<
" conditions" << std::endl;
173 for(Int_t i = 0; i < ii; i++) {
182 Int_t ii =
condarr->GetLast()+1;
183 std::cout <<
"-"<<ClassName()<<
" "<<GetName()<<
" Printout:" << std::endl;
185 for(Int_t i = 0; i < ii; i++)
188 TROOT::IndentLevel();
210 return cond->ClassName();
223 Int_t ii =
condarr->GetLast() + 1;
224 for (Int_t i = 0; i < ii; i++) {
239 Int_t ii =
condarr->GetLast() + 1;
240 for (Int_t i = 0; i < ii; i++) {
255 Int_t ii =
condarr->GetLast() + 1;
256 for (Int_t i = 0; i < ii; i++) {
271 Int_t ii =
condarr->GetLast() + 1;
272 for (Int_t i = 0; i < ii; i++) {
287 Int_t ii =
condarr->GetLast() + 1;
288 for (Int_t i = 0; i < ii; i++) {
290 cond->
GetFlags(enabled, lastresult, markreset, result, truevalue, falsevalue);
295 conny->
GetFlags(enabled, lastresult, markreset, result, truevalue, falsevalue);
304 Int_t ii =
condarr->GetLast() + 1;
305 for (Int_t i = 0; i < ii; i++) {
399 Int_t ii =
condarr->GetLast() + 1;
400 for (Int_t i = 0; i < ii; i++) {
416 Int_t ii =
condarr->GetLast() + 1;
417 for (Int_t i = 0; i < ii; i++) {
434 Int_t ii =
condarr->GetLast() + 1;
435 for (Int_t i = 0; i < ii; i++) {
454 if (cond->InheritsFrom(TGo4CondArray::Class())) {
455 Int_t dii =
condarr->GetLast() + 1;
458 Bool_t result = kTRUE;
461 for (Int_t i = 0; i < dii; i++) {
464 result = result && (dcond->
UpdateFrom(scond, counts));
480 Int_t ii =
condarr->GetLast() + 1;
481 for (Int_t i = 0; i < ii; i++) {
511 Int_t ii =
condarr->GetLast() + 1;
512 for (Int_t i = 0; i < ii; i++) {
542 Int_t ii =
condarr->GetLast() + 1;
543 for (Int_t i = 0; i < ii; i++) {
573 Int_t ii =
condarr->GetLast() + 1;
574 for (Int_t i = 0; i < ii; i++) {
604 Int_t ii =
condarr->GetLast() + 1;
605 for (Int_t i = 0; i < ii; i++) {
635 Int_t ii =
condarr->GetLast() + 1;
636 for (Int_t i = 0; i < ii; i++) {
666 Int_t ii =
condarr->GetLast() + 1;
667 for (Int_t i = 0; i < ii; i++) {
697 Int_t ii =
condarr->GetLast() + 1;
698 for (Int_t i = 0; i < ii; i++) {
728 Int_t ii =
condarr->GetLast() + 1;
729 for (Int_t i = 0; i < ii; i++) {
759 Int_t ii =
condarr->GetLast() + 1;
760 for (Int_t i = 0; i < ii; i++) {
790 Int_t ii =
condarr->GetLast() + 1;
791 for (Int_t i = 0; i < ii; i++) {
822 Int_t ii =
condarr->GetLast() + 1;
823 for (Int_t i = 0; i < ii; i++) {
841 Int_t ii =
condarr->GetLast() + 1;
843 for (Int_t i = 0; i < ii; i++) {
845 sum += cond->
GetMean(histo, axis);
851 rev = conny->
GetMean(histo, axis);
865 rev = conny->
GetRMS(histo, axis);
932 Int_t ii =
condarr->GetLast() + 1;
933 for (Int_t i = 0; i < ii; i++) {
935 Double_t lmax = cond->
GetCMax(histo);
959 for (Int_t i = 0; i <=
condarr->GetLast(); i++) {
969 for (Int_t i = 0; i <=
condarr->GetLast(); i++) {
1011 if (strstr(opt,
"sel=") == opt)
1012 selid = atoi(opt + 4);
1013 for (Int_t i = 0; i <
GetNumber(); ++i) {
1015 bool selected = (selid < 0) || (selid == i);
1026 if (painter->InheritsFrom(TGo4CondArrayPainter::Class())) {
1031 TGo4Log::Warn(
"Could not set painter of class %s for TGo4CondArray %s", painter->ClassName(), GetName());
1046 Int_t size =
sizeof(*this);
1048 size += strlen(GetName());
1050 size += strlen(GetTitle());
1053 size +=
sizeof(*condarr) +
condarr->GetEntriesFast() *
sizeof(TObject *);
1068 TString extraargs = TString::Format(
", %d, \"%s\"",
GetNumber(),
GetType());
1069 TString varname =
MakeScript(out, TString::Format(
"condarr%d", cnt++).Data(), opt, extraargs.Data());
1072 TString options = opt;
1073 const char *subname = strstr(opt,
"name:");
1075 options.Resize(subname - opt);
1078 TString subopt = options + TString::Format(
" nocreate name:%s->At(%d)", varname.Data(), n);
1079 At(n)->SavePrimitive(out, subopt.Data());
TGo4ConditionPainter * CreatePainter() override
Int_t GetNumberOfConditions() const override
virtual Bool_t IsLabelDraw() const
void SetYMaxDraw(Bool_t on) override
Bool_t IsCMaxDraw() const override
void SavePrimitive(std::ostream &fs, Option_t *opt="") override
Bool_t IsXMaxDraw() const override
void ResetCounts() override
virtual void SetIntDraw(Bool_t on)
void Disable(Bool_t result) override
virtual Bool_t IsYMeanDraw() const
virtual Double_t GetRMS(TH1 *, Int_t=1)
TGo4WinCond * Win(Int_t i) const
Bool_t IsXMeanDraw() const override
void Draw(Option_t *opt="") override
void SetLabelDraw(Bool_t on) override
virtual void SetYMaxDraw(Bool_t on)
virtual Bool_t UpdateFrom(TGo4Condition *cond, Bool_t counts)
virtual Double_t GetCurtosis(TH1 *, Int_t=1)
Bool_t IsPolygonType() const override
virtual void SetCMaxDraw(Bool_t on)
virtual Double_t GetYLow() const
Bool_t IsXRMSDraw() const override
Double_t GetCurtosis(TH1 *histo, Int_t axis=1) override
virtual Bool_t IsXMeanDraw() const
virtual Bool_t IsYRMSDraw() const
virtual Bool_t IsCMaxDraw() const
virtual void PrintCondition(Bool_t full=kTRUE)
void MarkReset(Bool_t on) override
virtual void SetYRMSDraw(Bool_t on)
void SetXMeanDraw(Bool_t on) override
Double_t GetXMax(TH1 *histo) override
Bool_t IsIntDraw() const override
Double_t GetCMax(TH1 *histo) override
virtual Double_t GetYUp() const
const char * GetType() const
Double_t GetYUp() const override
Double_t GetRMS(TH1 *histo, Int_t axis=1) override
static void CleanupSpecials()
virtual void SetXMeanDraw(Bool_t on)
virtual Double_t GetIntegral(TH1 *, Option_t *="")
const char * MakeScript(std::ostream &out, const char *varname, Option_t *opt="", const char *arrextraargs=nullptr)
Int_t IsChanged() const override
Double_t GetSkewness(TH1 *histo, Int_t axis=1) override
void SetCMaxDraw(Bool_t on) override
virtual void ResetCounts()
const TGo4Condition * GetActiveCondition() const override
virtual Double_t GetSkewness(TH1 *, Int_t=1)
Int_t GetCurrentIndex() const override
void Invert(Bool_t on) override
Bool_t IsYRMSDraw() const override
Bool_t UpdateFrom(TGo4Condition *cond, Bool_t counts) override
void SetPainted(Bool_t on)
void SetCurrentIndex(Int_t ix) override
Int_t TrueCounts() override
void SetPainter(TGo4ConditionPainter *painter) override
virtual Bool_t IsIntDraw() const
TGo4Condition * operator[](Int_t i) const
Double_t GetXLow() const override
virtual void SetXMaxDraw(Bool_t on)
virtual Bool_t IsPolygonType() const
virtual Bool_t IsXRMSDraw() const
Bool_t IsYMeanDraw() const override
virtual Bool_t IsYMaxDraw() const
virtual Int_t GetMemorySize() const
void SetChanged(Bool_t on=kTRUE) override
Bool_t IsVisible() const override
void SetXMaxDraw(Bool_t on) override
virtual void Disable(Bool_t result)
Bool_t IsLimitsDraw() const override
Double_t GetIntegral(TH1 *histo, Option_t *opt="") override
virtual Double_t GetXLow() const
virtual Double_t GetXUp() const
virtual void SetCondition(TGo4Condition *con)
void SetYMeanDraw(Bool_t on) override
Double_t GetXUp() const override
virtual void SetXRMSDraw(Bool_t on)
virtual void SetLimitsDraw(Bool_t on)
void SetLimitsDraw(Bool_t on) override
void GetFlags(Bool_t *enabled, Bool_t *lastresult, Bool_t *markreset, Bool_t *result, Bool_t *truevalue, Bool_t *falsevalue) override
virtual void GetFlags(Bool_t *enabled, Bool_t *lastresult, Bool_t *markreset, Bool_t *result, Bool_t *truevalue, Bool_t *falsevalue)
TGo4PolyCond * Poly(Int_t i) const
virtual void MarkReset(Bool_t on)
virtual void SetChanged(Bool_t on=kTRUE)
Double_t GetYLow() const override
void SetIntDraw(Bool_t on) override
TGo4ConditionPainter * fxPainter
virtual Int_t IsChanged() const
virtual Bool_t IsLimitsDraw() const
void SetXRMSDraw(Bool_t on) override
virtual Double_t GetMean(TH1 *, Int_t=1)
virtual Double_t GetYMax(TH1 *)
void SetVisible(Bool_t on) override
void Draw(Option_t *opt="") override
virtual Bool_t IsMultiEdit() const
virtual Bool_t IsXMaxDraw() const
virtual void SetYMeanDraw(Bool_t on)
void SetYRMSDraw(Bool_t on) override
Bool_t IsLabelDraw() const override
Double_t GetYMax(TH1 *histo) override
TGo4Condition * At(Int_t i) const
virtual void SetLabelDraw(Bool_t on)
static void Warn(const char *text,...) GO4_PRINTF_ARGS
Double_t GetMean(TH1 *histo, Int_t axis=1) override
virtual void SetVisible(Bool_t on)
virtual Double_t GetCMax(TH1 *)
Bool_t IsYMaxDraw() const override
virtual void Invert(Bool_t on)
Int_t GetMemorySize() const override
virtual Double_t GetXMax(TH1 *)
virtual Bool_t IsVisible() const
void PrintCondition(Bool_t points) override