26 #include "TEvePointSet.h"
27 #include "TMatrixDEigen.h"
28 #include "TMatrixDSym.h"
29 #include "TDecompSVD.h"
31 #include "TEveTrans.h"
32 #include "TEveTrack.h"
33 #include "TEveTrackPropagator.h"
34 #include "TEveStraightLineSet.h"
35 #include "TEveBoxSet.h"
36 #include "TGeoSphere.h"
37 #include "TEveGeoNode.h"
38 #include "TEveVSDStructs.h"
53 "Ellipse Color Index", 6
l, 0
l, (
long)
context().colorManager()->numberOfLimitedColors());
66 TEveElement& oItemHolder,
70 TEveElement* iCompound,
77 TEveElement& oItemHolder,
82 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
83 TEvePointSet* pointSet =
new TEvePointSet();
84 pointSet->SetNextPoint(
v.vx(),
v.vy(),
v.vz());
88 if (
item()->getConfig()->value<bool>(
"Draw Ellipse")) {
91 eveEllipsoid->
RefPos().Set(
v.vx(),
v.vy(),
v.vz());
95 for (
int i = 0;
i < 3;
i++)
96 for (
int j = 0;
j < 3;
j++) {
102 double ellipseScale = 1.;
106 eveEllipsoid->
SetScale(ellipseScale);
109 TMatrixDEigen eig(
m);
110 TVectorD vv(eig.GetEigenValuesRe());
111 eveEllipsoid->
RefExtent3D().Set(
sqrt(vv(0)) * ellipseScale,
sqrt(vv(1)) * ellipseScale,
sqrt(vv(2)) * ellipseScale);
113 eveEllipsoid->SetLineWidth(2);
115 eveEllipsoid->SetMainTransparency(
TMath::Min(100, 80 +
item()->defaultDisplayProperties().transparency() / 5));
120 eveEllipsoid->SetMainColor(color +
context().colorManager()->offsetOfLimitedColors());
124 if (
item()->getConfig()->value<bool>(
"Draw Tracks")) {
125 for (
unsigned int j = 0;
j <
v.numberOfDaughters();
j++) {
130 trk->SetMainColor(
item()->defaultDisplayProperties().color());
135 if (
item()->getConfig()->value<bool>(
"Draw Pseudo Track")) {
138 t.fV = TEveVector(
v.vx(),
v.vy(),
v.vz());
139 t.fP = TEveVector(-
v.p4().px(), -
v.p4().py(), -
v.p4().pz());
141 TEveTrack* trk =
new TEveTrack(&
t,
context().getTrackPropagator());
142 trk->SetLineStyle(7);
149 TEveElement* iCompound,
153 TEveElement* el = iCompound->FindChild(
"Ellipsoid");
155 el->SetMainColor(
item()->getConfig()->value<long>(
"Ellipse Color Index") +
156 context().colorManager()->offsetOfLimitedColors());