31#include <fairlogger/Logger.h>
34#include <TEveBrowser.h>
35#include <TEveManager.h>
38#include <TApplication.h>
39#include <TEveWindowManager.h>
45namespace event_visualisation
53 const bool fullscreen = settings.GetValue(
"fullscreen.mode",
55 const string ocdbStorage = settings.GetValue(
"OCDB.default.path",
57 LOGF(info,
"Initializer -- OCDB path:", ocdbStorage);
60 eventManager.setCdbPath(ocdbStorage);
62 auto const options = Options::Instance();
66 if (options->json()) {
68 eventManager.setDataSource(
71 eventManager.setDataSource(
72 new DataSourceOffline(options->AODConverterPath(), options->dataFolder(), options->fileName(),
73 options->hideDplGUI()));
76 eventManager.getDataSource()->registerReader(
new DataReaderJSON());
79 gSystem->ProcessEvents();
85 TEveBrowser* browser = gEve->GetBrowser();
86 std::string title = std::string(
"o2-eve version:") +
std::to_string(o2_eve_version / 100.0);
87 title = title.substr(0, title.find(
'.') + 3);
88 browser->SetWindowName(title.c_str());
89 browser->GetTabRight()->SetTab(1);
90 browser->MoveResize(0, 0, gClient->GetDisplayWidth(), gClient->GetDisplayHeight() - 32);
92 browser->StartEmbedding(TRootBrowser::kBottom);
95 browser->StopEmbedding(
"EventCtrl");
98 ((TGWindow*)gEve->GetBrowser()->GetTabLeft()->GetParent())->Resize(1, 0);
99 ((TGWindow*)gEve->GetBrowser()->GetTabBottom()->GetParent())->Resize(0, 1);
101 gEve->GetBrowser()->Layout();
102 gSystem->ProcessEvents();
110 if (Options::Instance()->online()) {
113 eventManager.getDataSource()->refresh();
116 gApplication->Connect(
"TEveBrowser",
"CloseWindow()",
"o2::event_visualisation::EventManagerFrame", frame,
120void Initializer::setupGeometry()
138 if (detName ==
"TPC" || detName ==
"MCH" || detName ==
"MID" ||
140 multiView->drawGeometryForDetector(detName,
true,
false);
141 }
else if (detName ==
"RPH") {
142 multiView->drawGeometryForDetector(detName,
false,
true,
false);
143 }
else if (detName !=
"TST") {
144 multiView->drawGeometryForDetector(detName);
147 const auto geom = multiView->getDetectorGeometry(detName);
148 const auto show = settings.GetValue((detName +
".draw").c_str(),
false);
150 if (geom !=
nullptr) {
151 geom->SetRnrSelfChildren(show, show);
156void Initializer::setupCamera()
171 TGLViewer* glView = multiView->getView(
static_cast<MultiView::EViews>(viewIter))->GetGLViewer();
172 glView->CurrentCamera().Reset();
175 glView->CurrentCamera().RotateRad(angleHorizontal, angleVertical);
177 glView->CurrentCamera().Dolly(zoom[viewIter], kFALSE, kTRUE);
181void Initializer::setupBackground()
186 Color_t col = settings.GetValue(
"background.color", 1);
190 view->GetGLViewer()->SetClearColor(
col);
Grouping reading from file(s)
Grouping reading from file(s)
GUI (bottom buttons) for visualisation.
static std::string getCCDBServer()
static double getCamera3DRotationVertical()
static double getCameraRPhiZoom()
static double getCameraZYZoom()
static double getCamera3DZoom()
static ConfigurationManager & getInstance()
Returns an instance of ConfigurationManager.
void getConfig(TEnv &settings) const
Returns current event display configuration.
static std::string getDataDefault()
static double getCamera3DRotationHorizontal()
static std::vector< std::string > getSourceDirectory(EventManagerFrame::RunMode runMode, EventManagerFrame::DisplayMode displayMode)
void setRunMode(EventManagerFrame::RunMode runMode)
static RunMode decipherRunMode(TString name, RunMode defaultRun=SyntheticRun)
static EventManager & getInstance()
Returns an instance of EventManager.
static void setup()
Default constructor.
static MultiView * getInstance()
Returns an instance of the MultiView.
TEveViewer * getView(EViews view)
Returns pointer to specific view.
@ NumberOfViews
Total number of views.
std::string show(const DeliveryType type)
const bool R3Visualisation[NvisualisationGroups]
const std::string gVisualisationGroupName[NvisualisationGroups]
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.
std::string to_string(gsl::span< T, Size > span)