#ifndef ROOT_TParallelCoord
#define ROOT_TParallelCoord
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TTree;
class TPaveText;
class TEntryList;
class TParallelCoordSelect;
class TParallelCoordVar;
class TParallelCoordRange;
class TList;
class TGaxis;
class TSelectorDraw;
class TParallelCoord : public TNamed {
public:
   enum {
      kVertDisplay      =BIT(14),      
      kCurveDisplay     =BIT(15),      
      kPaintEntries     =BIT(16),      
      kLiveUpdate       =BIT(17),      
      kGlobalScale      =BIT(19),      
      kCandleChart      =BIT(20),      
      kGlobalLogScale   =BIT(21)       
   };
private:
   UInt_t          fNvar;              
   Long64_t        fCurrentFirst;      
   Long64_t        fCurrentN;          
   Long64_t        fNentries;          
   Int_t           fDotsSpacing;       
   Color_t         fLineColor;         
   Width_t         fLineWidth;         
   Int_t           fWeightCut;         
   TEntryList     *fCurrentEntries;    
   TEntryList     *fInitEntries;       
   TTree          *fTree;              
   TString         fTreeName;          
   TString         fTreeFileName;      
   TList          *fVarList;           
   TList          *fSelectList;        
   TParallelCoordSelect* fCurrentSelection; 
   TGaxis         *fCandleAxis;        
   void            Init();
   void            PaintEntries(TParallelCoordSelect* sel=NULL);
   void            SetAxesPosition();
public:
   TParallelCoord();
   TParallelCoord(Long64_t nentries);
   TParallelCoord(TTree* tree, Long64_t nentries);
   ~TParallelCoord();
   void           AddVariable(Double_t* val, const char* title="");
   void           AddVariable(const char* varexp);
   void           AddSelection(const char* title);
   void           ApplySelectionToTree(); 
   static void    BuildParallelCoord(TSelectorDraw* selector, Bool_t candle);
   void           CleanUpSelections(TParallelCoordRange* range);
   void           RemoveVariable(TParallelCoordVar* var);
   TParallelCoordVar* RemoveVariable(const char* var);
   void           DeleteSelection(TParallelCoordSelect* sel);
   virtual Int_t  DistancetoPrimitive(Int_t px, Int_t py);
   virtual void   Draw(Option_t* options="");
   virtual void   ExecuteEvent(Int_t entry, Int_t px, Int_t py);
   Bool_t         GetCandleChart() {return TestBit(kCandleChart);}
   Long64_t       GetCurrentFirst() {return fCurrentFirst;}
   Long64_t       GetCurrentN() {return fCurrentN;}
   TParallelCoordSelect* GetCurrentSelection();
   Bool_t         GetCurveDisplay() const {return TestBit(kCurveDisplay);}
   Int_t          GetDotsSpacing() const {return fDotsSpacing;}
   TEntryList    *GetEntryList(Bool_t sel=kTRUE);
   Double_t       GetGlobalMin();
   Double_t       GetGlobalMax();
   Bool_t         GetGlobalScale() {return TestBit(kGlobalScale);}
   Bool_t         GetGlobalLogScale() {return TestBit(kGlobalLogScale);}
   Color_t        GetLineColor() {return fLineColor;}
   Width_t        GetLineWidth() {return fLineWidth;}
   Int_t          GetNbins();
   UInt_t         GetNvar() {return fNvar;}
   Long64_t       GetNentries() {return fNentries;}
   TList         *GetSelectList() {return fSelectList;}
   TParallelCoordSelect* GetSelection(const char* title);
   TTree         *GetTree();
   Double_t      *GetVariable(const char* var);
   Double_t      *GetVariable(Int_t i);
   TList         *GetVarList() {return fVarList;}
   Bool_t         GetVertDisplay() const {return TestBit(kVertDisplay);}
   Int_t          GetWeightCut() const {return fWeightCut;};
   virtual void   Paint(Option_t* options="");
   void           ResetTree();
   void           SaveEntryLists(const char* filename="", Bool_t overwrite=kFALSE); 
   void           SavePrimitive(ostream & out,Option_t *options);
   void           SaveTree(const char* filename="", Bool_t overwrite=kFALSE); 
   void           SetAxisHistogramBinning(Int_t n=100); 
   void           SetAxisHistogramHeight(Double_t h=0.5); 
   void           SetAxisHistogramLineWidth(Int_t lw=2); 
   void           SetCandleChart(Bool_t can); 
   virtual void   SetCurveDisplay(Bool_t curve=1) {SetBit(kCurveDisplay,curve);} 
   void           SetCurrentEntries(TEntryList* entries) {fCurrentEntries = entries;}
   void           SetCurrentFirst(Long64_t);
   void           SetCurrentN(Long64_t);
   TParallelCoordSelect* SetCurrentSelection(const char* title);
   void           SetCurrentSelection(TParallelCoordSelect* sel);
   void           SetDotsSpacing(Int_t s=0); 
   static void    SetEntryList(TParallelCoord* para, TEntryList* enlist);
   void           SetGlobalScale(Bool_t gl); 
   void           SetGlobalLogScale(Bool_t); 
   void           SetGlobalMin(Double_t min);
   void           SetGlobalMax(Double_t max);
   void           SetInitEntries(TEntryList* entries) {fInitEntries = entries;}
   void           SetLineColor(Color_t col) {fLineColor = col;}
   void           SetLineWidth(Width_t wid) {fLineWidth = wid;}
   void           SetLiveRangesUpdate(Bool_t);
   void           SetNentries(Long64_t n) {fNentries = n;}
   void           SetTree(TTree* tree) {fTree = tree;}
   void           SetVertDisplay(Bool_t vert=kTRUE); 
   void           SetWeightCut(Int_t w=0) {fWeightCut = w;} 
   void           UnzoomAll(); 
   ClassDef(TParallelCoord,1); 
};
#endif
Last change: Tue May 13 17:22:32 2008
Last generated: 2008-05-13 17:22
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.