EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairDbTimer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairDbTimer.h
1 
2 #ifndef FAIRDBTIMER
3 #define FAIRDBTIMER
4 
5 
6 #include <string>
7 
8 #include "TStopwatch.h"
9 #include "FairDbFieldType.h"
10 
12 
14 {
15 
16  public:
17 
18 // Constructors and destructors.
19  FairDbTimer();
20  virtual ~FairDbTimer();
21 
22 // State testing member functions
23 
24 // State changing member functions
25  void RecBegin(string tableName, UInt_t rowSize);
26  void RecEnd(UInt_t numRows);
27  void RecFillAgg(Int_t aggNo);
28  void RecMainQuery();
29  void Resume();
30  void StartSubWatch(UInt_t subWatch);
31  void Suspend();
32 
33 // Global timer used for all queries to the DBI.
34 
35  private:
36 
38  enum { kMaxSubWatch = 4 }; // Must be > 0.
39 
40 // Data members
41 
42  Int_t fCurSubWatch; // Current SubWatch or -1 if disabled.
43  UInt_t fRowSize; // Size of row object
44  QueryStage fQueryStage; // Query stage
45  TStopwatch fSubWatches[kMaxSubWatch]; // Partial timers
46  string fTableName; // Current table
47  TStopwatch fWatch; // Timer
48 
49  ClassDef(FairDbTimer,0) // Simple query timer
50 
51 };
52 
53 
54 #endif // FAIRDBTIMER
55