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"
80 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
81 TEvePointSet* pointSet =
new TEvePointSet();
82 pointSet->SetNextPoint( v.
vx(), v.
vy(), v.
vz() );
87 if (
item()->getConfig()->value<bool>(
"Draw Ellipse"))
104 double ellipseScale = 1.;
108 eveEllipsoid->
SetScale(ellipseScale);
111 TMatrixDEigen eig(m);
112 TVectorD vv ( eig.GetEigenValuesRe());
115 eveEllipsoid->SetLineWidth(2);
117 eveEllipsoid->SetMainTransparency(
TMath::Min(100, 80 +
item()->defaultDisplayProperties().transparency() / 5));
124 eveEllipsoid->SetMainColor(color +
context().colorManager()->offsetOfLimitedColors());
128 if (
item()->getConfig()->value<bool>(
"Draw Tracks"))
136 trk->SetMainColor(
item()->defaultDisplayProperties().
color());
141 if (
item()->getConfig()->value<bool>(
"Draw Pseudo Track"))
145 t.fV = TEveVector(v.
vx(),v.
vy(),v.
vz());
146 t.fP = TEveVector(-v.
p4().px(), -v.
p4().py(), -v.
p4().pz());
148 TEveTrack* trk =
new TEveTrack(&t,
context().getTrackPropagator());
149 trk->SetLineStyle(7);
161 TEveElement* el = iCompound->FindChild(
"Ellipsoid");
163 el->SetMainColor(
item()->getConfig()->value<long>(
"Ellipse Color Index") +
context().colorManager()->offsetOfLimitedColors());
const fireworks::Context & context() const
FWProxyBuilderConfiguration * getConfig() const
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
virtual ~FWVertexCandidateProxyBuilder()
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
math::Error< dimension >::type Error
covariance error matrix (3x3)
virtual double vy() const
y coordinate of vertex position
const FWEventItem * item() const
virtual size_t numberOfDaughters() const
number of daughters
virtual void setItem(const FWEventItem *iItem)
virtual double vz() const
z coordinate of vertex position
FWGenericParameter< T > * assertParam(const std::string &name, T def)
const FWVertexCandidateProxyBuilder & operator=(const FWVertexCandidateProxyBuilder &)
TEveVector & RefExtent3D()
FWVertexCandidateProxyBuilder()
TEveTrack * prepareCandidate(const reco::Candidate &track, TEveTrackPropagator *propagator)
virtual double vx() const
x coordinate of vertex position
T value(const std::string &name)
virtual void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc) override
virtual void setItem(const FWEventItem *iItem) override
virtual const LorentzVector & p4() const final
four-momentum Lorentz vector
virtual const Candidate * daughter(size_type) const
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
void increaseComponentTransparency(unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)