Warning, file /include/root/TParallelCoordVar.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TParallelCoordVar
0013 #define ROOT_TParallelCoordVar
0014
0015 #include "TNamed.h"
0016 #include "TAttLine.h"
0017 #include "TAttFill.h"
0018
0019 class TParallelCoord;
0020 class TParallelCoordSelect;
0021 class TParallelCoordRange;
0022 class TH1F;
0023
0024 class TParallelCoordVar : public TNamed, public TAttLine, public TAttFill {
0025 public:
0026 enum EStatusBits {
0027 kLogScale = BIT(14),
0028 kShowBox = BIT(15),
0029 kShowBarHisto = BIT(16)
0030 };
0031 private:
0032 Int_t fNbins;
0033 Int_t fHistoLW;
0034 Int_t fId;
0035 Long64_t fNentries;
0036 Double_t fX1;
0037 Double_t fX2;
0038 Double_t fY1;
0039 Double_t fY2;
0040 Double_t fMinInit;
0041 Double_t fMaxInit;
0042 Double_t fMean;
0043 Double_t fMinCurrent;
0044 Double_t fMaxCurrent;
0045 Double_t fMed;
0046 Double_t fQua1;
0047 Double_t fQua3;
0048 Double_t fHistoHeight;
0049 Double_t *fVal;
0050 TList *fRanges;
0051 TParallelCoord *fParallel;
0052 TH1F *fHistogram;
0053
0054 public:
0055 TParallelCoordVar();
0056 TParallelCoordVar(Double_t *val, const char* title,Int_t id, TParallelCoord* gram);
0057 ~TParallelCoordVar() override;
0058
0059 void AddRange(TParallelCoordRange* range);
0060 void AddRange() {AddRange(nullptr);}
0061 void DeleteVariable();
0062 Int_t DistancetoPrimitive(Int_t px, Int_t py) override;
0063 void Draw(Option_t *option="") override;
0064 bool Eval(Long64_t evtidx, TParallelCoordSelect *select);
0065 void ExecuteEvent(Int_t entry, Int_t px, Int_t py) override;
0066 bool GetBarHisto() {return TestBit(kShowBarHisto);}
0067 bool GetBoxPlot() {return TestBit(kShowBox);}
0068 TH1F *GetHistogram();
0069 Int_t GetId() {return fId;}
0070 bool GetLogScale() const {return TestBit (kLogScale);}
0071 Int_t GetHistBinning() const {return fNbins;}
0072 Double_t GetCurrentMin() const {return fMinCurrent;}
0073 Double_t GetCurrentMax() const {return fMaxCurrent;}
0074 Double_t GetCurrentAverage() const {return fMean;}
0075 void GetEntryXY(Long64_t n, Double_t & x, Double_t & y);
0076 Int_t GetEntryWeight(Long64_t evtidx);
0077 Double_t GetHistHeight() {return fHistoHeight;}
0078 Int_t GetHistLineWidth() {return fHistoLW;}
0079 void GetMinMaxMean();
0080 void GetQuantiles();
0081 Double_t GetX() {return fX1;}
0082 Double_t GetY() {return fY1;}
0083 Int_t GetNbins() {return fNbins;}
0084 Long64_t GetNentries() const {return fNentries;}
0085 char *GetObjectInfo(Int_t px, Int_t py) const override;
0086 TParallelCoord* GetParallel() {return fParallel;}
0087 TList *GetRanges() {return fRanges;}
0088 Double_t *GetValues() {return fVal;}
0089 Double_t GetValuefromXY(Double_t x,Double_t y);
0090 bool GetVert() {return fX1 == fX2;}
0091 void GetXYfromValue(Double_t value, Double_t & x, Double_t & y);
0092 void Init();
0093 void Paint(Option_t* option="") override;
0094 void PaintBoxPlot();
0095 void PaintHistogram();
0096 void PaintLabels();
0097 void Print(Option_t* option="") const override;
0098 void SavePrimitive(std::ostream & out, Option_t *options) override;
0099 void SetBoxPlot(bool box);
0100 void SetBarHisto(bool h) {SetBit(kShowBarHisto,h);}
0101 void SetHistogramLineWidth(Int_t lw=2) {fHistoLW = lw;}
0102 void SetHistogramHeight(Double_t h=0);
0103 void SetHistogramBinning(Int_t n=100);
0104 void SetCurrentLimits(Double_t min, Double_t max);
0105 void SetCurrentMin(Double_t min);
0106 void SetCurrentMax(Double_t max);
0107 void SetInitMin(Double_t min) {fMinInit = min;}
0108 void SetInitMax(Double_t max) {fMaxInit = max;}
0109 void SetLiveRangesUpdate(bool on);
0110 void SetLogScale(bool log);
0111 void SetTitle(const char* ) override {}
0112 void SetValues(Long64_t length, Double_t* val);
0113 void SetX(Double_t x, bool gl);
0114 void SetY(Double_t y, bool gl);
0115 void Unzoom() {SetCurrentLimits(fMinInit,fMaxInit);}
0116
0117 ClassDefOverride(TParallelCoordVar,1);
0118 };
0119
0120 #endif