Logo ROOT   6.12/07
Reference Guide
TTVSession.h
Go to the documentation of this file.
1 // @(#)root/treeviewer:$Id$
2 //Author : Andrei Gheata 21/02/01
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TTVSession
13 #define ROOT_TTVSession
14 
15 ///////////////////////////////////////////////////////////////////////////////
16 // //
17 // TTVSession and TTVRecord - I/O classes for TreeViewer session handling //
18 // TTreeViewer //
19 // //
20 ///////////////////////////////////////////////////////////////////////////////
21 
22 #include "TGFrame.h"
23 
24 class TTreeViewer;
25 class TClonesArray;
26 class TGVButtonGroup;
27 
28 class TTVRecord : public TObject {
29 
30 public:
31  TString fName; // name of this record
32  TString fX, fXAlias; // X expression and alias
33  TString fY, fYAlias; // Y expression and alias
34  TString fZ, fZAlias; // Z expression and alias
35  TString fCut, fCutAlias; // cut expression and alias
36  TString fOption; // graphic option
37  Bool_t fScanRedirected; // redirect switch
38  Bool_t fCutEnabled; // true if current cut is active
39  TString fUserCode; // command executed when record is conected
40  Bool_t fAutoexec; // autoexecute user code command
41 public:
42  TTVRecord(); // default constructor
43  ~TTVRecord() {} // destructor
44 
45  void ExecuteUserCode();
46  void FormFrom(TTreeViewer *tv);
47  void PlugIn(TTreeViewer *tv);
48  const char *GetX() const {return fX;}
49  const char *GetY() const {return fY;}
50  const char *GetZ() const {return fZ;}
51  virtual const char *GetName() const {return fName;}
52  const char *GetUserCode() const {return fUserCode;}
53  Bool_t HasUserCode() const {return fUserCode.Length() != 0 ? kTRUE : kFALSE;}
54  Bool_t MustExecuteCode() const {return fAutoexec;}
55  void SetAutoexec(Bool_t autoexec=kTRUE) {fAutoexec=autoexec;} // *TOGGLE* *GETTER=MustExecuteCode
56  void SetName(const char* name = "") {fName = name;}
57  void SetX(const char *x = "", const char *xal = "-empty-") {fX = x; fXAlias = xal;}
58  void SetY(const char *y = "", const char *yal = "-empty-") {fY = y; fYAlias = yal;}
59  void SetZ(const char *z = "", const char *zal = "-empty-") {fZ = z; fZAlias = zal;}
60  void SetCut(const char *cut = "", const char *cal = "-empty-") {fCut = cut; fCutAlias = cal;}
61  void SetOption(const char *option = "") {fOption = option;}
62  void SetRC(Bool_t redirect = kFALSE, Bool_t cut = kTRUE) {fScanRedirected = redirect; fCutEnabled = cut;}
63  void SetUserCode(const char *code, Bool_t autoexec=kTRUE) {fUserCode = code; fAutoexec=autoexec;} // *MENU*
64  void SaveSource(std::ofstream &out);
65 
66  ClassDef(TTVRecord, 0) // A draw record for TTreeViewer
67 };
68 
69 class TTVSession : public TObject {
70 
71 private:
72  TClonesArray *fList; // list of TV records
73  TString fName; // name of this session
74  TTreeViewer *fViewer; // associated tree viewer
75  Int_t fCurrent; // index of current record
76  Int_t fRecords; // number of records
77 
78 public:
80  ~TTVSession();
81  virtual const char *GetName() const {return fName;}
82  void SetName(const char *name) {fName = name;}
83  void SetRecordName(const char* name);
84  TTVRecord *AddRecord(Bool_t fromFile = kFALSE);
85  Int_t GetEntries() {return fRecords;}
86  TTVRecord *GetCurrent() {return GetRecord(fCurrent);}
87  TTVRecord *GetRecord(Int_t i);
88  TTVRecord *First() {return GetRecord(0);}
89  TTVRecord *Last() {return GetRecord(fRecords-1);}
90  TTVRecord *Next() {return GetRecord(fCurrent+1);}
91  TTVRecord *Previous() {return GetRecord(fCurrent-1);}
92 
93  void RemoveLastRecord();
94  void Show(TTVRecord *rec);
95  void SaveSource(std::ofstream &out);
96  void UpdateRecord(const char *name);
97 
98  ClassDef(TTVSession, 0) // A tree viewer session
99 };
100 
101 #endif
TTVRecord * First()
Definition: TTVSession.h:88
virtual const char * GetName() const
Returns name of object.
Definition: TTVSession.h:81
TString fX
Definition: TTVSession.h:32
TTVRecord * Previous()
Definition: TTVSession.h:91
TTVRecord()
TTVRecord default constructor.
Definition: TTVSession.cxx:30
TString fYAlias
Definition: TTVSession.h:33
Bool_t fScanRedirected
Definition: TTVSession.h:37
Basic string class.
Definition: TString.h:125
const char * GetZ() const
Definition: TTVSession.h:50
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TString fOption
Definition: TTVSession.h:36
Int_t fRecords
Definition: TTVSession.h:76
void SetCut(const char *cut="", const char *cal="-empty-")
Definition: TTVSession.h:60
TString fY
Definition: TTVSession.h:33
Int_t GetEntries()
Definition: TTVSession.h:85
const char * GetX() const
Definition: TTVSession.h:48
TTVRecord * Last()
Definition: TTVSession.h:89
TString fXAlias
Definition: TTVSession.h:32
Double_t x[n]
Definition: legend1.C:17
#define ClassDef(name, id)
Definition: Rtypes.h:320
void SetUserCode(const char *code, Bool_t autoexec=kTRUE)
Definition: TTVSession.h:63
void SetOption(const char *option="")
Definition: TTVSession.h:61
TString fCutAlias
Definition: TTVSession.h:35
virtual const char * GetName() const
Returns name of object.
Definition: TTVSession.h:51
A graphic user interface designed to handle ROOT trees and to take advantage of TTree class features...
Definition: TTreeViewer.h:56
TTVRecord * GetCurrent()
Definition: TTVSession.h:86
TString fZ
Definition: TTVSession.h:34
TString fUserCode
Definition: TTVSession.h:39
void SetName(const char *name="")
Definition: TTVSession.h:56
Bool_t fAutoexec
Definition: TTVSession.h:40
void SetName(const char *name)
Definition: TTVSession.h:82
I/O classes for TreeViewer session handling.
Definition: TTVSession.h:28
TString fCut
Definition: TTVSession.h:35
Bool_t MustExecuteCode() const
Definition: TTVSession.h:54
Ssiz_t Length() const
Definition: TString.h:386
Bool_t fCutEnabled
Definition: TTVSession.h:38
TString fName
Definition: TTVSession.h:31
void SaveSource(std::ofstream &out)
Save the TTVRecord in a C++ macro file.
Definition: TTVSession.cxx:98
const char * GetUserCode() const
Definition: TTVSession.h:52
const Bool_t kFALSE
Definition: RtypesCore.h:88
~TTVRecord()
Definition: TTVSession.h:43
TString fZAlias
Definition: TTVSession.h:34
Bool_t HasUserCode() const
Definition: TTVSession.h:53
const char * GetY() const
Definition: TTVSession.h:49
void SetY(const char *y="", const char *yal="-empty-")
Definition: TTVSession.h:58
void FormFrom(TTreeViewer *tv)
Populate members from treeviewer tv.
Definition: TTVSession.cxx:55
void SetX(const char *x="", const char *xal="-empty-")
Definition: TTVSession.h:57
Double_t y[n]
Definition: legend1.C:17
void PlugIn(TTreeViewer *tv)
Change treeviewer status to this record.
Definition: TTVSession.cxx:74
Mother of all ROOT objects.
Definition: TObject.h:37
you should not use this method at all Int_t Int_t z
Definition: TRolke.cxx:630
I/O classes for TreeViewer session handling.
Definition: TTVSession.h:69
void SetRC(Bool_t redirect=kFALSE, Bool_t cut=kTRUE)
Definition: TTVSession.h:62
An array of clone (identical) objects.
Definition: TClonesArray.h:32
TTreeViewer * fViewer
Definition: TTVSession.h:74
void ExecuteUserCode()
Execute user-defined code.
Definition: TTVSession.cxx:42
Int_t fCurrent
Definition: TTVSession.h:75
void SetZ(const char *z="", const char *zal="-empty-")
Definition: TTVSession.h:59
TString fName
Definition: TTVSession.h:73
const Bool_t kTRUE
Definition: RtypesCore.h:87
void SetAutoexec(Bool_t autoexec=kTRUE)
Definition: TTVSession.h:55
TTVRecord * Next()
Definition: TTVSession.h:90
TClonesArray * fList
Definition: TTVSession.h:72
char name[80]
Definition: TGX11.cxx:109