21 for (
int i = 0; i < N_Tracks; i++)
24 int pdg = 11 * (
r.Integer(2) > 0 ? 1 : -1);
26 p->SetProductionVertex(
r.Uniform(-
v,
v) + pos[0],
r.Uniform(-
v,
v) + pos[1],
r.Uniform(-
v,
v) + pos[2], 1);
27 p->SetMomentum(
r.Uniform(-
m,
m),
r.Uniform(-
m,
m),
r.Uniform(-
m,
m)*
r.Uniform(1, 3), 1);
30 track->SetMainColor(
kBlue);
31 track->SetName(
Form(
"Track_%d", i));
41 mng->SetProjection(t);
42 mng->ImportElements(el, eventScene);
45 view->AddScene(eventScene);
50 auto eveMng = REveManager::Create();
51 float pos[3] = {1.46589e-06,-1.30522e-05,-1.98267e-05};
54 double a[16] = {1.46589e-01,-1.30522e-02,-1.98267e-02, 0,
55 -1.30522e-02, 4.22955e-02,-5.86628e-03, 0,
56 -1.98267e-02,-5.86628e-03, 2.12836e-01, 0,
62 for(
int i = 0; i < 3; i++)
63 for(
int j = 0; j < 3; j++)
65 xxx(i,j) = t(i+1,j+1);
70 xxxEig = xxxEig.
Sqrt();
74 for (
int i = 0; i < 3; ++i)
76 v[i].
Set(vecEig(0,i), vecEig(1,i), vecEig(2,i));
87 event->AddElement(ellipse);
93 sph->SetMainTransparency(80);
94 sph->SetNSegments(80);
96 float m0 =
v[0].Mag();
98 float m1 =
v[1].Mag();
100 float m2 =
v[2].Mag();
103 sph->InitMainTrans();
104 sph->RefMainTrans().SetBaseVec(1,
v[0].fX,
v[0].fY,
v[0].fZ);
105 sph->RefMainTrans().SetBaseVec(2,
v[1].fX,
v[1].fY,
v[1].fZ);
106 sph->RefMainTrans().SetBaseVec(3,
v[2].fX,
v[2].fY,
v[2].fZ);
107 sph->RefMainTrans().SetScale(m0, m1, m2);
108 event->AddElement(sph);
112 ps->SetNextPoint(pos[0], pos[1], pos[2]);
113 ps->SetMarkerStyle(4);
114 ps->SetMarkerSize(4);
116 for(
int i=0; i < 6; ++i)
117 ps->SetNextPoint(i*(rng/3) - rng, 0, 0);
118 event->AddElement(ps);
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.
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 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
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.
void Show(const RWebDisplayArgs &args="")
Show eve manager in specified browser.
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.
void SetFrom(Double_t *carr)
void Set(const Float_t *v)
void SetCameraType(ECameraType t)
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.
This is the base class for the ROOT Random number generators.
TVectorT< Element > & Sqrt()
Take square root of all elements.
ROOT::Experimental::REveManager * eveMng
void makeProjected(REveElement *el, const char *pname, REveProjection::EPType_e t)
void makeTracks(int N_Tracks, REveElement *trackHolder, float *pos)
R__EXTERN REveManager * gEve