![]() |
ATLAS Offline Software
|
Definition of the IRootVisualizationService interface. More...
#include <IRootVisualizationService.h>
Classes | |
| struct | ClientToken |
| Token class to identify a particular visualization client. More... | |
| struct | ICanvasObject |
| Interface to the container class to temporarily cache the ROOT objects to be drawn on a TCanvas and then saved to disk. More... | |
Public Types | |
| using | PrimitivePtr_t = std::unique_ptr< TObject > |
| Abrivation for a TObject to be drawn on a canvas. More... | |
| using | PrimitiveVec_t = std::vector< PrimitivePtr_t > |
| List of all primitives. More... | |
| using | CanvasPtr_t = std::shared_ptr< ICanvasObject > |
Public Member Functions | |
| DeclareInterfaceID (MuonValR4::IRootVisualizationService, 1, 0) | |
| virtual | ~IRootVisualizationService ()=default |
| Default destructor. More... | |
| virtual StatusCode | registerClient (const ClientToken &token)=0 |
| Registers a new client to the Service. More... | |
| virtual CanvasPtr_t | prepareCanvas (const EventContext &ctx, const ClientToken &token, const std::string &canvasName)=0 |
| Prepares a new ICanvasObject to be filled with content by the client. More... | |
Definition of the IRootVisualizationService interface.
The creation of plots using TCanvas is inheritly thread-hostile. The objects to be drawn mix on the various TCanvas throughout the job. This service enables the creation in MT jobs. It provides a container, the ICanvasObject, where the clients can add the objects to be put into a single plot. Either at the finalization stage or when the maximum number of created plots is reached, the service turns the provided ICanvasObject containers into plots.
To disentangle the multiple clients, the ClientToken needs to be registered in the initialization stage of the client and then presented everytime when a new empty canvas is queried. If the pool of plots is exhausted a nullptr is returned from then on.
Definition at line 25 of file IRootVisualizationService.h.
| using MuonValR4::IRootVisualizationService::CanvasPtr_t = std::shared_ptr<ICanvasObject> |
Definition at line 104 of file IRootVisualizationService.h.
| using MuonValR4::IRootVisualizationService::PrimitivePtr_t = std::unique_ptr<TObject> |
Abrivation for a TObject to be drawn on a canvas.
Definition at line 28 of file IRootVisualizationService.h.
| using MuonValR4::IRootVisualizationService::PrimitiveVec_t = std::vector<PrimitivePtr_t> |
List of all primitives.
Definition at line 30 of file IRootVisualizationService.h.
|
virtualdefault |
Default destructor.
| MuonValR4::IRootVisualizationService::DeclareInterfaceID | ( | MuonValR4::IRootVisualizationService | , |
| 1 | , | ||
| 0 | |||
| ) |
|
pure virtual |
Prepares a new ICanvasObject to be filled with content by the client.
If the number of canvases returned exceeds the limit a nullptr is returned.
| ctx | Reference to the current EventContext to read the event meta data from |
| token | ID token to associate the Canvas to the client's output |
| canvasName | Name that's appended to the plot's out file name |
|
pure virtual |
Registers a new client to the Service.
It needs to be called during the initialization stage
| token | Token to uniquely identify the client |
1.8.18