61 for (
Int_t i=0; i<npoints; ++i)
62 ps->SetNextPoint(
r.Uniform(-
s,
s),
r.Uniform(-
s,
s),
r.Uniform(-
s,
s));
64 ps->SetMarkerColor(color);
65 ps->SetMarkerSize(3+
r.Uniform(1, 7));
66 ps->SetMarkerStyle(4);
77 ps1->SetName(
"Points_1");
78 pntHolder->AddElement(ps1);
81 ps2->SetName(
"Points_2");
82 pntHolder->AddElement(ps2);
84 event->AddElement(pntHolder);
103 int N_Tracks = 10 +
r.Integer(20);
104 for (
int i = 0; i < N_Tracks; i++)
108 int pdg = 11* (
r.Integer(2) -1);
115 track->SetMainColor(
kBlue);
116 track->SetName(
Form(
"RandomTrack_%d", i));
117 trackHolder->AddElement(track);
120 event->AddElement(trackHolder);
130 int N_Jets = 5 +
r.Integer(5);
131 for (
int i = 0; i < N_Jets; i++)
135 jet->AddEllipticCone(
r.Uniform(-3.5, 3.5),
r.Uniform(0,
TMath::TwoPi()),
136 r.Uniform(0.02, 0.2),
r.Uniform(0.02, 0.3));
137 jet->SetFillColor(
kPink - 8);
138 jet->SetLineColor(
kViolet - 7);
140 jetHolder->AddElement(jet);
142 event->AddElement(jetHolder);
147 float pos[3] = {1.46589e-06,-1.30522e-05,-1.98267e-05};
151 double a[16] = {1.46589e-01,-1.30522e-02,-1.98267e-02, 0,
152 -1.30522e-02, 4.22955e-02,-5.86628e-03, 0,
153 -1.98267e-02,-5.86628e-03, 2.12836e-01, 0,
159 for(
int i = 0; i < 3; i++)
160 for(
int j = 0; j < 3; j++)
162 xxx(i,j) = t(i+1,j+1);
167 xxxEig = xxxEig.
Sqrt();
171 for (
int i = 0; i < 3; ++i)
173 v[i].Set(vecEig(0,i), vecEig(1,i), vecEig(2,i));
188 ps->SetNextPoint(pos[0], pos[1], pos[2]);
189 ps->SetMarkerStyle(4);
190 ps->SetMarkerSize(4);
191 event->AddElement(
ps);
207 b1->SetMainColor(
kCyan);
212 b1->SetNSegments(40);
273 EventManager() =
default;
275 virtual ~EventManager() {}
277 virtual void NextEvent()
283 for (
auto &ie : scene->RefChildren())
294 virtual void QuitRoot()
296 printf(
"Quit ROOT\n");
311 auto eventMng =
new EventManager();
312 eventMng->SetName(
"EventManager");
R__EXTERN TApplication * gApplication
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
virtual void AddElement(REveElement *el)
Add el to the list of children.
virtual void InitMainTrans(Bool_t can_edit=kTRUE)
Initialize the main transformation to identity matrix.
virtual void DestroyElements()
Destroy all children of this element.
virtual void SetMainColor(Color_t color)
Set main color of the element.
void SetBaseVectors(REveVector &v0, REveVector &v1, REveVector &v3)
Three defining base vectors of ellipse.
virtual void Outline()
Draw archade around base vectors.
REveMagFieldDuo Interface to magnetic field with two different values depending on radius.
REveScene * GetEventScene() const
static REveManager * Create()
If global REveManager* REX::gEve is not set initialize it.
REveScene * GetGlobalScene() const
void DoRedraw3D()
Perform 3D redraw of scenes and viewers whose contents has changed.
REveScene * SpawnNewScene(const char *name, const char *title="")
Create a new scene.
REveViewer * SpawnNewViewer(const char *name, const char *title="")
Create a new GL viewer.
REveScene * GetWorld() const
void Show(const RWebDisplayArgs &args="")
Show eve manager in specified browser.
REveProjectionManager Manager class for steering of projections and managing projected objects.
virtual REveElement * ImportElements(REveElement *el, REveElement *ext_list=nullptr)
Recursively import elements and apply projection to the newly imported objects.
void AddCommand(const std::string &name, const std::string &icon, const REveElement *element, const std::string &action)
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.
void SetFrom(Double_t *carr)
REveViewer Reve representation of TGLViewer.
virtual void AddScene(REveScene *scene)
Add 'scene' to the list of scenes.
virtual void Terminate(Int_t status=0)
Terminate the application by call TSystem::Exit() unless application has been told to return from Run...
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
const TMatrixD & GetEigenVectors() const
const TMatrixD GetEigenValues() const
Computes the block diagonal eigenvalue matrix.
Description of the dynamic properties of a particle.
void SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
void SetPdgCode(Int_t pdg)
Change the PDG code for this particle.
void SetProductionVertex(Double_t vx, Double_t vy, Double_t vz, Double_t t)
This is the base class for the ROOT Random number generators.
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
TVectorT< Element > & Sqrt()
Take square root of all elements.
REX::REveScene * rPhiGeomScene
REX::REveScene * rPhiEventScene
REX::REveProjectionManager * mngRhoZ
REX::REveManager * eveMng
REX::REveViewer * rhoZView
REX::REveScene * rhoZEventScene
void createProjectionStuff()
REX::REveViewer * rphiView
REX::REveProjectionManager * mngRhoPhi
REX::REveScene * rhoZGeomScene
void projectScenes(bool geomp, bool eventp)
REX::REvePointSet * getPointSet(int npoints=2, float s=2, int color=28)
static constexpr double s
static constexpr double ps
constexpr Double_t TwoPi()