5 #include "TMatrixDEigen.h" 6 #include "TMatrixDSym.h" 7 #include "TDecompSVD.h" 10 #include "TGeoSphere.h" 11 #include "TGeoMatrix.h" 12 #include "TEveGeoNode.h" 13 #include "TEveVSDStructs.h" 36 TEveElement& oItemHolder,
42 TEveElement& oItemHolder,
44 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
45 TEvePointSet* pointSet =
new TEvePointSet();
46 pointSet->SetMainColor(
item()->defaultDisplayProperties().color());
50 TGeoSphere* sphere =
new TGeoSphere(0, 0.002);
52 TEveGeoShape* shape =
new TEveGeoShape();
53 sphere->SetBoxDimensions(2.5, 2.5, 2.5);
54 shape->SetShape(sphere);
55 shape->SetMainColor(
item()->defaultDisplayProperties().color());
56 shape->SetMainTransparency(10);
58 TEveTrans&
t = shape->RefMainTrans();
61 for (
int i = 0;
i < 3;
i++)
62 for (
int j = 0;
j < 3;
j++) {
67 TMatrixD mm = svd.GetU();
69 for (
int i = 0;
i < 3;
i++)
70 for (
int j = 0;
j < 3;
j++) {
71 t(
i + 1,
j + 1) = mm(
i,
j);
73 TVectorD vv(eig.GetEigenValuesRe());
74 t.Scale(
sqrt(vv(0)) * 1000.,
sqrt(vv(1)) * 1000.,
sqrt(vv(2)) * 1000.);
75 t.SetPos(v.
x(), v.
y(), v.
z());
79 pointSet->SetNextPoint(v.
x(), v.
y(), v.
z());
85 t.fV = TEveVector(track.
vx(), track.
vy(), track.
vz());
86 t.fP = TEveVector(track.
px(), track.
py(), track.
pz());
88 TEveTrack* trk =
new TEveTrack(&t,
context().getTrackPropagator());
89 trk->SetMainColor(
item()->defaultDisplayProperties().color());
const fireworks::Context & context() const
const FWSecVertexProxyBuilder & operator=(const FWSecVertexProxyBuilder &)=delete
static const int kAllRPZBits
trackRef_iterator tracks_end() const
last iterator over tracks
const VTX & secondaryVertex(unsigned int index) const
double y() const
y coordinate
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
math::Error< dimension >::type Error
covariance error matrix (3x3)
double px() const
x coordinate of momentum vector
FWSecVertexProxyBuilder()
const FWEventItem * item() const
double z() const
z coordinate
double pz() const
z coordinate of momentum vector
double vz() const
z coordinate of the reference point on track
unsigned int nVertices() const
double x() const
x coordinate
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
Error error() const
return SMatrix
double vy() const
y coordinate of the reference point on track
static int position[264][3]
int charge() const
track electric charge
trackRef_iterator tracks_begin() const
first iterator over tracks
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
double py() const
y coordinate of momentum vector
double vx() const
x coordinate of the reference point on track
~FWSecVertexProxyBuilder() override