Logo ROOT  
Reference Guide
Events recorder

The event recorder.

ROOT EVENT RECORDING SYSTEM

TRecorder class provides interface for recording and replaying events in ROOT. Recorded events are:

All the recorded events from one session are stored in one TFile and can be replayed again anytime.

Recording

1] To start recording

TRecorder r(const char *filename, "NEW")
TRecorder r(const char *filename, "RECREATE")

or:

TRecorder *recorder = new TRecorder;
recorder->Start(const char *filename, ...)

2] To stop recording

recorder->Stop()

IMPORTANT: State capturing is part of recording. It means that if you want to record events for some object (window), creation of this object must be also recorded.

Example:

t = new TRecorder(); // Create a new recorder
t->Start("logfile.root"); // ! Start recording first
c = new TCanvas(); // ! Then, create an object
c->Dump(); // Work with that object
t->Stop(); // Stop recording

It is strongly recommended to start recording with empty ROOT environment, at least with no previously created ROOT GUI. This ensures that only events for well known windows are stored. Events for windows, which were not created during recording, cannot be replayed.

Replaying

1] To start replaying

TRecorder r(const char *filename)
TRecorder r(const char *filename, "READ")

or:

TRecorder *recorder = new TRecorder;
recorder->Replay(const char *filename,
Bool_t showMouseCursor = kTRUE);

In general, it is not recommended to use mouse to change positions and states of ROOT windows during replaying.

IMPORTANT: The state of ROOT environment before replaying of some events must be exactly the same as before recording them. Therefore it is strongly recommended to start both recording and replaying with empty ROOT environment.

2] To pause replaying

recorder->Pause()

Replaying is stopped until recorder->Resume() is called.

3] To resume paused replaying

recorder->Resume()

Resumes previously stopped replaying.

4] To stop replaying before its end

recorder->Stop()

Classes

class  TGRecorder
 Provides GUI for TRecorder class. More...
 
class  TRecCmdEvent
 Class used for storing information about 1 commandline event. More...
 
class  TRecEvent
 Abstract class that defines interface for a class storing information about 1 ROOT event. More...
 
class  TRecExtraEvent
 class TRecExtraEvent More...
 
class  TRecGuiEvent
 class TRecGuiEvent More...
 
class  TRecorder
 Class provides direct recorder/replayer interface for a user. More...
 
class  TRecorderInactive
 Represents state of TRecorder just after its creation. More...
 
class  TRecorderPaused
 Represents state of TRecorder when replaying was paused by a user. More...
 
class  TRecorderRecording
 Represents state of TRecorder when recording events. More...
 
class  TRecorderReplaying
 Represents state of TRecorder when replaying previously recorded events. More...
 
class  TRecorderState
 Abstract class that defines interface for a state of recorder. More...
 
class  TRecWinPair
 Class used for storing of window IDs mapping. More...