TProofProgressMemoryPlot.h

Go to the documentation of this file.
00001 // @(#)root/sessionviewer:$Id: TProofProgressMemoryPlot.h 28564 2009-05-12 11:00:21Z ganis $
00002 // Author: Anna Kreshuk 18/07/2008
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TProofProgressMemoryPlot
00013 #define ROOT_TProofProgressMemoryPlot
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 // TProofProgressMemoryPlot                                             //
00018 //                                                                      //
00019 // This class implements a dialog, used to display the memory footprint //
00020 // on the proof workers and master. For the workers, memory is plotted  //
00021 // as a function of number of events processed. For the master, it is   //
00022 // plotted as a function of number of objects merged                    //
00023 //                                                                      //
00024 //////////////////////////////////////////////////////////////////////////
00025 
00026 #ifndef ROOT_TGFrame
00027 #include "TGFrame.h"
00028 #endif
00029 
00030 class TGListBox;
00031 class TGTextButton;
00032 class TRootEmbeddedCanvas;
00033 class TProofProgressDialog;
00034 class TGSplitButton;
00035 class TProofLog;
00036 class TMultiGraph;
00037 class TGraph;
00038 class TProofLogElem;
00039 
00040 class TProofProgressMemoryPlot : public TGTransientFrame {
00041 
00042  protected:
00043    TProofProgressDialog *fDialog;
00044    TGListBox            *fWorkers;
00045    TGTextButton         *fPlot;
00046    TGSplitButton        *fAllWorkers; // display all workers button
00047    TRootEmbeddedCanvas  *fWorkersPlot;
00048    TRootEmbeddedCanvas  *fMasterPlot;
00049    TProofLog            *fProofLog;
00050    TMultiGraph          *fWPlot;
00051    TMultiGraph          *fMPlot;
00052    TMultiGraph          *fAPlot;
00053    Bool_t               fFullLogs;
00054 
00055    TGListBox* BuildLogList(TGFrame *parent);
00056    TGraph*    DoWorkerPlot(TProofLogElem *ple);
00057    TGraph*    DoMasterPlot(TProofLogElem *ple);
00058    TGraph*    DoAveragePlot(Int_t &max_el, Int_t &min_el);
00059    TGraph*    DoAveragePlotOld(Int_t &max_el, Int_t &min_el);
00060 
00061    Int_t      ParseLine(TString l, Long64_t &v, Long64_t &r, Long64_t &e);
00062 
00063  public:
00064    TProofProgressMemoryPlot(TProofProgressDialog *d, Int_t w = 700, Int_t h = 300);
00065    virtual ~TProofProgressMemoryPlot();
00066 
00067    void       Clear(Option_t * = 0);
00068    void       DoPlot();
00069    void       Select(Int_t id);
00070 
00071    ClassDef(TProofProgressMemoryPlot,0) //PROOF progress memory plots
00072 };
00073 
00074 #endif

Generated on Tue Jul 5 14:22:29 2011 for ROOT_528-00b_version by  doxygen 1.5.1