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 "TEveGeoShape.h" 39 #include "TEveVSDStructs.h" 54 "Ellipse Color Index", 6
l, 0
l, (
long)
context().colorManager()->numberOfLimitedColors());
67 TEveElement& oItemHolder,
71 TEveElement* iCompound,
78 TEveElement& oItemHolder,
83 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
84 TEvePointSet* pointSet =
new TEvePointSet();
85 pointSet->SetNextPoint(
v.vx(),
v.vy(),
v.vz());
89 if (
item()->getConfig()->value<bool>(
"Draw Ellipse")) {
92 eveEllipsoid->
RefPos().Set(
v.vx(),
v.vy(),
v.vz());
96 for (
int i = 0;
i < 3;
i++)
97 for (
int j = 0;
j < 3;
j++) {
103 double ellipseScale = 1.;
107 eveEllipsoid->
SetScale(ellipseScale);
110 TMatrixDEigen eig(
m);
111 TVectorD vv(eig.GetEigenValuesRe());
112 eveEllipsoid->
RefExtent3D().Set(
sqrt(vv(0)) * ellipseScale,
sqrt(vv(1)) * ellipseScale,
sqrt(vv(2)) * ellipseScale);
114 eveEllipsoid->SetLineWidth(2);
116 eveEllipsoid->SetMainTransparency(
TMath::Min(100, 80 +
item()->defaultDisplayProperties().transparency() / 5));
121 eveEllipsoid->SetMainColor(color +
context().colorManager()->offsetOfLimitedColors());
125 if (
item()->getConfig()->value<bool>(
"Draw Tracks")) {
126 for (
unsigned int j = 0;
j <
v.numberOfDaughters();
j++) {
131 trk->SetMainColor(
item()->defaultDisplayProperties().color());
136 if (
item()->getConfig()->value<bool>(
"Draw Pseudo Track")) {
139 t.fV = TEveVector(
v.vx(),
v.vy(),
v.vz());
140 t.fP = TEveVector(-
v.p4().px(), -
v.p4().py(), -
v.p4().pz());
142 TEveTrack* trk =
new TEveTrack(&
t,
context().getTrackPropagator());
143 trk->SetLineStyle(7);
150 TEveElement* iCompound,
154 TEveElement* el = iCompound->FindChild(
"Ellipsoid");
156 el->SetMainColor(
item()->getConfig()->value<long>(
"Ellipse Color Index") +
157 context().colorManager()->offsetOfLimitedColors());
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
FWProxyBuilderConfiguration * getConfig() const
~FWVertexCandidateProxyBuilder() override
math::Error< dimension >::type Error
covariance error matrix (3x3)
const fireworks::Context & context() const
void setItem(const FWEventItem *iItem) override
virtual void setItem(const FWEventItem *iItem)
FWGenericParameter< T > * assertParam(const std::string &name, T def)
TEveVector & RefExtent3D()
static constexpr unsigned int k3DBit
FWVertexCandidateProxyBuilder()
const FWVertexCandidateProxyBuilder & operator=(const FWVertexCandidateProxyBuilder &)=delete
TEveTrack * prepareCandidate(const reco::Candidate &track, TEveTrackPropagator *propagator)
T value(const std::string &name)
void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc) override
const FWEventItem * item() const
void increaseComponentTransparency(unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)