#ifndef AliTPCCalibViewerGUItime_H
#define AliTPCCalibViewerGUItime_H
#ifndef ROOT_TGButton
#include "TGWidget.h"
#endif
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#include <TGComboBox.h>
#include <TString.h>
#include <TVectorT.h>
class TGCompositeFrame;
class TRootEmbeddedCanvas;
class TGTextButton;
class TGListBox;
class TGRadioButton;
class TGGroupFrame;
class TGLabel;
class TGTabElement;
class TGTextEntry;
class TFile;
class TTree;
class TChain;
class TGraph;
class TObjArray;
class TMap;
class AliTPCCalibViewerGUI;
class AliTPCConfigParser;
class AliTPCCalibViewerGUItime : public TGCompositeFrame {
public:
AliTPCCalibViewerGUItime(const TGWindow *p, UInt_t w, UInt_t h);
virtual ~AliTPCCalibViewerGUItime();
static TObjArray* ShowGUI(const char* fileName = 0, const char* treeName="dcs");
static TObjArray* ShowGUI(TChain* chain);
void DrawGUI(const TGWindow *, UInt_t w, UInt_t h);
void UseFile(const char* fileName, const char* treeName);
void UseChain(TChain *const chain);
void UseConfigFile(const char* file="");
void Reload(Int_t first=1);
void AddReferenceTree(const char* treeFileName, const char* refName="R");
void SetCalibViewerGUI(AliTPCCalibViewerGUI *const gui) {fCalibViewerGUI=gui;}
void SetCalibViewerGUItab(TGTabElement *const tab) {fCalibViewerGUItab=tab;}
void SetCacheDir(const char* cachedir) {fOutputCacheDir=cachedir;}
void SetConfigFileName(const char* file) {fConfigFile=file;}
const TString GetDrawString();
const TString GetDrawOptionString();
const char* GetCustomDrawString() const {return fComboCustomDraw->GetTextEntry()?fComboCustomDraw->GetTextEntry()->GetText():"";}
void GetCutString(TString &cutStr);
TChain* GetChain() const {return fTree;}
TGTextEntry* GetDrawEntry() {return fComboCustomDraw->GetTextEntry();}
TGTextEntry* GetCutsEntry() {return fComboCustomCuts->GetTextEntry();}
TGTextEntry* GetDrawOptEntry() {return fComboAddDrawOpt->GetTextEntry();}
void DoDraw();
void DoDumpRuns();
void DoCustomDraw();
void DoCustomCutsDraw();
void DoParLimitChange();
void DoNewSelection();
void DoChangeSelectionList() {Reload(0);}
void HandleButtonsDrawSel(Int_t id = -1);
void MouseMove(Int_t event, Int_t x, Int_t y, TObject *);
void DoNewSelectionAliases();
void DoAddAlias();
void DoDelAlias();
void UpdateAliasList();
TCanvas * GetCanvas(){ return fCanvMain->GetCanvas();}
private:
TFile* fFile;
TChain* fTree;
AliTPCCalibViewerGUI *fCalibViewerGUI;
TGTabElement *fCalibViewerGUItab;
TH1* fCurrentHist;
TGraph* fCurrentGraph;
Int_t fCurrentRunDetails;
TString fOutputCacheDir;
TString fDrawString;
TString fConfigFile;
AliTPCConfigParser *fConfigParser;
Bool_t fIsCustomDraw;
TVectorD fRunNumbers;
TVectorD fTimeStamps;
TVectorD fValuesX;
TVectorD fValuesY;
Bool_t fNoGraph;
Long64_t fGraphLimitEntries;
TMap *fMapRefTrees;
TGCompositeFrame *fContTopBottom;
TGCompositeFrame *fContLCR;
TGCompositeFrame *fContLeft;
TGGroupFrame *fContDrawOpt;
TGCheckButton *fChkDrawOptSame;
TGCheckButton *fChkDrawOptSparse;
TGComboBox *fComboAddDrawOpt;
TGGroupFrame *fContDrawSel;
TGCompositeFrame *fContDrawSelSubRunTime;
TGRadioButton *fRadioXhist;
TGRadioButton *fRadioXrun;
TGRadioButton *fRadioXtime;
TGListBox *fListVariables;
TGComboBox *fComboRunType;
TGLabel *fLblRunType;
TGNumberEntry *fNmbPar;
TGLabel *fLblPar;
TGListBox *fListCalibType;
TGGroupFrame *fContCalibType;
TGCompositeFrame *fContCenter;
TRootEmbeddedCanvas *fCanvMain;
TGCompositeFrame *fContRight;
TGGroupFrame *fContValues;
TGLabel *fLblRunNumber;
TGLabel *fLblRunTime;
TGLabel *fLblValueX;
TGLabel *fLblValueY;
TGLabel *fLblRunNumberVal;
TGLabel *fLblRunTimeVal;
TGLabel *fLblValueXVal;
TGLabel *fLblValueYVal;
TGTextButton *fBtnDumpRuns;
TGGroupFrame *fContAliases;
TGListBox *fListAliases;
TGCompositeFrame *fContCustom;
TGCompositeFrame *fContCustomCuts;
TGLabel *fLblCustomDraw;
TGLabel *fLblCustomCuts;
TGComboBox *fComboCustomDraw;
TGComboBox *fComboCustomCuts;
TObjArray *fTrashBox;
enum { kRadioXhist=10, kRadioXrun=11, kRadioXtime=12 };
enum { kBranchOnOff=0, kBranchTitle=1, kCalibType=2, kParamNames=3 };
void UpdateParLimits();
void UpdateParName();
void SetGuiTree(Int_t run);
void FillRunTypes();
void FillCalibTypes();
void SetInitialValues();
void CheckDrawGraph();
Bool_t CheckChain();
void UpdateValueArrays(Bool_t withGraph, const Double_t *xArr);
void SubstituteUnderscores(TString &s);
void GetHistogramTitle(TString &title);
void AdjustYRange();
private:
AliTPCCalibViewerGUItime(const AliTPCCalibViewerGUItime &v);
AliTPCCalibViewerGUItime &operator = (const AliTPCCalibViewerGUItime &v);
ClassDef(AliTPCCalibViewerGUItime, 0)
};
class AliTPCCalibViewerGUItimeAddAliasFrame : public TObject {
public:
AliTPCCalibViewerGUItimeAddAliasFrame(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h,
UInt_t options, AliTPCCalibViewerGUItime *gui, TString strAlias="");
virtual ~AliTPCCalibViewerGUItimeAddAliasFrame();
void DoOK();
void DoCancel();
private:
TGTransientFrame *fMain;
TGTextEntry *fTxt1, *fTxt2;
AliTPCCalibViewerGUItime *fGUI;
AliTPCCalibViewerGUItimeAddAliasFrame(const AliTPCCalibViewerGUItimeAddAliasFrame &r);
AliTPCCalibViewerGUItimeAddAliasFrame &operator = (const AliTPCCalibViewerGUItimeAddAliasFrame &r);
ClassDef(AliTPCCalibViewerGUItimeAddAliasFrame,0)
};
#endif
AliTPCCalibViewerGUItime.h:1 AliTPCCalibViewerGUItime.h:2 AliTPCCalibViewerGUItime.h:3 AliTPCCalibViewerGUItime.h:4 AliTPCCalibViewerGUItime.h:5 AliTPCCalibViewerGUItime.h:6 AliTPCCalibViewerGUItime.h:7 AliTPCCalibViewerGUItime.h:8 AliTPCCalibViewerGUItime.h:9 AliTPCCalibViewerGUItime.h:10 AliTPCCalibViewerGUItime.h:11 AliTPCCalibViewerGUItime.h:12 AliTPCCalibViewerGUItime.h:13 AliTPCCalibViewerGUItime.h:14 AliTPCCalibViewerGUItime.h:15 AliTPCCalibViewerGUItime.h:16 AliTPCCalibViewerGUItime.h:17 AliTPCCalibViewerGUItime.h:18 AliTPCCalibViewerGUItime.h:19 AliTPCCalibViewerGUItime.h:20 AliTPCCalibViewerGUItime.h:21 AliTPCCalibViewerGUItime.h:22 AliTPCCalibViewerGUItime.h:23 AliTPCCalibViewerGUItime.h:24 AliTPCCalibViewerGUItime.h:25 AliTPCCalibViewerGUItime.h:26 AliTPCCalibViewerGUItime.h:27 AliTPCCalibViewerGUItime.h:28 AliTPCCalibViewerGUItime.h:29 AliTPCCalibViewerGUItime.h:30 AliTPCCalibViewerGUItime.h:31 AliTPCCalibViewerGUItime.h:32 AliTPCCalibViewerGUItime.h:33 AliTPCCalibViewerGUItime.h:34 AliTPCCalibViewerGUItime.h:35 AliTPCCalibViewerGUItime.h:36 AliTPCCalibViewerGUItime.h:37 AliTPCCalibViewerGUItime.h:38 AliTPCCalibViewerGUItime.h:39 AliTPCCalibViewerGUItime.h:40 AliTPCCalibViewerGUItime.h:41 AliTPCCalibViewerGUItime.h:42 AliTPCCalibViewerGUItime.h:43 AliTPCCalibViewerGUItime.h:44 AliTPCCalibViewerGUItime.h:45 AliTPCCalibViewerGUItime.h:46 AliTPCCalibViewerGUItime.h:47 AliTPCCalibViewerGUItime.h:48 AliTPCCalibViewerGUItime.h:49 AliTPCCalibViewerGUItime.h:50 AliTPCCalibViewerGUItime.h:51 AliTPCCalibViewerGUItime.h:52 AliTPCCalibViewerGUItime.h:53 AliTPCCalibViewerGUItime.h:54 AliTPCCalibViewerGUItime.h:55 AliTPCCalibViewerGUItime.h:56 AliTPCCalibViewerGUItime.h:57 AliTPCCalibViewerGUItime.h:58 AliTPCCalibViewerGUItime.h:59 AliTPCCalibViewerGUItime.h:60 AliTPCCalibViewerGUItime.h:61 AliTPCCalibViewerGUItime.h:62 AliTPCCalibViewerGUItime.h:63 AliTPCCalibViewerGUItime.h:64 AliTPCCalibViewerGUItime.h:65 AliTPCCalibViewerGUItime.h:66 AliTPCCalibViewerGUItime.h:67 AliTPCCalibViewerGUItime.h:68 AliTPCCalibViewerGUItime.h:69 AliTPCCalibViewerGUItime.h:70 AliTPCCalibViewerGUItime.h:71 AliTPCCalibViewerGUItime.h:72 AliTPCCalibViewerGUItime.h:73 AliTPCCalibViewerGUItime.h:74 AliTPCCalibViewerGUItime.h:75 AliTPCCalibViewerGUItime.h:76 AliTPCCalibViewerGUItime.h:77 AliTPCCalibViewerGUItime.h:78 AliTPCCalibViewerGUItime.h:79 AliTPCCalibViewerGUItime.h:80 AliTPCCalibViewerGUItime.h:81 AliTPCCalibViewerGUItime.h:82 AliTPCCalibViewerGUItime.h:83 AliTPCCalibViewerGUItime.h:84 AliTPCCalibViewerGUItime.h:85 AliTPCCalibViewerGUItime.h:86 AliTPCCalibViewerGUItime.h:87 AliTPCCalibViewerGUItime.h:88 AliTPCCalibViewerGUItime.h:89 AliTPCCalibViewerGUItime.h:90 AliTPCCalibViewerGUItime.h:91 AliTPCCalibViewerGUItime.h:92 AliTPCCalibViewerGUItime.h:93 AliTPCCalibViewerGUItime.h:94 AliTPCCalibViewerGUItime.h:95 AliTPCCalibViewerGUItime.h:96 AliTPCCalibViewerGUItime.h:97 AliTPCCalibViewerGUItime.h:98 AliTPCCalibViewerGUItime.h:99 AliTPCCalibViewerGUItime.h:100 AliTPCCalibViewerGUItime.h:101 AliTPCCalibViewerGUItime.h:102 AliTPCCalibViewerGUItime.h:103 AliTPCCalibViewerGUItime.h:104 AliTPCCalibViewerGUItime.h:105 AliTPCCalibViewerGUItime.h:106 AliTPCCalibViewerGUItime.h:107 AliTPCCalibViewerGUItime.h:108 AliTPCCalibViewerGUItime.h:109 AliTPCCalibViewerGUItime.h:110 AliTPCCalibViewerGUItime.h:111 AliTPCCalibViewerGUItime.h:112 AliTPCCalibViewerGUItime.h:113 AliTPCCalibViewerGUItime.h:114 AliTPCCalibViewerGUItime.h:115 AliTPCCalibViewerGUItime.h:116 AliTPCCalibViewerGUItime.h:117 AliTPCCalibViewerGUItime.h:118 AliTPCCalibViewerGUItime.h:119 AliTPCCalibViewerGUItime.h:120 AliTPCCalibViewerGUItime.h:121 AliTPCCalibViewerGUItime.h:122 AliTPCCalibViewerGUItime.h:123 AliTPCCalibViewerGUItime.h:124 AliTPCCalibViewerGUItime.h:125 AliTPCCalibViewerGUItime.h:126 AliTPCCalibViewerGUItime.h:127 AliTPCCalibViewerGUItime.h:128 AliTPCCalibViewerGUItime.h:129 AliTPCCalibViewerGUItime.h:130 AliTPCCalibViewerGUItime.h:131 AliTPCCalibViewerGUItime.h:132 AliTPCCalibViewerGUItime.h:133 AliTPCCalibViewerGUItime.h:134 AliTPCCalibViewerGUItime.h:135 AliTPCCalibViewerGUItime.h:136 AliTPCCalibViewerGUItime.h:137 AliTPCCalibViewerGUItime.h:138 AliTPCCalibViewerGUItime.h:139 AliTPCCalibViewerGUItime.h:140 AliTPCCalibViewerGUItime.h:141 AliTPCCalibViewerGUItime.h:142 AliTPCCalibViewerGUItime.h:143 AliTPCCalibViewerGUItime.h:144 AliTPCCalibViewerGUItime.h:145 AliTPCCalibViewerGUItime.h:146 AliTPCCalibViewerGUItime.h:147 AliTPCCalibViewerGUItime.h:148 AliTPCCalibViewerGUItime.h:149 AliTPCCalibViewerGUItime.h:150 AliTPCCalibViewerGUItime.h:151 AliTPCCalibViewerGUItime.h:152 AliTPCCalibViewerGUItime.h:153 AliTPCCalibViewerGUItime.h:154 AliTPCCalibViewerGUItime.h:155 AliTPCCalibViewerGUItime.h:156 AliTPCCalibViewerGUItime.h:157 AliTPCCalibViewerGUItime.h:158 AliTPCCalibViewerGUItime.h:159 AliTPCCalibViewerGUItime.h:160 AliTPCCalibViewerGUItime.h:161 AliTPCCalibViewerGUItime.h:162 AliTPCCalibViewerGUItime.h:163 AliTPCCalibViewerGUItime.h:164 AliTPCCalibViewerGUItime.h:165 AliTPCCalibViewerGUItime.h:166 AliTPCCalibViewerGUItime.h:167 AliTPCCalibViewerGUItime.h:168 AliTPCCalibViewerGUItime.h:169 AliTPCCalibViewerGUItime.h:170 AliTPCCalibViewerGUItime.h:171 AliTPCCalibViewerGUItime.h:172 AliTPCCalibViewerGUItime.h:173 AliTPCCalibViewerGUItime.h:174 AliTPCCalibViewerGUItime.h:175 AliTPCCalibViewerGUItime.h:176 AliTPCCalibViewerGUItime.h:177 AliTPCCalibViewerGUItime.h:178 AliTPCCalibViewerGUItime.h:179 AliTPCCalibViewerGUItime.h:180 AliTPCCalibViewerGUItime.h:181 AliTPCCalibViewerGUItime.h:182 AliTPCCalibViewerGUItime.h:183 AliTPCCalibViewerGUItime.h:184 AliTPCCalibViewerGUItime.h:185 AliTPCCalibViewerGUItime.h:186 AliTPCCalibViewerGUItime.h:187 AliTPCCalibViewerGUItime.h:188 AliTPCCalibViewerGUItime.h:189 AliTPCCalibViewerGUItime.h:190 AliTPCCalibViewerGUItime.h:191 AliTPCCalibViewerGUItime.h:192 AliTPCCalibViewerGUItime.h:193 AliTPCCalibViewerGUItime.h:194 AliTPCCalibViewerGUItime.h:195 AliTPCCalibViewerGUItime.h:196 AliTPCCalibViewerGUItime.h:197 AliTPCCalibViewerGUItime.h:198 AliTPCCalibViewerGUItime.h:199 AliTPCCalibViewerGUItime.h:200 AliTPCCalibViewerGUItime.h:201 AliTPCCalibViewerGUItime.h:202 AliTPCCalibViewerGUItime.h:203 AliTPCCalibViewerGUItime.h:204 AliTPCCalibViewerGUItime.h:205 AliTPCCalibViewerGUItime.h:206 AliTPCCalibViewerGUItime.h:207 AliTPCCalibViewerGUItime.h:208 AliTPCCalibViewerGUItime.h:209 AliTPCCalibViewerGUItime.h:210 AliTPCCalibViewerGUItime.h:211 AliTPCCalibViewerGUItime.h:212 AliTPCCalibViewerGUItime.h:213 AliTPCCalibViewerGUItime.h:214 AliTPCCalibViewerGUItime.h:215 AliTPCCalibViewerGUItime.h:216 AliTPCCalibViewerGUItime.h:217 AliTPCCalibViewerGUItime.h:218 AliTPCCalibViewerGUItime.h:219 AliTPCCalibViewerGUItime.h:220 AliTPCCalibViewerGUItime.h:221 AliTPCCalibViewerGUItime.h:222