CMS 3D CMS Logo

FW3DViewBase.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Core
4 // Class : FW3DViewBase
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Chris Jones
10 // Created: Thu Feb 21 11:22:41 EST 2008
11 //
12 #include <functional>
13 #include <string>
14 #include <algorithm>
15 
16 // user include files
17 
18 #include "TGButton.h"
19 #include "TGLScenePad.h"
20 #include "TGLViewer.h"
21 #include "TGLClip.h"
22 #include "TGLPerspectiveCamera.h"
23 #include "TEveManager.h"
24 #include "TEveElement.h"
25 #include "TEveLine.h"
26 #include "TEveBoxSet.h"
27 #include "TEveScene.h"
28 #include "TGLLogicalShape.h"
29 #include "TEveCalo.h"
30 #include "TEveCaloData.h"
31 #include "TEveStraightLineSet.h"
32 
41 
42 namespace {
43  class TGLClipsiLogical : public TGLLogicalShape {
44  protected:
45  void DirectDraw(TGLRnrCtx& rnrCtx) const override {}
46 
47  public:
48  TGLClipsiLogical() : TGLLogicalShape() {}
49  ~TGLClipsiLogical() override {}
50  void Resize(Double_t ext) {}
51  };
52 
53  const float fgColor[4] = {1.0, 0.6, 0.2, 0.5};
54 
55  class Clipsi : public TGLClip {
56  private:
57  TGLRnrCtx* m_rnrCtx;
58  Clipsi(const Clipsi&) = delete; // Not implemented
59  Clipsi& operator=(const Clipsi&) = delete; // Not implemented
60 
61  TGLVertex3 vtx[4];
62  TGLVertex3 appexOffset;
63 
64  public:
65  Clipsi(TGLRnrCtx* ctx) : TGLClip(*new TGLClipsiLogical, TGLMatrix(), fgColor), m_rnrCtx(ctx) {}
66  ~Clipsi() override {}
67  using TGLClip::Setup;
68  void Setup(const TGLBoundingBox& bbox) override {}
69 
70  void SetPlaneInfo(TEveVector* vec) {
71  for (int i = 0; i < 4; ++i) {
72  // vec[i].Dump();
73  vtx[i].Set(vec[i].fX + appexOffset.X(), vec[i].fY + appexOffset.Y(), vec[i].fZ + appexOffset.Z());
74  }
75  }
76 
77  void SetAppexOffset(TEveVector& vec) { appexOffset.Set(vec.fX, vec.fY, vec.fZ); }
78 
79  using TGLClip::PlaneSet;
80  void PlaneSet(TGLPlaneSet_t& planeSet) const override {
81  TGLVertex3 o = appexOffset;
82 
83  planeSet.push_back(TGLPlane(o, vtx[0], vtx[1]));
84  planeSet.push_back(TGLPlane(o, vtx[1], vtx[2]));
85  planeSet.push_back(TGLPlane(o, vtx[2], vtx[3]));
86  planeSet.push_back(TGLPlane(o, vtx[3], vtx[0]));
87  }
88  };
89 } // namespace
90 
92 //
93 //
94 // FW3DViewBase
95 //
96 //
97 //
99 FW3DViewBase::FW3DViewBase(TEveWindowSlot* iParent, FWViewType::EType typeId, unsigned int version)
100  : FWEveView(iParent, typeId, version),
101  m_geometry(nullptr),
102  m_glClip(nullptr),
103  m_showMuonBarrel(this, "Show Muon Barrel", 0l, 0l, 2l),
104  m_showMuonEndcap(this, "Show Muon Endcap", false),
105  m_showPixelBarrel(this, "Show Pixel Barrel", false),
106  m_showPixelEndcap(this, "Show Pixel Endcap", false),
107  m_showTrackerBarrel(this, "Show Tracker Barrel", false),
108  m_showTrackerEndcap(this, "Show Tracker Endcap", false),
109  m_showHGCalEE(this, "Show HGCalEE", false),
110  m_showHGCalHSi(this, "Show HGCalHSi", false),
111  m_showHGCalHSc(this, "Show HGCalHSc", false),
112  m_ecalBarrel(nullptr),
113  m_showEcalBarrel(this, "Show Ecal Barrel", false),
114  m_rnrStyle(this, "Render Style", 0l, 0l, 2l),
115  m_selectable(this, "Enable Tooltips", false),
116  m_cameraType(this, "Camera Type", 0l, 0l, 5l),
117  m_clipEnable(this, "Enable Clip", false),
118  m_clipTheta(this, "Clip Theta", 0.0, -5.0, 5.0),
119  m_clipPhi(this, "Clip Phi", 0.0, -2.0, 2.0),
120  m_clipDelta1(this, "Clip Delta1", 0.2, 0.01, 2),
121  m_clipDelta2(this, "Clip Delta2", 0.2, 0.01, 2),
122  m_clipAppexOffset(this, "Appex Offset", 10l, 0l, 50l),
123  m_clipHGCalLayerBegin(this, "HGCal Lower Bound", 1l, 1l, 52l),
124  m_clipHGCalLayerEnd(this, "HGCal Upper Bound", 52l, 1l, 52l),
125  m_DMT(nullptr),
126  m_DMTline(nullptr) {
127  viewerGL()->SetCurrentCamera(TGLViewer::kCameraPerspXOZ);
129 
130  m_showMuonBarrel.addEntry(0, "Hide");
131  m_showMuonBarrel.addEntry(1, "Simplified");
132  m_showMuonBarrel.addEntry(2, "Full");
133  m_showMuonBarrel.changed_.connect(std::bind(&FW3DViewBase::showMuonBarrel, this, std::placeholders::_1));
134 
135  m_rnrStyle.addEntry(TGLRnrCtx::kFill, "Fill");
136  m_rnrStyle.addEntry(TGLRnrCtx::kOutline, "Outline");
137  m_rnrStyle.addEntry(TGLRnrCtx::kWireFrame, "WireFrame");
138  m_rnrStyle.changed_.connect(std::bind(&FW3DViewBase::rnrStyle, this, std::placeholders::_1));
139 
140  m_selectable.changed_.connect(std::bind(&FW3DViewBase::selectable, this, std::placeholders::_1));
141 
142  m_cameraType.addEntry(TGLViewer::kCameraPerspXOZ, "PerspXOZ");
143  m_cameraType.addEntry(TGLViewer::kCameraOrthoXOY, "OrthoXOY");
144  m_cameraType.addEntry(TGLViewer::kCameraOrthoXOZ, "OrthoXOZ");
145  m_cameraType.addEntry(TGLViewer::kCameraOrthoZOY, "OrthoZOY");
146  m_cameraType.addEntry(TGLViewer::kCameraOrthoXnOY, "OrthoXnOY");
147  m_cameraType.addEntry(TGLViewer::kCameraOrthoXnOZ, "OrthoXnOZ");
148  m_cameraType.addEntry(TGLViewer::kCameraOrthoZnOY, "OrthoZnOY");
149  m_cameraType.changed_.connect(std::bind(&FW3DViewBase::setCameraType, this, std::placeholders::_1));
150 
151  m_clipEnable.changed_.connect(std::bind(&FW3DViewBase::enableSceneClip, this, std::placeholders::_1));
152  m_clipTheta.changed_.connect(std::bind(&FW3DViewBase::updateClipPlanes, this, false));
153  m_clipPhi.changed_.connect(std::bind(&FW3DViewBase::updateClipPlanes, this, false));
154  m_clipDelta1.changed_.connect(std::bind(&FW3DViewBase::updateClipPlanes, this, false));
155  m_clipDelta2.changed_.connect(std::bind(&FW3DViewBase::updateClipPlanes, this, false));
156  m_clipAppexOffset.changed_.connect(std::bind(&FW3DViewBase::updateClipPlanes, this, false));
157  m_clipHGCalLayerBegin.changed_.connect(std::bind(&FW3DViewBase::updateHGCalVisibility, this, false));
158  m_clipHGCalLayerEnd.changed_.connect(std::bind(&FW3DViewBase::updateHGCalVisibility, this, false));
159 
160  m_ecalBarrel = new TEveBoxSet("ecalBarrel");
161  m_ecalBarrel->UseSingleColor();
162  m_ecalBarrel->SetMainColor(kAzure + 10);
163  m_ecalBarrel->SetMainTransparency(98);
164  geoScene()->AddElement(m_ecalBarrel);
165 }
166 
168 
171 
173  geoScene()->AddElement(m_geometry);
174 
175  m_showPixelBarrel.changed_.connect(std::bind(&FW3DViewGeometry::showPixelBarrel, m_geometry, std::placeholders::_1));
176  m_showPixelEndcap.changed_.connect(std::bind(&FW3DViewGeometry::showPixelEndcap, m_geometry, std::placeholders::_1));
178  std::bind(&FW3DViewGeometry::showTrackerBarrel, m_geometry, std::placeholders::_1));
180  std::bind(&FW3DViewGeometry::showTrackerEndcap, m_geometry, std::placeholders::_1));
181  m_showHGCalEE.changed_.connect(std::bind(&FW3DViewGeometry::showHGCalEE, m_geometry, std::placeholders::_1));
182  m_showHGCalHSi.changed_.connect(std::bind(&FW3DViewGeometry::showHGCalHSi, m_geometry, std::placeholders::_1));
183  m_showHGCalHSc.changed_.connect(std::bind(&FW3DViewGeometry::showHGCalHSc, m_geometry, std::placeholders::_1));
184  m_showMuonEndcap.changed_.connect(std::bind(&FW3DViewGeometry::showMuonEndcap, m_geometry, std::placeholders::_1));
185  m_showEcalBarrel.changed_.connect(std::bind(&FW3DViewBase::showEcalBarrel, this, std::placeholders::_1));
186 
187  // don't clip event scene -- ideally, would have TGLClipNoClip in root
188  TGLClipPlane* c = new TGLClipPlane();
189  c->Setup(TGLVector3(1e10, 0, 0), TGLVector3(-1, 0, 0));
190  eventScene()->GetGLScene()->SetClip(c);
191 
192  m_DMTline = new TEveLine();
193  m_DMTline->SetLineColor(1016);
194  m_DMTline->SetLineStyle(5);
195 
196  m_DMTline->SetPoint(0, 0, 0, 0);
197  m_DMTline->SetPoint(1, 0, 0, 0);
198  eventScene()->AddElement(m_DMTline);
200 }
201 
203  if (m_geometry) {
204  m_geometry->showMuonBarrel(x == 1);
206  }
207 }
208 
210  viewerGL()->RefCamera(TGLViewer::ECameraType(x)).IncTimeStamp();
211  viewerGL()->SetCurrentCamera(TGLViewer::ECameraType(x));
212 
213  //if (viewerGL()->CurrentCamera().IsOrthographic())
214  // ((TGLOrthoCamera*)(&viewerGL()->CurrentCamera()))->SetEnableRotate(1);
215 }
216 
218  geoScene()->GetGLScene()->SetStyle(x);
219  viewerGL()->Changed();
220  gEve->Redraw3D();
221 }
222 
223 void FW3DViewBase::selectable(bool x) { geoScene()->GetGLScene()->SetSelectable(x); }
225  if (m_glClip == nullptr) {
226  m_glClip = new Clipsi(viewerGL()->GetRnrCtx());
227 
228  m_glClip->SetMode(TGLClip::kOutside);
229  }
230 
231  geoScene()->GetGLScene()->SetClip(x ? m_glClip : nullptr);
232  for (TEveElement::List_i it = gEve->GetScenes()->BeginChildren(); it != gEve->GetScenes()->EndChildren(); ++it) {
233  if (strncmp((*it)->GetElementName(), "TopGeoNodeScene", 15) == 0)
234  ((TEveScene*)(*it))->GetGLScene()->SetClip(x ? m_glClip : nullptr);
235  }
236  eventScene()->GetGLScene()->SetClip(x ? m_glClip : nullptr);
237  updateClipPlanes(true);
238  updateHGCalVisibility(false);
239  viewerGL()->RequestDraw();
240 }
241 
242 void FW3DViewBase::setClip(float theta, float phi) {
243  // called from popup menu via FWGUIManager
244 
245  // limit to 2 decimals, else TGNumber entry in the view controller shows only last 5 irrelevant digits
246  double base = 100.0;
247  int thetaInt = theta * base;
248  int phiInt = phi * base;
249  m_clipTheta.set(thetaInt / base);
250  m_clipPhi.set(phiInt / base);
251  m_clipEnable.set(true);
252 }
253 
254 namespace {
255  float getBBoxLineLength(TEveScene* scene, TEveVector in) {
256  if (!scene->NumChildren())
257  return 0;
258 
259  scene->Repaint();
260  scene->GetGLScene()->CalcBoundingBox();
261  const TGLBoundingBox& bb = scene->GetGLScene()->BoundingBox();
262  if (bb.IsEmpty())
263  return 0;
264 
265  TGLPlaneSet_t ps;
266  bb.PlaneSet(ps);
267  TEveVector inn = in;
268  inn.Normalize();
269  inn *= 10000;
270  TGLLine3 line(TGLVertex3(), TGLVertex3(inn.fX, inn.fY, inn.fZ));
271  std::vector<float> res;
272  for (TGLPlaneSet_i i = ps.begin(); i != ps.end(); ++i) {
273  std::pair<Bool_t, TGLVertex3> r = Intersection(*i, line, false);
274  if (r.first) {
275  TGLVector3 vr(r.second.X(), r.second.Y(), r.second.Z());
276  res.push_back(vr.Mag());
277  }
278  }
279  std::sort(res.begin(), res.end());
280  return res.front();
281  }
282 
283  void setBBoxClipped(TGLBoundingBox& bbox, TEveVector dir, TEveVector b0, TEveVector b1, float fac) {
284  dir *= fac;
285  b0 *= fac;
286  b1 *= fac;
287 
288  TEveVectorD bb[8];
289  bb[0] += b0;
290  bb[0] += b1;
291  bb[1] -= b0;
292  bb[1] += b1;
293  bb[2] -= b0;
294  bb[2] -= b1;
295  bb[3] += b0;
296  bb[3] -= b1;
297 
298  for (int i = 4; i < 8; ++i)
299  bb[i] = dir;
300 
301  bb[0 + 4] += b0;
302  bb[0 + 4] += b1;
303  bb[1 + 4] -= b0;
304  bb[1 + 4] += b1;
305  bb[2 + 4] -= b0;
306  bb[2 + 4] -= b1;
307  bb[3 + 4] += b0;
308  bb[3 + 4] -= b1;
309 
310  TGLVertex3 bbv[8];
311  for (int i = 0; i < 8; ++i) {
312  bbv[i].Set(bb[i].fX, bb[i].fY, bb[i].fZ);
313  }
314  bbox.Set(bbv);
315  }
316 } // namespace
317 
318 void FW3DViewBase::updateClipPlanes(bool resetCamera) {
319  // TEveScene* gs = (TEveScene*)gEve->GetScenes()->FindChild(TString("TopGeoNodeScene"));
320  //printf("node scene %p\n", gs);
321  if (m_clipEnable.value()) {
322  float theta = m_clipTheta.value();
323  float phi = m_clipPhi.value();
324  using namespace TMath;
325  TEveVector in(Sin(theta) * Cos(phi), Sin(theta) * Sin(phi), Cos(theta));
326 
327  // one side of cross section plane is paralel to XY plane
328  TEveVector normXY(0., 1., 0);
329  TEveVector b0 = in.Cross(normXY);
330  TEveVector b1 = in.Cross(b0);
331 
332  float delta1 = m_clipDelta1.value();
333  float delta2 = m_clipDelta2.value();
334  b0.Normalize();
335  b0 *= Sin(delta1);
336  b1.Normalize();
337  b1 *= Sin(delta2);
338 
339  TEveVector c[4];
340  c[0] += b0;
341  c[0] += b1;
342  c[1] -= b0;
343  c[1] += b1;
344  c[2] -= b0;
345  c[2] -= b1;
346  c[3] += b0;
347  c[3] -= b1;
348  for (int i = 0; i < 4; ++i)
349  c[i] += in;
350 
351  TEveVector aOff = in;
352  aOff.NegateXYZ();
353  aOff.Normalize();
354  aOff *= m_clipAppexOffset.value();
355  ((Clipsi*)m_glClip)->SetAppexOffset(aOff);
356 
357  ((Clipsi*)m_glClip)->SetPlaneInfo(&c[0]);
358 
359  if (resetCamera) {
360  TGLBoundingBox bbox;
361  float es = getBBoxLineLength(eventScene(), in);
362  float gs = getBBoxLineLength(geoScene(), in);
363  setBBoxClipped(bbox, in, b0, b1, TMath::Max(es, gs));
364 
365  /*
366  TEvePointSet* bmarker = new TEvePointSet(8);
367  bmarker->Reset(4);
368  bmarker->SetName("bbox");
369  bmarker->SetMarkerColor(kOrange);
370  bmarker->SetMarkerStyle(3);
371  bmarker->SetMarkerSize(0.2);
372  for (int i = 0; i < 8; ++i)
373  bmarker->SetPoint(i, bbox[i].X(), bbox[i].Y(), bbox[i].Z());
374  eventScene()->AddElement(bmarker);
375  */
376 
377  TGLCamera& cam = viewerGL()->CurrentCamera();
378  cam.SetExternalCenter(true);
379  cam.SetCenterVec(bbox.Center().X(), bbox.Center().Y(), bbox.Center().Z());
380  cam.Setup(bbox, true);
381  } else {
382  eventScene()->Repaint();
383  }
384  }
385 
386  gEve->Redraw3D();
387 }
388 
390  if (!m_clipEnable.value())
391  return;
392 
393  long lmin = m_clipHGCalLayerBegin.value();
394  long lmax = m_clipHGCalLayerEnd.value();
395 
396  // real min, max
397  long r_lmin = std::min(lmin, lmax);
398  long r_lmax = std::max(lmin, lmax);
399 
400  TEveElementList const* const HGCalEE = m_geometry->getHGCalEE();
401  if (HGCalEE) {
402  for (const auto& it : HGCalEE->RefChildren()) {
403  std::string title(it->GetElementTitle());
404  int layer = stoi(title.substr(title.length() - 2));
405  it->SetRnrState(layer >= r_lmin && layer <= r_lmax);
406  }
407  }
408 
409  TEveElementList const* const HGCalHSi = m_geometry->getHGCalHSi();
410  if (HGCalHSi) {
411  for (const auto& it : HGCalHSi->RefChildren()) {
412  std::string title(it->GetElementTitle());
413  int layer = stoi(title.substr(title.length() - 2)) + 28;
414  it->SetRnrState(layer >= r_lmin && layer <= r_lmax);
415  }
416  }
417 
418  TEveElementList const* const HGCalHSc = m_geometry->getHGCalHSc();
419  if (HGCalHSc) {
420  for (const auto& it : HGCalHSc->RefChildren()) {
421  std::string title(it->GetElementTitle());
422  int layer = stoi(title.substr(title.length() - 2)) + 28;
423  it->SetRnrState(layer >= r_lmin && layer <= r_lmax);
424  }
425  }
426 
427  gEve->Redraw3D();
428 }
429 
430 //______________________________________________________________________________
432  // take care of parameters
433  FWEveView::addTo(iTo);
434  TGLPerspectiveCamera* camera = dynamic_cast<TGLPerspectiveCamera*>(&(viewerGL()->CurrentCamera()));
435  if (camera)
436  addToPerspectiveCamera(camera, "Plain3D", iTo);
437 }
438 
439 //______________________________________________________________________________
441  // take care of parameters
442  FWEveView::setFrom(iFrom);
443 
444  TGLPerspectiveCamera* camera = dynamic_cast<TGLPerspectiveCamera*>(&(viewerGL()->CurrentCamera()));
445  if (camera)
446  setFromPerspectiveCamera(camera, "Plain3D", iFrom);
447 
448  if (iFrom.version() < 5) {
449  // transparency moved to common preferences in FWEveView version 5
450  std::string tName("Detector Transparency");
451  std::istringstream s(iFrom.valueForKey(tName)->value());
452  int transp;
453  s >> transp;
454  context().colorManager()->setGeomTransparency(transp, false);
455  }
456 }
457 
459 
460 void FW3DViewBase::setCurrentDMTVertex(double x, double y, double z) {
462  printf("ERROR!!!! FW3DViewBase::setCurrentDMTVertex \n");
463 
464  m_DMTline->SetPoint(m_DMT->m_action, x, y, z);
465  m_DMTline->ElementChanged();
466  viewerGL()->RequestDraw();
467 
468  m_DMT->refCurrentVertex().Set(x, y, z);
469  m_DMT->resetAction();
470 }
471 
474 
475  gui.requestTab("Detector")
488 
489  gui.requestTab("Clipping")
498 
499  gui.requestTab("Style").separator();
500  gui.getTabContainer()->AddFrame(
501  new TGTextButton(gui.getTabContainer(),
502  "Root controls",
503  Form("TEveGedEditor::SpawnNewEditor((TGLViewer*)0x%lx)", (unsigned long)viewerGL())));
504 
505  gui.requestTab("Tools").addParam(&m_cameraType).separator();
506  gui.getTabContainer()->AddFrame(m_DMT->buildGUI(gui.getTabContainer()),
507  new TGLayoutHints(kLHintsExpandX, 2, 2, 2, 2));
508 }
509 
511  if (x && m_ecalBarrel->GetPlex()->Size() == 0) {
512  const FWGeometry* geom = context().getGeom();
513  std::vector<unsigned int> ids =
514  geom->getMatchedIds(FWGeometry::Detector::Ecal, FWGeometry::SubDetector::PixelBarrel);
515  m_ecalBarrel->Reset(TEveBoxSet::kBT_FreeBox, true, ids.size());
516  for (std::vector<unsigned int>::iterator it = ids.begin(); it != ids.end(); ++it) {
517  const float* cor = context().getGeom()->getCorners(*it);
518  m_ecalBarrel->AddBox(cor);
519  }
520  m_ecalBarrel->RefitPlex();
521  }
522 
523  if (m_ecalBarrel->GetRnrSelf() != x) {
524  m_ecalBarrel->SetRnrSelf(x);
525  gEve->Redraw3D();
526  }
527 
528  // disable enable grid in 3DView
529  if (typeId() == FWViewType::k3D) {
530  TEveElement* calo = eventScene()->FindChild("calo barrel");
531  if (calo) {
532  TEveCalo3D* c3d = dynamic_cast<TEveCalo3D*>(calo);
533  c3d->SetRnrFrame(!x, !x);
534  c3d->ElementChanged();
535  }
536  }
537 }
FW3DViewBase::m_showPixelEndcap
FWBoolParameter m_showPixelEndcap
Definition: FW3DViewBase.h:82
FW3DViewBase::FW3DViewBase
FW3DViewBase(TEveWindowSlot *, FWViewType::EType, unsigned int version=8)
Definition: FW3DViewBase.cc:99
ext
Definition: memstream.h:15
FW3DViewBase::m_DMTline
TEveLine * m_DMTline
Definition: FW3DViewBase.h:107
DDAxes::y
FW3DViewDistanceMeasureTool::m_action
EPickAction m_action
Definition: FW3DViewDistanceMeasureTool.h:32
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
mps_fire.i
i
Definition: mps_fire.py:428
fireworks::Context
Definition: Context.h:41
FWGeometry
Definition: FWGeometry.h:27
FW3DViewBase::setFrom
void setFrom(const FWConfiguration &) override
Definition: FW3DViewBase.cc:440
funct::false
false
Definition: Factorize.h:29
FWGeometry::getCorners
const float * getCorners(unsigned int id) const
Definition: FWGeometry.cc:467
FW3DViewGeometry::showHGCalHSi
void showHGCalHSi(bool)
Definition: FW3DViewGeometry.cc:408
FW3DViewGeometry::showHGCalEE
void showHGCalEE(bool)
Definition: FW3DViewGeometry.cc:379
FW3DViewDistanceMeasureTool::buildGUI
TGCompositeFrame * buildGUI(TGCompositeFrame *p)
Definition: FW3DViewDistanceMeasureTool.cc:70
FW3DViewBase::setContext
void setContext(const fireworks::Context &) override
Definition: FW3DViewBase.cc:169
FWViewType::EType
EType
Definition: FWViewType.h:31
fireworks::Context::colorManager
FWColorManager * colorManager() const
Definition: Context.h:58
ViewerParameterGUI
Definition: CmsShowViewPopup.h:49
FW3DViewDistanceMeasureTool::refCurrentVertex
TGLVector3 & refCurrentVertex()
Definition: FW3DViewDistanceMeasureTool.cc:58
min
T min(T a, T b)
Definition: MathUtil.h:58
FW3DViewGeometry::showMuonBarrelFull
void showMuonBarrelFull(bool)
Definition: FW3DViewGeometry.cc:113
FW3DViewGeometry::showMuonBarrel
void showMuonBarrel(bool)
Definition: FW3DViewGeometry.cc:81
simpleEdmComparison.tName
tName
Definition: simpleEdmComparison.py:125
FWEveView::populateController
void populateController(ViewerParameterGUI &) const override
Definition: FWEveView.cc:466
FWEveView::setFrom
void setFrom(const FWConfiguration &) override
Definition: FWEveView.cc:307
FWEnumParameter::addEntry
bool addEntry(Long_t id, const std::string &txt)
Definition: FWEnumParameter.h:53
bmtfDigis_cfi.Setup
Setup
Definition: bmtfDigis_cfi.py:5
FW3DViewBase::m_showEcalBarrel
FWBoolParameter m_showEcalBarrel
Definition: FW3DViewBase.h:90
FW3DViewBase::m_rnrStyle
FWEnumParameter m_rnrStyle
Definition: FW3DViewBase.h:92
FWGenericParameter::set
void set(T iValue)
Definition: FWGenericParameter.h:70
DDAxes::x
FW3DViewBase::showEcalBarrel
void showEcalBarrel(bool)
Definition: FW3DViewBase.cc:510
FW3DViewBase::m_showHGCalHSc
FWBoolParameter m_showHGCalHSc
Definition: FW3DViewBase.h:87
FW3DViewBase::showMuonBarrel
void showMuonBarrel(long)
Definition: FW3DViewBase.cc:202
gs
Definition: AbsArchive.cc:45
EcalTangentSkim_cfg.o
o
Definition: EcalTangentSkim_cfg.py:42
FW3DViewDistanceMeasureTool::kNone
Definition: FW3DViewDistanceMeasureTool.h:14
FWEveView::eventScene
TEveScene * eventScene()
Definition: FWEveView.h:79
b1
static constexpr float b1
Definition: L1EGammaCrystalsEmulatorProducer.cc:83
FWViewBase::typeId
FWViewType::EType typeId() const
Definition: FWViewBase.h:42
GeomDetEnumerators::PixelBarrel
Definition: GeomDetEnumerators.h:11
FWViewContext.h
alignCSCRings.s
s
Definition: alignCSCRings.py:92
FW3DViewBase::addTo
void addTo(FWConfiguration &) const override
Definition: FW3DViewBase.cc:431
FW3DViewBase::m_geometry
FW3DViewGeometry * m_geometry
Definition: FW3DViewBase.h:75
FWGenericParameter::changed_
sigc::signal< void, T > changed_
Definition: FWGenericParameter.h:75
ViewerParameterGUI::separator
ViewerParameterGUI & separator()
Definition: CmsShowViewPopup.cc:232
FWEveView
Definition: FWEveView.h:53
FWEveView::context
const fireworks::Context & context()
Definition: FWEveView.h:64
FWEveView::setFromPerspectiveCamera
void setFromPerspectiveCamera(TGLPerspectiveCamera *, const std::string &, const FWConfiguration &)
Definition: FWEveView.cc:420
FW3DViewGeometry::getHGCalHSi
TEveElementList const *const getHGCalHSi()
Definition: FW3DViewGeometry.h:50
FW3DViewBase::m_ecalBarrel
TEveBoxSet * m_ecalBarrel
Definition: FW3DViewBase.h:89
FW3DViewBase::m_clipHGCalLayerBegin
FWLongParameter m_clipHGCalLayerBegin
Definition: FW3DViewBase.h:103
DDAxes::z
FW3DViewBase::m_clipHGCalLayerEnd
FWLongParameter m_clipHGCalLayerEnd
Definition: FW3DViewBase.h:104
FW3DViewGeometry::getHGCalHSc
TEveElementList const *const getHGCalHSc()
Definition: FW3DViewGeometry.h:52
FW3DViewBase::m_clipAppexOffset
FWLongParameter m_clipAppexOffset
Definition: FW3DViewBase.h:102
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
FW3DViewBase::populateController
void populateController(ViewerParameterGUI &) const override
Definition: FW3DViewBase.cc:472
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
FWConfiguration::valueForKey
const FWConfiguration * valueForKey(const std::string &iKey) const
Definition: FWConfiguration.cc:122
FW3DViewBase::setCurrentDMTVertex
void setCurrentDMTVertex(double x, double y, double z)
Definition: FW3DViewBase.cc:460
FW3DViewDistanceMeasureTool.h
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
FW3DViewBase::selectable
void selectable(bool)
Definition: FW3DViewBase.cc:223
FWConfiguration::value
const std::string & value(unsigned int iIndex=0) const
Definition: FWConfiguration.cc:115
FW3DViewGeometry::showMuonEndcap
void showMuonEndcap(bool)
Definition: FW3DViewGeometry.cc:143
FWGeometry.h
FW3DViewBase::m_showTrackerEndcap
FWBoolParameter m_showTrackerEndcap
Definition: FW3DViewBase.h:84
FW3DViewGeometry.h
FW3DViewBase::setCameraType
void setCameraType(long)
Definition: FW3DViewBase.cc:209
FW3DViewBase::m_glClip
TGLClip * m_glClip
Definition: FW3DViewBase.h:76
ViewerParameterGUI::getTabContainer
TGCompositeFrame * getTabContainer()
Definition: CmsShowViewPopup.cc:240
FW3DViewBase::m_showMuonEndcap
FWBoolParameter m_showMuonEndcap
Definition: FW3DViewBase.h:80
PVValHelper::phi
Definition: PVValidationHelpers.h:69
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
recoMuon::in
Definition: RecoMuonEnumerators.h:6
fireworks::Context::getGeom
FWGeometry * getGeom() const
Definition: Context.h:72
FW3DViewBase::m_clipEnable
FWBoolParameter m_clipEnable
Definition: FW3DViewBase.h:97
FW3DViewBase::updateHGCalVisibility
void updateHGCalVisibility(bool)
Definition: FW3DViewBase.cc:389
FWColorManager::setGeomTransparency
void setGeomTransparency(Color_t idx, bool projectedType)
Definition: FWColorManager.cc:238
FW3DViewGeometry::showPixelEndcap
void showPixelEndcap(bool)
Definition: FW3DViewGeometry.cc:302
FW3DViewDistanceMeasureTool::resetAction
void resetAction()
Definition: FW3DViewDistanceMeasureTool.cc:22
b0
static constexpr float b0
Definition: L1EGammaCrystalsEmulatorProducer.cc:83
Max
T Max(T a, T b)
Definition: MathUtil.h:44
FW3DViewBase::m_showMuonBarrel
FWEnumParameter m_showMuonBarrel
Definition: FW3DViewBase.h:79
FWConfiguration::version
unsigned int version() const
Definition: FWConfiguration.h:49
FW3DViewBase::rnrStyle
void rnrStyle(long)
Definition: FW3DViewBase.cc:217
res
Definition: Electron.h:6
FW3DViewBase::m_selectable
FWBoolParameter m_selectable
Definition: FW3DViewBase.h:93
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
alignCSCRings.r
r
Definition: alignCSCRings.py:93
FW3DViewGeometry::showHGCalHSc
void showHGCalHSc(bool)
Definition: FW3DViewGeometry.cc:437
FW3DViewBase::setClip
void setClip(float eta, float phi)
Definition: FW3DViewBase.cc:242
FWGenericParameter::value
T value() const
Definition: FWGenericParameter.h:50
DDAxes::phi
FW3DViewGeometry::showPixelBarrel
void showPixelBarrel(bool)
Definition: FW3DViewGeometry.cc:276
FW3DViewBase::m_cameraType
FWEnumParameter m_cameraType
Definition: FW3DViewBase.h:95
FWEveView::addToPerspectiveCamera
void addToPerspectiveCamera(TGLPerspectiveCamera *, const std::string &, FWConfiguration &) const
Definition: FWEveView.cc:397
FW3DViewBase::m_clipDelta2
FWDoubleParameter m_clipDelta2
Definition: FW3DViewBase.h:101
FW3DViewBase::m_clipPhi
FWDoubleParameter m_clipPhi
Definition: FW3DViewBase.h:99
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
FWEveView::addTo
void addTo(FWConfiguration &) const override
Definition: FWEveView.cc:291
FW3DViewBase::m_showPixelBarrel
FWBoolParameter m_showPixelBarrel
Definition: FW3DViewBase.h:81
FW3DViewBase::m_showTrackerBarrel
FWBoolParameter m_showTrackerBarrel
Definition: FW3DViewBase.h:83
genVertex_cff.x
x
Definition: genVertex_cff.py:12
CmsShowViewPopup.h
FW3DViewGeometry
Definition: FW3DViewGeometry.h:29
FW3DViewBase::m_DMT
FW3DViewDistanceMeasureTool * m_DMT
Definition: FW3DViewBase.h:106
FWEveView::resetCamera
virtual void resetCamera()
Definition: FWEveView.cc:224
FW3DViewBase::requestGLHandlerPick
bool requestGLHandlerPick() const override
Definition: FW3DViewBase.cc:458
FWViewType::k3D
Definition: FWViewType.h:34
FWEveView::viewerGL
TGLViewer * viewerGL() const
Definition: FWEveView.cc:177
FW3DViewBase::~FW3DViewBase
~FW3DViewBase() override
Definition: FW3DViewBase.cc:167
FW3DViewBase::m_showHGCalHSi
FWBoolParameter m_showHGCalHSi
Definition: FW3DViewBase.h:86
FW3DViewBase::m_clipTheta
FWDoubleParameter m_clipTheta
Definition: FW3DViewBase.h:98
FWViewEnergyScale.h
FW3DViewBase::enableSceneClip
void enableSceneClip(bool)
Definition: FW3DViewBase.cc:224
FWConfiguration
Definition: FWConfiguration.h:31
FWEveView::setContext
virtual void setContext(const fireworks::Context &x)
Definition: FWEveView.cc:227
FW3DViewGeometry::showTrackerBarrel
void showTrackerBarrel(bool)
Definition: FW3DViewGeometry.cc:325
calo
Definition: Common.h:9
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
FWEveView::geoScene
TEveScene * geoScene()
Definition: FWEveView.h:80
mps_splice.line
line
Definition: mps_splice.py:76
newFWLiteAna.base
base
Definition: newFWLiteAna.py:92
BeamSplash_cfg.version
version
Definition: BeamSplash_cfg.py:45
FW3DViewBase::updateClipPlanes
void updateClipPlanes(bool resetCamera)
Definition: FW3DViewBase.cc:318
FW3DViewGeometry::getHGCalEE
TEveElementList const *const getHGCalEE()
Definition: FW3DViewGeometry.h:48
FW3DViewDistanceMeasureTool
Definition: FW3DViewDistanceMeasureTool.h:10
ViewerParameterGUI::addParam
ViewerParameterGUI & addParam(const FWParameterBase *)
Definition: CmsShowViewPopup.cc:212
FW3DViewBase::m_showHGCalEE
FWBoolParameter m_showHGCalEE
Definition: FW3DViewBase.h:85
FW3DViewGeometry::showTrackerEndcap
void showTrackerEndcap(bool)
Definition: FW3DViewGeometry.cc:352
Context.h
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
ViewerParameterGUI::requestTab
ViewerParameterGUI & requestTab(const char *)
Definition: CmsShowViewPopup.cc:197
FW3DViewBase::m_clipDelta1
FWDoubleParameter m_clipDelta1
Definition: FW3DViewBase.h:100
FW3DViewBase.h