Logo ROOT  
Reference Guide
No Matches
Go to the documentation of this file.
1// @(#)root/tree:$Id$
2// Author: G Ganis Sep 2005
5 * Copyright (C) 1995-2005, 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 *************************************************************************/
12#ifndef ROOT_TQueryResult
13#define ROOT_TQueryResult
17// //
18// TQueryResult //
19// //
20// A container class for the results of a query. //
21// //
24#include "TNamed.h"
25#include "TDatime.h"
26#include "TString.h"
29class TMacro;
31#include "TMacro.h"
34class TBrowser;
35class TTreePlayer;
36class TQueryResult;
38bool operator==(const TQueryResult &qr1, const TQueryResult &qr2);
41class TQueryResult : public TNamed {
43friend class TTreePlayer;
44friend class TProofPlayerLite;
45friend class TProofPlayerRemote;
46friend class TProof;
47friend class TProofLite;
48friend class TProofServ;
54 };
57 Int_t fSeqNum; ///< query unique sequential number
58 bool fDraw; ///< true if draw action query
59 EQueryStatus fStatus; ///< query status
60 TDatime fStart; ///< time when processing started
61 TDatime fEnd; ///< time when processing ended
62 Float_t fUsedCPU; ///< real CPU time used (seconds)
63 TString fOptions; ///< processing options + aclic mode (< opt >#< aclic_mode >)
64 TList *fInputList; ///< input list; contains also data sets, entry list, ...
65 Long64_t fEntries; ///< number of entries processed
66 Long64_t fFirst; ///< first entry processed
67 Long64_t fBytes; ///< number of bytes processed
68 TMacro *fLogFile; ///< file with log messages from the query
69 TMacro *fSelecHdr; ///< selector header file
70 TMacro *fSelecImp; ///< selector implementation file
71 TString fLibList; ///< blank-separated list of libs loaded at fStart
72 TString fParList; ///< colon-separated list of PAR loaded at fStart
73 TList *fOutputList; ///< output list
74 bool fFinalized; ///< whether Terminate has been run
75 bool fArchived; ///< whether the query has been archived
76 TString fResultFile; ///< URL of the file where results have been archived
77 Float_t fPrepTime; ///< Prepare time (seconds) (millisec precision)
78 Float_t fInitTime; ///< Initialization time (seconds) (millisec precision)
79 Float_t fProcTime; ///< Processing time (seconds) (millisec precision)
80 Float_t fMergeTime; ///< Merging time (seconds) (millisec precision)
81 Float_t fRecvTime; ///< Transfer-to-client time (seconds) (millisec precision)
82 Float_t fTermTime; ///< Terminate time (seconds) (millisec precision)
83 Int_t fNumWrks; ///< Number of workers at start
84 Int_t fNumMergers; ///< Number of submergers
86 TQueryResult(Int_t seqnum, const char *opt, TList *inlist,
87 Long64_t entries, Long64_t first,
88 const char *selec);
90 void AddInput(TObject *obj);
91 void AddLogLine(const char *logline);
93 virtual void RecordEnd(EQueryStatus status, TList *outlist = nullptr);
94 void SaveSelector(const char *selec);
95 void SetArchived(const char *archfile);
96 virtual void SetFinalized() { fFinalized = true; }
97 virtual void SetInputList(TList *in, bool adopt = true);
98 virtual void SetOutputList(TList *out, bool adopt = true);
99 virtual void SetProcessInfo(Long64_t ent, Float_t cpu = 0.,
100 Long64_t siz = -1,
101 Float_t inittime = 0., Float_t proctime = 0.);
102 void SetPrepTime(Float_t preptime) { fPrepTime = preptime; }
103 void SetMergeTime(Float_t mergetime) { fMergeTime = mergetime; }
104 void SetRecvTime(Float_t recvtime) { fRecvTime = recvtime; }
105 void SetTermTime(Float_t termtime) { fTermTime = termtime; }
106 void SetNumMergers(Int_t nmergers) { fNumMergers = nmergers; }
110 fInputList(nullptr), fEntries(-1), fFirst(-1), fBytes(0),
111 fLogFile(nullptr), fSelecHdr(nullptr), fSelecImp(nullptr),
112 fLibList("-"), fOutputList(nullptr),
113 fFinalized(false), fArchived(false), fPrepTime(0.),
114 fInitTime(0.), fProcTime(0.), fMergeTime(0.),
115 fRecvTime(-1), fTermTime(0.), fNumWrks(-1), fNumMergers(-1) { }
116 ~TQueryResult() override;
118 void Browse(TBrowser *b = nullptr) override;
120 Int_t GetSeqNum() const { return fSeqNum; }
121 EQueryStatus GetStatus() const { return fStatus; }
122 TDatime GetStartTime() const { return fStart; }
123 TDatime GetEndTime() const { return fEnd; }
124 const char *GetOptions() const { return fOptions; }
126 TObject *GetInputObject(const char *classname) const;
127 Long64_t GetEntries() const { return fEntries; }
128 Long64_t GetFirst() const { return fFirst; }
129 Long64_t GetBytes() const { return fBytes; }
130 Float_t GetUsedCPU() const { return fUsedCPU; }
131 TMacro *GetLogFile() const { return fLogFile; }
132 TMacro *GetSelecHdr() const { return fSelecHdr; }
133 TMacro *GetSelecImp() const { return fSelecImp; }
134 const char *GetLibList() const { return fLibList; }
135 const char *GetParList() const { return fParList; }
137 const char *GetResultFile() const { return fResultFile; }
138 Float_t GetPrepTime() const { return fPrepTime; }
139 Float_t GetInitTime() const { return fInitTime; }
140 Float_t GetProcTime() const { return fProcTime; }
141 Float_t GetMergeTime() const { return fMergeTime; }
142 Float_t GetRecvTime() const { return fRecvTime; }
143 Float_t GetTermTime() const { return fTermTime; }
144 Int_t GetNumWrks() const { return fNumWrks; }
145 Int_t GetNumMergers() const { return fNumMergers; }
147 bool IsArchived() const { return fArchived; }
148 virtual bool IsDone() const { return (fStatus > kRunning); }
149 bool IsDraw() const { return fDraw; }
150 bool IsFinalized() const { return fFinalized; }
152 bool Matches(const char *ref);
154 void Print(Option_t *opt = "") const override;
156 ClassDefOverride(TQueryResult,5) //Class describing a query
159inline bool operator!=(const TQueryResult &qr1, const TQueryResult &qr2)
160 { return !(qr1 == qr2); }
#define b(i)
Definition RSha256.hxx:100
float Float_t
Definition RtypesCore.h:57
long long Long64_t
Definition RtypesCore.h:80
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
bool operator==(const TQueryResult &qr1, const TQueryResult &qr2)
Compare two query result instances for equality.
bool operator!=(const TQueryResult &qr1, const TQueryResult &qr2)
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
Definition TDatime.h:37
A doubly linked list.
Definition TList.h:38
Class supporting a collection of lines with C++ code.
Definition TMacro.h:31
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Mother of all ROOT objects.
Definition TObject.h:41
This class starts a PROOF session on the local machine: no daemons, client and master merged,...
Definition TProofLite.h:40
Version of TProofPlayerRemote merges the functionality needed by clients and masters.
Class providing the PROOF server.
Definition TProofServ.h:66
This class controls a Parallel ROOT Facility, PROOF, cluster.
Definition TProof.h:316
Class managing the query-result area.
A container class for query results.
bool fArchived
whether the query has been archived
virtual void RecordEnd(EQueryStatus status, TList *outlist=nullptr)
End of query settings.
Int_t GetNumWrks() const
TString fOptions
processing options + aclic mode (< opt >#< aclic_mode >)
Long64_t GetEntries() const
void SetNumMergers(Int_t nmergers)
void AddLogLine(const char *logline)
Fill log file.
const char * GetLibList() const
Float_t GetInitTime() const
TDatime fStart
time when processing started
Long64_t fFirst
first entry processed
Int_t GetSeqNum() const
void SetTermTime(Float_t termtime)
TDatime fEnd
time when processing ended
TMacro * fSelecHdr
selector header file
void SetArchived(const char *archfile)
Set (or update) query in archived state.
TDatime GetEndTime() const
TMacro * GetSelecImp() const
TQueryResult * CloneInfo()
Return an instance of TQueryResult containing only the local info fields, i.e.
void SetMergeTime(Float_t mergetime)
void SetRecvTime(Float_t recvtime)
TList * GetOutputList()
void SaveSelector(const char *selec)
Save the selector header and implementation into the dedicated TMacro instances.
TList * fInputList
input list; contains also data sets, entry list, ...
TDatime GetStartTime() const
virtual void SetProcessInfo(Long64_t ent, Float_t cpu=0., Long64_t siz=-1, Float_t inittime=0., Float_t proctime=0.)
Set processing info.
Float_t fProcTime
Processing time (seconds) (millisec precision)
bool fDraw
true if draw action query
Int_t fNumMergers
Number of submergers.
void Browse(TBrowser *b=nullptr) override
To support browsing of the results.
virtual bool IsDone() const
Float_t GetProcTime() const
void SetPrepTime(Float_t preptime)
bool IsFinalized() const
Float_t GetMergeTime() const
virtual void SetOutputList(TList *out, bool adopt=true)
Set / change the output list.
Float_t GetRecvTime() const
TObject * GetInputObject(const char *classname) const
Return first instance of class 'classname' in the input list.
TString fParList
colon-separated list of PAR loaded at fStart
TMacro * GetSelecHdr() const
EQueryStatus GetStatus() const
bool IsDraw() const
bool Matches(const char *ref)
Return TRUE if reference ref matches.
Float_t fRecvTime
Transfer-to-client time (seconds) (millisec precision)
const char * GetResultFile() const
TList * fOutputList
output list
Float_t fTermTime
Terminate time (seconds) (millisec precision)
Float_t fPrepTime
Prepare time (seconds) (millisec precision)
Int_t GetNumMergers() const
void AddInput(TObject *obj)
Add obj to the input list.
EQueryStatus fStatus
query status
const char * GetOptions() const
bool IsArchived() const
~TQueryResult() override
Long64_t GetFirst() const
Float_t GetTermTime() const
Float_t fUsedCPU
real CPU time used (seconds)
TList * GetInputList()
Int_t fSeqNum
query unique sequential number
TMacro * fSelecImp
selector implementation file
Long64_t fBytes
number of bytes processed
Float_t GetPrepTime() const
virtual void SetFinalized()
void Print(Option_t *opt="") const override
Print query content. Use opt = "F" for a full listing.
virtual void SetInputList(TList *in, bool adopt=true)
Set / change the input list.
TString fResultFile
URL of the file where results have been archived.
Float_t GetUsedCPU() const
TMacro * fLogFile
file with log messages from the query
const char * GetParList() const
Long64_t fEntries
number of entries processed
Long64_t GetBytes() const
TMacro * GetLogFile() const
Float_t fMergeTime
Merging time (seconds) (millisec precision)
Int_t fNumWrks
Number of workers at start.
TString fLibList
blank-separated list of libs loaded at fStart
bool fFinalized
whether Terminate has been run
Float_t fInitTime
Initialization time (seconds) (millisec precision)
Basic string class.
Definition TString.h:139
Implement some of the functionality of the class TTree requiring access to extra libraries (Histogram...
Definition TTreePlayer.h:37