Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
single_dark.C
Go to the documentation of this file.
1
2
3#include "TRandom.h"
5#include <ROOT/REveScene.hxx>
9#include <ROOT/RWebWindow.hxx>
10
11
12const Double_t kR_min = 240;
13const Double_t kR_max = 250;
14const Double_t kZ_d = 300;
15
16using namespace ROOT::Experimental;
17
18void makeJets(int N_Jets, REveElement *jetHolder)
19{
20 TRandom &r = *gRandom;
21
22 for (int i = 0; i < N_Jets; i++) {
23 auto jet = new REveJetCone(Form("Jet_%d", i));
24 jet->SetCylinder(2 * kR_max, 2 * kZ_d);
25 jet->AddEllipticCone(r.Uniform(-0.5, 0.5), r.Uniform(0, TMath::TwoPi()), 0.1, 0.2);
26 jet->SetFillColor(kPink - 8);
27 jet->SetLineColor(kViolet - 7);
28
29 jetHolder->AddElement(jet);
30 }
31}
32
34{
36 eveMng->AllowMultipleRemoteConnections(false, false);
37
38 // openui5 theme
39 gEnv->SetValue("WebGui.DarkMode", "yes");
40
41 // default viewer, event scene
42 eveMng->GetDefaultViewer()->SetBlackBackground(true);
43 REveElement *jetHolder = new REveElement("Jets");
44 eveMng->GetEventScene()->AddElement(jetHolder);
45 makeJets(7, jetHolder);
46
47 // projected view
48 auto view = eveMng->SpawnNewViewer("RPhiView", "");
49 view->SetBlackBackground(true);
50 view->SetCameraType(REveViewer::kCameraOrthoXOY);
51 auto eventScene = eveMng->SpawnNewScene("RPZScene");
52 view->AddScene(eventScene);
53 view->SetMandatory(false);
54
56 mngRhoZ->ImportElements(jetHolder, eventScene);
57
58 auto text = new REveText();
59 text->SetText("Single View");
60 text->SetTextColor(kWhite);
61 text->SetPosition(REveVector(0.02, 0.9, 0.2));
62 text->SetFontSize(0.05);
63 text->SetFont("LiberationSerif-Regular");
64 text->SetFillAlpha(228);
65 std::string rf_dir = gSystem->ExpandPathName("${ROOTSYS}/fonts/");
66 text->AssertSdfFont("LiberationSerif-Regular", rf_dir + "LiberationSerif-Regular.ttf");
67 eventScene->AddElement(text);
68
69 // append ?Single=RPhiView"
70 std::string url = eveMng->GetWebWindow()->GetUrl();
71 url += "?Single=RPhiView";
72 std::cout << "Single view URL" << url << "\n";
74 args.SetUrlOpt("Single=RPhiView");
75
76 eveMng->GetWebWindow()->Show();
77 eveMng->GetWebWindow()->Show(args);
78}
ROOT::R::TRInterface & r
Definition Object.C:4
double Double_t
Double 8 bytes.
Definition RtypesCore.h:73
@ kPink
Definition Rtypes.h:68
@ kWhite
Definition Rtypes.h:66
@ kViolet
Definition Rtypes.h:68
externTEnv * gEnv
Definition TEnv.h:170
externTRandom * gRandom
Definition TRandom.h:62
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Definition TString.cxx:2496
externTSystem * gSystem
Definition TSystem.h:582
virtual void AddElement(REveElement *el)
Add el to the list of children.
static REveManager * Create()
If global REveManager* REX::gEve is not set initialize it.
REveProjectionManager Manager class for steering of projections and managing projected objects.
Holds different arguments for starting browser with RWebDisplayHandle::Display() method.
RWebDisplayArgs & SetUrlOpt(const std::string &opt)
set window url options
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
ROOT::Experimental::REveManager * eveMng
TText * text
const Double_t kR_max
const Double_t kZ_d
const Double_t kR_min
REX::REveProjectionManager * mngRhoZ
Definition event_demo.C:43
Namespace for ROOT features in testing.
Definition TROOT.h:100
REveVectorT< Float_t > REveVector
constexpr Double_t TwoPi()
Definition TMath.h:47
void makeJets(int N_Jets, REveElement *jetHolder)
Definition single_dark.C:18
void single_dark()
Definition single_dark.C:33