Logo ROOT  
Reference Guide
tracks.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_eve7
3/// This example display only points in web browser
4///
5/// \macro_code
6///
7
8#include "TRandom.h"
9#include "TParticle.h"
10#include <ROOT/REveElement.hxx>
11#include <ROOT/REveScene.hxx>
12#include <ROOT/REveManager.hxx>
13#include <ROOT/REveTrack.hxx>
15
16namespace REX = ROOT::Experimental;
17
18void makeTracks(int N_Tracks, REX::REveElement* trackHolder)
19{
20 TRandom &r = *gRandom;
21 auto prop = new REX::REveTrackPropagator();
22 prop->SetMagFieldObj(new REX::REveMagFieldDuo(350, -3.5, 2.0));
23 prop->SetMaxR(300);
24 prop->SetMaxZ(600);
25 prop->SetMaxOrbs(6);
26
27 double v = 0.5;
28 double m = 5;
29
30 for (int i = 0; i < N_Tracks; i++)
31 {
32 auto p = new TParticle();
33
34 int pdg = 11*(r.Integer(2) -1);
35 p->SetPdgCode(pdg);
36
37 p->SetProductionVertex(r.Uniform(-v,v), r.Uniform(-v,v), r.Uniform(-v,v), 1);
38 p->SetMomentum(r.Uniform(-m,m), r.Uniform(-m,m), r.Uniform(-m,m)*r.Uniform(1, 3), 1);
39 auto track = new REX::REveTrack(p, 1, prop);
40 track->MakeTrack();
41 track->SetMainColor(kBlue);
42 track->SetName(Form("RandomTrack_%d",i ));
43 trackHolder->AddElement(track);
44 }
45}
46
47void tracks()
48{
50
51 auto trackHolder = new REX::REveElement("Tracks");
52 eveMng->GetEventScene()->AddElement(trackHolder);
53 makeTracks(10, trackHolder);
54
55 eveMng->Show();
56}
ROOT::R::TRInterface & r
Definition: Object.C:4
@ kBlue
Definition: Rtypes.h:64
R__EXTERN TRandom * gRandom
Definition: TRandom.h:62
char * Form(const char *fmt,...)
virtual void AddElement(REveElement *el)
Add el to the list of children.
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.
void Show(const RWebDisplayArgs &args="")
Show eve manager in specified browser.
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.
Definition: REveTrack.hxx:40
Description of the dynamic properties of a particle.
Definition: TParticle.h:26
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
REX::REveManager * eveMng
auto * m
Definition: textangle.C:8
void makeTracks(int N_Tracks, REX::REveElement *trackHolder)
Definition: tracks.C:18
void tracks()
Definition: tracks.C:47