12 #ifndef ROOT_TMonaLisaWriter
13 #define ROOT_TMonaLisaWriter
27 class MonitoredTFileInfo;
48 class TMonaLisaValue :
public TNamed {
53 TMonaLisaValue(
const TMonaLisaValue&);
54 TMonaLisaValue& operator=(
const TMonaLisaValue&);
57 TMonaLisaValue(
const char *name, Double_t value)
58 : TNamed(name,
""), fValue(value) { }
59 virtual ~TMonaLisaValue() { }
61 Double_t GetValue()
const {
return fValue; }
62 Double_t *GetValuePtr() {
return &fValue; }
64 ClassDef(TMonaLisaValue, 1)
68 class TMonaLisaText :
public TNamed {
71 TMonaLisaText(
const char *name,
const char *text) : TNamed(name, text) { }
72 virtual ~TMonaLisaText() { }
74 const char *GetText()
const {
return GetTitle(); }
76 ClassDef(TMonaLisaText, 1)
80 class TMonaLisaWriter :
public TVirtualMonitoringWriter {
90 Double_t fLastRWSendTime;
91 Double_t fLastFCloseSendTime;
92 time_t fLastProgressTime;
94 std::map<UInt_t, MonitoredTFileInfo *>
98 Int_t fReportInterval;
100 TStopwatch fStopwatch;
101 TStopwatch fFileStopwatch;
103 TMonaLisaWriter(
const TMonaLisaWriter&);
104 TMonaLisaWriter& operator=(
const TMonaLisaWriter&);
106 void Init(
const char *monserver,
const char *montag,
const char *monid,
107 const char *monsubid,
const char *option);
109 Bool_t SendFileCheckpoint(TFile *file);
111 TMonaLisaWriter(
const char *monserver,
const char *montag,
const char *monid = 0,
112 const char *monsubid = 0,
const char *option =
"");
114 virtual ~TMonaLisaWriter();
116 ApMon *GetApMon()
const {
return fApmon; }
118 virtual Bool_t SendParameters(TList *valuelist,
const char *identifier = 0);
119 virtual Bool_t SendInfoTime();
120 virtual Bool_t SendInfoUser(
const char *user = 0);
121 virtual Bool_t SendInfoDescription(
const char *jobtag);
122 virtual Bool_t SendInfoStatus(
const char *status);
124 virtual Bool_t SendFileCloseEvent(TFile *file);
129 virtual Bool_t SendFileOpenProgress(TFile *file, TList *openphases,
const char *openphasename,
130 Bool_t forcesend = kFALSE);
132 virtual Bool_t SendFileReadProgress(TFile *file);
133 virtual Bool_t SendFileWriteProgress(TFile *file);
135 virtual Bool_t SendProcessingStatus(
const char *status, Bool_t restarttimer=kFALSE);
136 virtual Bool_t SendProcessingProgress(Double_t nevent, Double_t nbytes, Bool_t force=kFALSE);
137 virtual void SetLogLevel(
const char *loglevel =
"WARNING");
138 virtual void Verbose(Bool_t onoff) { fVerbose = onoff; }
140 void Print(Option_t *option =
"")
const;
142 ClassDef(TMonaLisaWriter, 1)