Definition at line 222 of file TEveEllipsoidGL.cc.
References cms::cuda::bs, funct::cos(), Calorimetry_cff::da, dqmiodatasetharvest::db, TtSemiLepEvtBuilder_cfi::disc, drawArch(), drawRhoZAxis(), MillePedeFileConverter_cfg::e, TEveEllipsoidGL::fE, TEveEllipsoid::fEScale, nano_mu_digi_cff::float, fM, mps_fire::i, dqmiolumiharvest::j, METSkim_cff::Max, METSkim_cff::Min, N, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, gmt_cfi::phiOffset, amptDefault_cfi::proj, TEveEllipsoid::RefEMtx(), TEveEllipsoid::RefPos(), funct::sin(), mathSSE::sqrt(), TwoPi, V0Monitor_cff::v0, and testFFTrackingParticleHits::xxx.
Referenced by DirectDraw().
229 for (
int i = 1;
i < 3;
i++)
230 for (
int j = 1;
j < 3;
j++) {
233 TMatrixDEigen eig(
xxx);
234 TVectorD xxxEig(eig.GetEigenValuesRe());
236 TEveVector
v1(0, eig.GetEigenVectors()(1, 2), eig.GetEigenVectors()(2, 2));
239 TEveVector v2(0, eig.GetEigenVectors()(1, 1), eig.GetEigenVectors()(2, 1));
241 if (v1[1] * v2[2] > v1[2] * v2[1])
244 TEveProjection*
proj =
fM->GetManager()->GetProjection();
247 bool splitted =
false;
253 if (
proj->GetDisplaceOrigin())
254 bs =
proj->RefCenter()[1];
256 float da = v2[1] * v2[1] +
v1[1] *
v1[1];
257 float db = 2 *
v1[1] * (
v0[1] -
bs);
258 float dc = (
v0[1] -
bs) * (
v0[1] -
bs) - v2[1] * v2[1];
263 float cosS1 = (-
db +
disc) / (2 *
da);
264 float cosS2 = (-
db -
disc) / (2 *
da);
265 if (TMath::Abs(cosS1) < 1) {
269 double phi1 = acos(cosS1);
270 double phi2 = acos(cosS2);
271 TEveVector ps1 =
v0 +
v1 * ((
float)
cos(phi1)) + v2 * ((
float)
sin(phi1));
272 TEveVector ps2 =
v0 +
v1 * ((
float)
cos(phi2)) + v2 * ((
float)
sin(phi2));
275 if (TMath::Abs(ps1[1] -
bs) > 1
e-5)
278 if (TMath::Abs(ps2[1] -
bs) > 1
e-5)
299 TGLUtil::LineWidth(
fE->fLineWidth);
300 TGLUtil::Color(
fE->fLineColor);
302 glBegin(GL_LINE_LOOP);
306 glBegin(GL_LINE_LOOP);
316 TGLUtil::LineWidth(
fE->fLineWidth);
317 TGLUtil::Color(
fE->fLineColor);
318 glBegin(GL_LINE_LOOP);
void drawArch(float pStart, float pEnd, float phiStep, TEveVector &v0, TEveVector &v1, TEveVector &v2) const
Sin< T >::type sin(const T &t)
Cos< T >::type cos(const T &t)
TEveEllipsoidProjected * fM
void drawRhoZAxis(TEveVector &v, TEveVector &) const