This example display geometry, tracks and hits in web browser.
#include <vector>
#include <string>
#include <iostream>
{
ps->SetNextPoint(
r.Uniform(-s, s),
r.Uniform(-s, s),
r.Uniform(-s, s));
ps->SetMarkerColor(color);
ps->SetMarkerSize(8);
ps->SetMarkerStyle(4);
return ps;
}
void addPoints()
{
ps1->SetName(
"Points_1");
ps1->SetTitle(
"Points_1 title");
ps2->SetName(
"Points_2");
ps2->SetTitle(
"Points_2 title");
ps2->SetAlwaysSecSelect(
true);
}
{
int pdg = 11 * (
r.Integer(2) > 0 ? 1 : -1);
p.SetProductionVertex(
r.Uniform(-
v,
v),
r.Uniform(-
v,
v),
r.Uniform(-
v,
v), 1);
p.SetMomentum(
r.Uniform(-
m,
m),
r.Uniform(-
m,
m),
r.Uniform(-
m,
m) *
r.Uniform(1, 3), 1);
if (i % 4 == 3)
track->SetTitle(
Form(
"RandomTrack_%d title", i));
}
}
{
for (
int i = 0; i <
N_Jets; i++) {
jet->SetTitle(
Form(
"Jet_%d\n pT = %.2f", i,
r.Uniform(1, 40)));
jet->AddEllipticCone(
r.Uniform(-3.5, 3.5),
r.Uniform(0,
TMath::TwoPi()),
r.Uniform(0.02, 0.2),
}
}
{
addPoints();
}
{
b1->SetNSegments(80);
b1->SetMainTransparency(70);
eveMng->GetGlobalScene()->AddElement(b1);
b1->SetNSegments(40);
eveMng->GetDefaultViewer()->SetAxesType(REX::REveViewer::EAxesType::kAxesOrigin);
}
{
rphiView->SetCameraType(REX::REveViewer::kCameraOrthoXOY);
rhoZView->SetCameraType(REX::REveViewer::kCameraOrthoXOY);
}
{
for (
auto &
ie :
eveMng->GetGlobalScene()->RefChildren()) {
}
}
for (
auto &
ie :
eveMng->GetEventScene()->RefChildren()) {
}
}
}
private:
int fCount{0};
std::mutex fMutex;
std::condition_variable fCV;
public:
{
std::chrono::milliseconds ms(100);
}
void NextEvent()
{
scene->DestroyElements();
}
{
while (true) {
{
std::unique_lock<std::mutex> lock{fMutex};
return;
}
if (fCV.wait_for(lock,
fDeltaTime) != std::cv_status::timeout) {
printf(
"autoplay not timed out \n");
printf(
"exit thread post wait\n");
return;
} else {
continue;
}
}
}
REX::REveManager::ChangeGuard ch;
NextEvent();
} else {
return;
}
}
}
{
{
std::unique_lock<std::mutex> lock{fMutex};
}
NextEvent();
} else {
fCV.notify_all();
}
}
}
virtual void QuitRoot()
{
REX::REveManager::QuitRoot();
}
};
{
eveMng = REX::REveManager::Create();
eveMng->GetWorld()->AddCommand(
"QuitRoot",
"sap-icon://log",
eventMng,
"QuitRoot()");
eveMng->GetWorld()->AddCommand(
"NextEvent",
"sap-icon://step",
eventMng,
"NextEvent()");
eveMng->GetWorld()->AddCommand(
"Autoplay",
"sap-icon://refresh",
eventMng,
"Autoplay()");
if (true) {
}
}
int Int_t
Signed integer 4 bytes (int)
double Double_t
Double 8 bytes.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h prop
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
REveMagFieldDuo Interface to magnetic field with two different values depending on radius.
REveProjectionManager Manager class for steering of projections and managing projected objects.
REveTrackPropagator Calculates path of a particle taking into account special path-marks and imposed ...
REveTrack Track with given vertex, momentum and optional referece-points (path-marks) along its path.
REveViewer Reve representation of TGLViewer.
Description of the dynamic properties of a particle.
This is the base class for the ROOT Random number generators.
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
Namespace for ROOT features in testing.
constexpr Double_t TwoPi()