CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
FWRPZView Class Reference

#include <Fireworks/Core/interface/FWRPZView.h>

Inheritance diagram for FWRPZView:
FWEveView FWViewBase FWConfigurableParameterizable FWParameterizable FWConfigurable

Public Member Functions

virtual void addTo (FWConfiguration &) const
 
virtual void eventBegin ()
 
 FWRPZView (TEveWindowSlot *iParent, FWViewType::EType)
 
virtual TEveCaloViz * getEveCalo () const
 
void importElements (TEveElement *iProjectableChild, float layer, TEveElement *iProjectedParent=0)
 
virtual void populateController (ViewerParameterGUI &) const
 
void resetOrigin ()
 
virtual void setContext (const fireworks::Context &)
 
virtual void setFrom (const FWConfiguration &)
 
void shiftOrigin (TEveVector &center)
 
virtual void voteCaloMaxVal ()
 
virtual ~FWRPZView ()
 
- Public Member Functions inherited from FWEveView
const fireworks::Contextcontext ()
 
virtual
FWViewContextMenuHandlerBase
contextMenuHandler () const
 
virtual void eventEnd ()
 
TEveScene * eventScene ()
 
 FWEveView (TEveWindowSlot *, FWViewType::EType, unsigned int version=7)
 
FWTEveViewerfwViewer ()
 
FWTGLViewerfwViewerGL () const
 
TEveScene * geoScene ()
 
virtual bool isEnergyScaleGlobal () const
 
TEveElement * ownedProducts ()
 
virtual bool requestGLHandlerPick () const
 
virtual void saveImageTo (const std::string &iName) const
 
virtual void setBackgroundColor (Color_t)
 
virtual void setupEnergyScale ()
 
virtual void useGlobalEnergyScaleChanged ()
 
FWViewContextviewContext ()
 
TEveViewer * viewer ()
 
TGLViewer * viewerGL () const
 
virtual ~FWEveView ()
 
- Public Member Functions inherited from FWViewBase
void destroy ()
 
 FWViewBase (FWViewType::EType, unsigned int iVersion=1)
 
void promptForSaveImageTo (TGFrame *) const
 
FWViewType::EType typeId () const
 
const std::string & typeName () const
 
- Public Member Functions inherited from FWConfigurableParameterizable
 FWConfigurableParameterizable (unsigned int iVersion=1)
 
unsigned int version () const
 
virtual ~FWConfigurableParameterizable ()
 
- Public Member Functions inherited from FWParameterizable
void add (FWParameterBase *)
 
const_iterator begin () const
 
const_iterator end () const
 
 FWParameterizable ()
 
virtual ~FWParameterizable ()
 
- Public Member Functions inherited from FWConfigurable
 FWConfigurable ()
 
virtual ~FWConfigurable ()
 

Private Member Functions

void doCompression (bool)
 
void doFishEyeDistortion ()
 
void doPreScaleDistortion ()
 
void doShiftOriginToBeamSpot ()
 
 FWRPZView (const FWRPZView &)
 
const FWRPZViewoperator= (const FWRPZView &)
 
void projectionAxesLabelSize ()
 
void setEtaRng ()
 
void showProjectionAxes ()
 

Private Attributes

TEveProjectionAxes * m_axes
 
TEveCalo2D * m_calo
 
FWDoubleParameter m_caloDistortion
 
FWBoolParameter m_compressMuon
 
FWDoubleParameter m_fishEyeDistortion
 
FWDoubleParameter m_fishEyeR
 
FWRPZViewGeometrym_geometryList
 
FWDoubleParameter m_muonDistortion
 
FWDoubleParameter m_projectionAxesLabelSize
 
TEveProjectionManager * m_projMgr
 
FWBoolParameter m_shiftOrigin
 
FWBoolParameterm_showEndcaps
 
FWBoolParameter m_showGEM
 
FWBoolParameterm_showHF
 
FWBoolParameter m_showME0
 
FWBoolParameter m_showPixelBarrel
 
FWBoolParameter m_showPixelEndcap
 
FWBoolParameter m_showProjectionAxes
 
FWBoolParameter m_showRpcEndcap
 
FWBoolParameter m_showTrackerBarrel
 
FWBoolParameter m_showTrackerEndcap
 

Static Private Attributes

static const float s_distortF = 0.001
 
static const float s_distortFInv = 1000
 

Additional Inherited Members

- Public Types inherited from FWParameterizable
typedef std::vector
< FWParameterBase * >
::const_iterator 
const_iterator
 
- Public Attributes inherited from FWViewBase
sigc::signal< void, const
FWViewBase * > 
beingDestroyed_
 
sigc::signal< void, Int_t, Int_t > openSelectedModelContextMenu_
 
- Protected Member Functions inherited from FWEveView
void addToOrthoCamera (TGLOrthoCamera *, FWConfiguration &) const
 
void addToPerspectiveCamera (TGLPerspectiveCamera *, const std::string &, FWConfiguration &) const
 
virtual void cameraGuideChanged ()
 
virtual void pointLineScalesChanged ()
 
virtual void resetCamera ()
 
void setFromOrthoCamera (TGLOrthoCamera *, const FWConfiguration &)
 
void setFromPerspectiveCamera (TGLPerspectiveCamera *, const std::string &, const FWConfiguration &)
 
- Protected Member Functions inherited from FWViewBase
virtual ~FWViewBase ()
 
- Protected Attributes inherited from FWEveView
const fireworks::Contextm_context
 
- Protected Attributes inherited from FWViewBase
FWViewType m_type
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 40 of file FWRPZView.h.

Constructor & Destructor Documentation

FWRPZView::FWRPZView ( TEveWindowSlot *  iParent,
FWViewType::EType  id 
)

Definition at line 46 of file FWRPZView.cc.

References fireworks::Context::caloR1(), FWGenericParameter< T >::changed_, doCompression(), doFishEyeDistortion(), doPreScaleDistortion(), doShiftOriginToBeamSpot(), FWEveView::eventScene(), FWEveView::geoScene(), FWViewType::kRhoPhi, FWViewType::kRhoPhiPF, FWViewType::kRhoZ, m_axes, m_caloDistortion, m_compressMuon, m_fishEyeDistortion, m_fishEyeR, m_muonDistortion, m_projectionAxesLabelSize, m_projMgr, m_shiftOrigin, m_showEndcaps, m_showHF, m_showProjectionAxes, projectionAxesLabelSize(), s_distortF, setEtaRng(), showProjectionAxes(), FWGenericParameter< T >::value(), and FWEveView::viewerGL().

46  :
47  FWEveView(iParent, id, 7),
48  m_geometryList(0),
49  m_projMgr(0),
50  m_axes(0),
51 
52  m_calo(0),
53 
54  m_showPixelBarrel(this, "Show Pixel Barrel", false ),
55  m_showPixelEndcap(this, "Show Pixel Endcap", false),
56  m_showTrackerBarrel(this, "Show Tracker Barrel", false ),
57  m_showTrackerEndcap(this, "Show Tracker Endcap", false),
58  m_showRpcEndcap(this, "Show RPC Endcap", false ),
59  m_showGEM(this, "Show GEM", false ),
60  m_showME0(this, "Show ME0", false ),
61 
62  m_shiftOrigin(this,"Shift origin to beam-spot", false),
63  m_fishEyeDistortion(this,"Distortion",0., 0., 100.),
64  m_fishEyeR(this,"FixedRadius",(double)fireworks::Context::caloR1(), 0.0, 150.0),
65 
66  m_caloDistortion(this,"Calo compression",1.0,0.01,10.),
67  m_muonDistortion(this,"Muon compression",0.2,0.01,10.),
68  m_showProjectionAxes(this,"Show projection axis", false),
69  m_projectionAxesLabelSize(this,"Projection axis label size", 0.015, 0.001, 0.2),
70  m_compressMuon(this,"Compress detectors",false),
71  m_showHF(0),
72  m_showEndcaps(0)
73 {
74  TEveProjection::EPType_e projType = (id == FWViewType::kRhoZ) ? TEveProjection::kPT_RhoZ : TEveProjection::kPT_RPhi;
75 
76  m_projMgr = new TEveProjectionManager(projType);
77  m_projMgr->IncDenyDestroy();
78  m_projMgr->SetImportEmpty(kTRUE);
79 
80  m_projMgr->GetProjection()->SetDistortion(m_fishEyeDistortion.value()*s_distortF);
81  m_projMgr->GetProjection()->SetFixR(m_fishEyeR.value());
82 
83 #ifdef TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE
84  m_projMgr->GetProjection()->SetDisplaceOrigin( m_shiftOrigin.value());
85 #endif
86 
87  if ( id == FWViewType::kRhoPhi || id == FWViewType::kRhoPhiPF) {
88  m_projMgr->GetProjection()->AddPreScaleEntry(0, fireworks::Context::caloR1(), 1.0);
89  m_projMgr->GetProjection()->AddPreScaleEntry(0, 300, 0.2);
90  } else {
91  m_projMgr->GetProjection()->AddPreScaleEntry(0, fireworks::Context::caloR1(), 1.0);
92  m_projMgr->GetProjection()->AddPreScaleEntry(1, 310, 1.0);
93  m_projMgr->GetProjection()->AddPreScaleEntry(0, 370, 0.2);
94  m_projMgr->GetProjection()->AddPreScaleEntry(1, 580, 0.2);
95  }
96 
97 
98  // camera
99  viewerGL()->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
100  if ( TGLOrthoCamera* camera = dynamic_cast<TGLOrthoCamera*>( &(viewerGL()->CurrentCamera()) ) ) {
101  camera->SetZoomMax(1e6);
102  }
103  geoScene()->GetGLScene()->SetSelectable(kFALSE);
104 
105  m_axes = new TEveProjectionAxes(m_projMgr);
106  m_axes->SetRnrState(m_showProjectionAxes.value());
107  m_axes->SetLabelSize(m_projectionAxesLabelSize.value());
108  m_showProjectionAxes.changed_.connect(boost::bind(&FWRPZView::showProjectionAxes,this));
110  eventScene()->AddElement(m_axes);
111 
112  if ( id != FWViewType::kRhoZ ) {
113  m_showEndcaps = new FWBoolParameter(this,"Include EndCaps", true);
114  m_showEndcaps->changed_.connect( boost::bind(&FWRPZView::setEtaRng, this) );
115  m_showHF = new FWBoolParameter(this,"Include HF", true);
116  m_showHF->changed_.connect( boost::bind(&FWRPZView::setEtaRng, this) );
117  }
118 
119  m_shiftOrigin.changed_.connect(boost::bind(&FWRPZView::doShiftOriginToBeamSpot,this));
120 
121  m_fishEyeDistortion.changed_.connect(boost::bind(&FWRPZView::doFishEyeDistortion,this));
122 
123  m_fishEyeR.changed_.connect(boost::bind(&FWRPZView::doFishEyeDistortion,this));
124 
125  m_caloDistortion.changed_.connect(boost::bind(&FWRPZView::doPreScaleDistortion,this));
126  m_muonDistortion.changed_.connect(boost::bind(&FWRPZView::doPreScaleDistortion,this));
127  m_compressMuon.changed_.connect(boost::bind(&FWRPZView::doCompression,this,_1));
128 }
void doShiftOriginToBeamSpot()
Definition: FWRPZView.cc:210
void doFishEyeDistortion()
Definition: FWRPZView.cc:259
FWBoolParameter m_shiftOrigin
Definition: FWRPZView.h:99
TEveScene * eventScene()
Definition: FWEveView.h:82
FWBoolParameter m_showProjectionAxes
Definition: FWRPZView.h:105
TEveCalo2D * m_calo
Definition: FWRPZView.h:86
FWBoolParameter m_showME0
Definition: FWRPZView.h:97
FWDoubleParameter m_projectionAxesLabelSize
Definition: FWRPZView.h:106
TEveProjectionAxes * m_axes
Definition: FWRPZView.h:85
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
sigc::signal< void, T > changed_
FWParameters::Bool FWBoolParameter
Definition: FWParameters.h:38
FWBoolParameter * m_showHF
Definition: FWRPZView.h:109
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWDoubleParameter m_fishEyeR
Definition: FWRPZView.h:101
FWBoolParameter m_showRpcEndcap
Definition: FWRPZView.h:95
void doCompression(bool)
Definition: FWRPZView.cc:289
void setEtaRng()
Definition: FWRPZView.cc:335
FWBoolParameter m_showTrackerBarrel
Definition: FWRPZView.h:93
void showProjectionAxes()
Definition: FWRPZView.cc:381
static float caloR1(bool offset=true)
Definition: Context.cc:208
FWBoolParameter m_compressMuon
Definition: FWRPZView.h:107
FWRPZViewGeometry * m_geometryList
Definition: FWRPZView.h:83
void doPreScaleDistortion()
Definition: FWRPZView.cc:272
FWBoolParameter * m_showEndcaps
Definition: FWRPZView.h:110
FWBoolParameter m_showGEM
Definition: FWRPZView.h:96
FWDoubleParameter m_fishEyeDistortion
Definition: FWRPZView.h:100
TEveScene * geoScene()
Definition: FWEveView.h:83
FWEveView(TEveWindowSlot *, FWViewType::EType, unsigned int version=7)
Definition: FWEveView.cc:77
FWBoolParameter m_showTrackerEndcap
Definition: FWRPZView.h:94
FWDoubleParameter m_muonDistortion
Definition: FWRPZView.h:104
FWBoolParameter m_showPixelEndcap
Definition: FWRPZView.h:92
FWDoubleParameter m_caloDistortion
Definition: FWRPZView.h:103
FWBoolParameter m_showPixelBarrel
Definition: FWRPZView.h:91
static const float s_distortF
Definition: FWRPZView.h:80
void projectionAxesLabelSize()
Definition: FWRPZView.cc:388
FWRPZView::~FWRPZView ( )
virtual

Definition at line 130 of file FWRPZView.cc.

References m_calo, and m_projMgr.

131 {
132  m_calo->Destroy();
133  m_projMgr->DecDenyDestroy();
134 }
TEveCalo2D * m_calo
Definition: FWRPZView.h:86
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWRPZView::FWRPZView ( const FWRPZView )
private

Member Function Documentation

void FWRPZView::addTo ( FWConfiguration iTo) const
virtual

Reimplemented from FWEveView.

Definition at line 311 of file FWRPZView.cc.

References FWEveView::addTo(), FWEveView::addToOrthoCamera(), and FWEveView::viewerGL().

312 {
313  FWEveView::addTo(iTo);
314  TGLOrthoCamera* camera = dynamic_cast<TGLOrthoCamera*>( &(viewerGL()->CurrentCamera()) );
315  if (camera) addToOrthoCamera(camera, iTo);
316 }
void addToOrthoCamera(TGLOrthoCamera *, FWConfiguration &) const
Definition: FWEveView.cc:414
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
virtual void addTo(FWConfiguration &) const
Definition: FWEveView.cc:342
void FWRPZView::doCompression ( bool  flag)
private

Definition at line 289 of file FWRPZView.cc.

References m_projMgr.

Referenced by FWRPZView().

290 {
291  m_projMgr->GetProjection()->SetUsePreScale(flag);
292  m_projMgr->UpdateName();
293  m_projMgr->ProjectChildren();
294  gEve->Redraw3D();
295 }
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
void FWRPZView::doFishEyeDistortion ( )
private

Definition at line 259 of file FWRPZView.cc.

References m_fishEyeDistortion, m_fishEyeR, m_projMgr, AlCaHLTBitMon_ParallelJobs::p, s_distortF, s_distortFInv, and FWGenericParameter< T >::value().

Referenced by FWRPZView().

260 {
261  TEveProjection* p = m_projMgr->GetProjection();
262  if (p->GetDistortion() != m_fishEyeDistortion.value()*s_distortFInv)
263  p->SetDistortion(m_fishEyeDistortion.value()*s_distortF);
264  if (p->GetFixR() != m_fishEyeR.value())
265  p->SetFixR(m_fishEyeR.value());
266 
267  m_projMgr->ProjectChildren();
268  gEve->Redraw3D();
269 }
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWDoubleParameter m_fishEyeR
Definition: FWRPZView.h:101
static const float s_distortFInv
Definition: FWRPZView.h:81
FWDoubleParameter m_fishEyeDistortion
Definition: FWRPZView.h:100
static const float s_distortF
Definition: FWRPZView.h:80
void FWRPZView::doPreScaleDistortion ( )
private

Definition at line 272 of file FWRPZView.cc.

References FWViewType::kRhoPhi, FWViewType::kRhoPhiPF, m_caloDistortion, m_muonDistortion, m_projMgr, FWViewBase::typeId(), and FWGenericParameter< T >::value().

Referenced by FWRPZView().

273 {
275  m_projMgr->GetProjection()->ChangePreScaleEntry(0,1,m_caloDistortion.value());
276  m_projMgr->GetProjection()->ChangePreScaleEntry(0,2,m_muonDistortion.value());
277  } else {
278  m_projMgr->GetProjection()->ChangePreScaleEntry(0,1,m_caloDistortion.value());
279  m_projMgr->GetProjection()->ChangePreScaleEntry(0,2,m_muonDistortion.value());
280  m_projMgr->GetProjection()->ChangePreScaleEntry(1,1,m_caloDistortion.value());
281  m_projMgr->GetProjection()->ChangePreScaleEntry(1,2,m_muonDistortion.value());
282  }
283  m_projMgr->UpdateName();
284  m_projMgr->ProjectChildren();
285  gEve->Redraw3D();
286 }
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWDoubleParameter m_muonDistortion
Definition: FWRPZView.h:104
FWDoubleParameter m_caloDistortion
Definition: FWRPZView.h:103
FWViewType::EType typeId() const
Definition: FWViewBase.h:41
void FWRPZView::doShiftOriginToBeamSpot ( )
private

Definition at line 210 of file FWRPZView.cc.

References m_projMgr, m_shiftOrigin, AlCaHLTBitMon_ParallelJobs::p, and FWGenericParameter< T >::value().

Referenced by FWRPZView().

211 {
212 #ifdef TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE
213 
214  TEveProjection* p = m_projMgr->GetProjection();
215  if (p->GetDisplaceOrigin() != m_shiftOrigin.value())
216  {
217  p->SetDisplaceOrigin( m_shiftOrigin.value());
218  m_projMgr->ProjectChildren();
219  gEve->Redraw3D();
220  }
221 #endif
222 }
FWBoolParameter m_shiftOrigin
Definition: FWRPZView.h:99
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
void FWRPZView::eventBegin ( )
virtual

Reimplemented from FWEveView.

Definition at line 183 of file FWRPZView.cc.

References b, FWEveView::context(), fwLog, fireworks::Context::getBeamSpot(), fwlog::kDebug, FWViewType::kRhoZ, m_projMgr, alignCSCRings::r, Sign(), FWViewBase::typeId(), FWViewBase::typeName(), FWEveView::viewerGL(), FWBeamSpot::x0(), FWBeamSpot::y0(), and FWBeamSpot::z0().

184 {
185  if (context().getBeamSpot())
186  {
187  FWBeamSpot& b = *(context().getBeamSpot());
188  fwLog(fwlog::kDebug) << Form("%s::eventBegin Set projection center (%f, %f, %f) \n", typeName().c_str(), b.x0(), b.y0(), b.z0());
189 
190  // projection center
191  TEveVector center(b.x0(), b.y0(), b.z0());
192  m_projMgr->GetProjection()->SetCenter(center);
193 
194  // camera move
195  TGLCamera& cam = viewerGL()->CurrentCamera();
196  cam.SetExternalCenter(true);
197  if (typeId() != FWViewType::kRhoZ)
198  {
199  double r = TMath::Sqrt( b.x0()*b.x0() + b.y0()*b.y0());
200  cam.SetCenterVec(b.z0(), TMath::Sign(r, b.y0()), 0);
201  }
202  else
203  {
204  cam.SetCenterVec(b.x0(), b.y0(), b.z0());
205  }
206  }
207 }
double x0() const
Definition: FWBeamSpot.cc:30
T Sign(T A, T B)
Definition: MathUtil.h:54
double z0() const
Definition: FWBeamSpot.cc:40
double y0() const
Definition: FWBeamSpot.cc:35
const std::string & typeName() const
Definition: FWViewBase.cc:120
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWBeamSpot * getBeamSpot() const
Definition: Context.h:78
const fireworks::Context & context()
Definition: FWEveView.h:67
#define fwLog(_level_)
Definition: fwLog.h:50
double b
Definition: hdecay.h:120
FWViewType::EType typeId() const
Definition: FWViewBase.h:41
TEveCaloViz * FWRPZView::getEveCalo ( ) const
virtual

Reimplemented from FWEveView.

Definition at line 141 of file FWRPZView.cc.

References m_calo.

142 {
143  return static_cast<TEveCaloViz*>(m_calo);
144 }
TEveCalo2D * m_calo
Definition: FWRPZView.h:86
void FWRPZView::importElements ( TEveElement *  iProjectableChild,
float  layer,
TEveElement *  iProjectedParent = 0 
)

Definition at line 298 of file FWRPZView.cc.

References m_projMgr.

Referenced by addElements(), and FWEveViewManager::finishViewCreate().

299 {
300  float oldLayer = m_projMgr->GetCurrentDepth();
301  m_projMgr->SetCurrentDepth(iLayer);
302  //make sure current depth is reset even if an exception is thrown
303  boost::shared_ptr<TEveProjectionManager> sentry(m_projMgr,
304  boost::bind(&TEveProjectionManager::SetCurrentDepth,
305  _1,oldLayer));
306  m_projMgr->ImportElements(iChildren,iProjectedParent);
307 }
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
const FWRPZView& FWRPZView::operator= ( const FWRPZView )
private
void FWRPZView::populateController ( ViewerParameterGUI gui) const
virtual

Reimplemented from FWEveView.

Definition at line 395 of file FWRPZView.cc.

References ViewerParameterGUI::addParam(), f, fireworks::Context::getGeom(), ViewerParameterGUI::getTabContainer(), FWGeometry::VersionInfo::haveExtraDet(), FWViewType::kRhoPhi, FWViewType::kRhoPhiPF, FWViewType::kRhoZ, m_caloDistortion, m_compressMuon, FWEveView::m_context, m_fishEyeDistortion, m_fishEyeR, m_muonDistortion, m_projectionAxesLabelSize, m_shiftOrigin, m_showEndcaps, m_showGEM, m_showHF, m_showME0, m_showPixelBarrel, m_showPixelEndcap, m_showProjectionAxes, m_showRpcEndcap, m_showTrackerBarrel, FWEveView::populateController(), ViewerParameterGUI::requestTab(), FWViewBase::typeId(), and FWGeometry::versionInfo().

396 {
398 
399  ViewerParameterGUI& det = gui.requestTab("Detector");;
401 
402  if (typeId() == FWViewType::kRhoZ)
403  {
407  bool showGEM = m_context->getGeom()->versionInfo().haveExtraDet("GEM");
408  if (showGEM) det.addParam(&m_showGEM);
409  bool showME0 = m_context->getGeom()->versionInfo().haveExtraDet("ME0");
410  if (showME0) det.addParam(&m_showME0);
411  }
412 
413 #ifdef TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE
414  gui.requestTab("Projection").addParam(&m_shiftOrigin);
415 #endif
416 
417  gui.requestTab("Projection").
418  addParam(&m_showProjectionAxes).
419  addParam(&m_projectionAxesLabelSize).
420  separator();
421 
422  TGCompositeFrame* f = gui.getTabContainer();
423 
424  f->AddFrame(new TGLabel(f, "FishEye:"));
426  addParam(&m_fishEyeR).
427  separator();
428 
429  f->AddFrame(new TGLabel(f, "PreScales:"));
430 
431  gui.requestTab("Projection").
432  addParam(&m_compressMuon).
433  addParam(&m_muonDistortion).
434  addParam(&m_caloDistortion);
435 
436 
438  {
439  gui.requestTab("Calo").
440  addParam(m_showHF).
441  addParam(m_showEndcaps);
442  }
443 }
FWBoolParameter m_shiftOrigin
Definition: FWRPZView.h:99
FWBoolParameter m_showProjectionAxes
Definition: FWRPZView.h:105
FWBoolParameter m_showME0
Definition: FWRPZView.h:97
FWDoubleParameter m_projectionAxesLabelSize
Definition: FWRPZView.h:106
virtual void populateController(ViewerParameterGUI &) const
Definition: FWEveView.cc:546
const FWGeometry * getGeom() const
Definition: Context.h:83
ViewerParameterGUI & requestTab(const char *)
const fireworks::Context * m_context
Definition: FWEveView.h:111
const VersionInfo & versionInfo() const
Definition: FWGeometry.h:117
FWBoolParameter * m_showHF
Definition: FWRPZView.h:109
FWDoubleParameter m_fishEyeR
Definition: FWRPZView.h:101
FWBoolParameter m_showRpcEndcap
Definition: FWRPZView.h:95
bool haveExtraDet(const char *) const
Definition: FWGeometry.cc:379
FWBoolParameter m_showTrackerBarrel
Definition: FWRPZView.h:93
double f[11][100]
FWBoolParameter m_compressMuon
Definition: FWRPZView.h:107
FWBoolParameter * m_showEndcaps
Definition: FWRPZView.h:110
FWBoolParameter m_showGEM
Definition: FWRPZView.h:96
FWDoubleParameter m_fishEyeDistortion
Definition: FWRPZView.h:100
ViewerParameterGUI & addParam(const FWParameterBase *)
TGCompositeFrame * getTabContainer()
FWDoubleParameter m_muonDistortion
Definition: FWRPZView.h:104
FWBoolParameter m_showPixelEndcap
Definition: FWRPZView.h:92
FWDoubleParameter m_caloDistortion
Definition: FWRPZView.h:103
FWBoolParameter m_showPixelBarrel
Definition: FWRPZView.h:91
FWViewType::EType typeId() const
Definition: FWViewBase.h:41
void FWRPZView::projectionAxesLabelSize ( )
private

Definition at line 388 of file FWRPZView.cc.

References m_axes, m_projectionAxesLabelSize, FWGenericParameter< T >::value(), and FWEveView::viewerGL().

Referenced by FWRPZView().

389 {
390  m_axes->SetLabelSize(m_projectionAxesLabelSize.value());
391  viewerGL()->RequestDraw();
392 }
FWDoubleParameter m_projectionAxesLabelSize
Definition: FWRPZView.h:106
TEveProjectionAxes * m_axes
Definition: FWRPZView.h:85
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
void FWRPZView::resetOrigin ( )

Definition at line 243 of file FWRPZView.cc.

References b, FWEveView::context(), fireworks::Context::getBeamSpot(), m_projMgr, FWBeamSpot::x0(), FWBeamSpot::y0(), and FWBeamSpot::z0().

Referenced by FWViewContextMenuHandlerGL::select().

244 {
245  // set center back to beam spot
246 
247 #ifdef TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE
248  FWBeamSpot& b = *(context().getBeamSpot());
249  TEveVector center(b.x0(), b.y0(), b.z0());
250  m_projMgr->GetProjection()->SetCenter(center);
251 
252  m_projMgr->ProjectChildren();
253  gEve->Redraw3D();
254 #endif
255 }
double x0() const
Definition: FWBeamSpot.cc:30
double z0() const
Definition: FWBeamSpot.cc:40
double y0() const
Definition: FWBeamSpot.cc:35
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWBeamSpot * getBeamSpot() const
Definition: Context.h:78
const fireworks::Context & context()
Definition: FWEveView.h:67
double b
Definition: hdecay.h:120
void FWRPZView::setContext ( const fireworks::Context ctx)
virtual

Reimplemented from FWEveView.

Definition at line 147 of file FWRPZView.cc.

References FWPFGeom::caloR1(), FWPFGeom::caloZ1(), FWGenericParameter< T >::changed_, FWEveView::context(), data, FWEveView::eventScene(), FWEveView::geoScene(), fireworks::Context::getCaloData(), FWRPZViewGeometry::initStdGeoElements(), FWViewType::kRhoPhiPF, m_calo, m_geometryList, m_projMgr, m_showGEM, m_showME0, m_showPixelBarrel, m_showPixelEndcap, m_showRpcEndcap, m_showTrackerBarrel, m_showTrackerEndcap, AlCaHLTBitMon_ParallelJobs::p, FWEveView::setContext(), FWRPZViewGeometry::showGEM(), FWRPZViewGeometry::showME0(), FWRPZViewGeometry::showPixelBarrel(), FWRPZViewGeometry::showPixelEndcap(), FWRPZViewGeometry::showRpcEndcap(), FWRPZViewGeometry::showTrackerBarrel(), FWRPZViewGeometry::showTrackerEndcap(), and FWViewBase::typeId().

148 {
150 
152  m_geometryList->IncDenyDestroy();
154  TEveElement* p = m_projMgr->ImportElements(m_geometryList);
155  geoScene()->AddElement(p);
156 
157  TEveCaloData* data = context().getCaloData();
158 
159  TEveCalo3D* calo3d = new TEveCalo3D(data);
160 
161  m_calo = static_cast<TEveCalo2D*> (m_projMgr->ImportElements(calo3d, eventScene()));
162 
163  if (typeId() == FWViewType::kRhoPhiPF)
164  m_calo->SetBarrelRadius(177);
165  else
166  m_calo->SetBarrelRadius(context().caloR1(false));
167 
168  m_calo->SetEndCapPos(context().caloZ1(false));
169  m_calo->SetAutoRange(false);
170  m_calo->SetScaleAbs(true);
171 
179 
180 }
TEveScene * eventScene()
Definition: FWEveView.h:82
TEveCalo2D * m_calo
Definition: FWRPZView.h:86
FWBoolParameter m_showME0
Definition: FWRPZView.h:97
sigc::signal< void, T > changed_
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
FWBoolParameter m_showRpcEndcap
Definition: FWRPZView.h:95
float caloR1()
Definition: FWPFGeom.h:21
void initStdGeoElements(const FWViewType::EType id)
FWBoolParameter m_showTrackerBarrel
Definition: FWRPZView.h:93
TEveCaloDataHist * getCaloData() const
Definition: Context.h:80
FWRPZViewGeometry * m_geometryList
Definition: FWRPZView.h:83
const fireworks::Context & context()
Definition: FWEveView.h:67
FWBoolParameter m_showGEM
Definition: FWRPZView.h:96
float caloZ1()
Definition: FWPFGeom.h:22
void showTrackerBarrel(bool)
TEveScene * geoScene()
Definition: FWEveView.h:83
FWBoolParameter m_showTrackerEndcap
Definition: FWRPZView.h:94
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
FWBoolParameter m_showPixelEndcap
Definition: FWRPZView.h:92
void showTrackerEndcap(bool)
FWBoolParameter m_showPixelBarrel
Definition: FWRPZView.h:91
virtual void setContext(const fireworks::Context &x)
Definition: FWEveView.cc:271
FWViewType::EType typeId() const
Definition: FWViewBase.h:41
void FWRPZView::setEtaRng ( )
private

Definition at line 335 of file FWRPZView.cc.

References fireworks::Context::caloMaxEta(), fireworks::Context::caloTransEta(), FWEveView::context(), FWViewType::kRhoZ, m_calo, m_showEndcaps, m_showHF, FWEveView::setupEnergyScale(), FWViewBase::typeId(), and FWGenericParameter< T >::value().

Referenced by FWRPZView().

336 {
337  if (typeId() != FWViewType::kRhoZ)
338  {
339  // rng controllers only in RhoPhi
340  double eta_range = context().caloMaxEta();
341  if (!m_showHF->value() ) eta_range = 3.0;
342  if (!m_showEndcaps->value() ) eta_range = context().caloTransEta();
343  m_calo->SetEta(-eta_range,eta_range);
344  }
345 
347 }
static float caloTransEta()
Definition: Context.cc:228
TEveCalo2D * m_calo
Definition: FWRPZView.h:86
virtual void setupEnergyScale()
Definition: FWEveView.cc:303
FWBoolParameter * m_showHF
Definition: FWRPZView.h:109
const fireworks::Context & context()
Definition: FWEveView.h:67
FWBoolParameter * m_showEndcaps
Definition: FWRPZView.h:110
static double caloMaxEta()
Definition: Context.cc:238
FWViewType::EType typeId() const
Definition: FWViewBase.h:41
void FWRPZView::setFrom ( const FWConfiguration iFrom)
virtual

Reimplemented from FWEveView.

Definition at line 319 of file FWRPZView.cc.

References m_showProjectionAxes, FWGenericParameter< T >::set(), FWEveView::setFrom(), FWEveView::setFromOrthoCamera(), FWConfiguration::value(), relativeConstraints::value, FWConfiguration::valueForKey(), FWConfiguration::version(), and FWEveView::viewerGL().

320 {
321  FWEveView::setFrom(iFrom);
322 
323  TGLOrthoCamera* camera = dynamic_cast<TGLOrthoCamera*>( &(viewerGL()->CurrentCamera()) );
324  if (camera) setFromOrthoCamera(camera, iFrom);
325 
326  if (iFrom.version() < 7)
327  {
328  const FWConfiguration* value = iFrom.valueForKey("Show projection axes");
329  if (value)
330  m_showProjectionAxes.set(value->value() == "1");
331  }
332 }
FWBoolParameter m_showProjectionAxes
Definition: FWRPZView.h:105
virtual void setFrom(const FWConfiguration &)
Definition: FWEveView.cc:360
unsigned int version() const
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
const std::string & value(unsigned int iIndex=0) const
const FWConfiguration * valueForKey(const std::string &iKey) const
void setFromOrthoCamera(TGLOrthoCamera *, const FWConfiguration &)
Definition: FWEveView.cc:432
void FWRPZView::shiftOrigin ( TEveVector &  center)

Definition at line 225 of file FWRPZView.cc.

References m_projMgr, and FWEveView::viewerGL().

Referenced by FWViewContextMenuHandlerGL::select().

226 {
227 #ifdef TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE
228  // re-project with new center
229  m_projMgr->GetProjection()->SetCenter(center);
230  m_projMgr->ProjectChildren();
231 
232  // draw projected center
233  float* pc = m_projMgr->GetProjection()->GetProjectedCenter();
234  viewerGL()->CurrentCamera().SetExternalCenter(true);
235  viewerGL()->CurrentCamera().SetCenterVec(pc[0], pc[1], pc[2]);
236  viewerGL()->SetDrawCameraCenter(true);
237 
238  gEve->Redraw3D();
239 #endif
240 }
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:84
void FWRPZView::showProjectionAxes ( )
private

Definition at line 381 of file FWRPZView.cc.

References m_axes, m_showProjectionAxes, FWGenericParameter< T >::value(), and FWEveView::viewerGL().

Referenced by FWRPZView().

382 {
383  m_axes->SetRnrState(m_showProjectionAxes.value());
384  gEve->Redraw3D();
385  viewerGL()->RequestDraw();
386 }
FWBoolParameter m_showProjectionAxes
Definition: FWRPZView.h:105
TEveProjectionAxes * m_axes
Definition: FWRPZView.h:85
TGLViewer * viewerGL() const
Definition: FWEveView.cc:190
void FWRPZView::voteCaloMaxVal ( )
virtual

Reimplemented from FWEveView.

Definition at line 350 of file FWRPZView.cc.

References a, FWEveView::context(), relval_2017::k, m_calo, and fireworks::Context::voteMaxEtAndEnergy().

351 {
352  if (! m_calo->GetData()->Empty())
353  {
354  m_calo->AssertCellIdCache();
355  Float_t sumEt, sumE;
356  TEveCaloData::CellData_t cellData;
357  typedef std::vector<TEveCaloData::vCellId_t*> vBinCells_t;
358  typedef std::vector<TEveCaloData::vCellId_t*>::iterator vBinCells_i;
359 
360  vBinCells_t cellLists = m_calo->GetBinLists();
361  for (vBinCells_i it = cellLists.begin(); it != cellLists.end(); it++)
362  {
363  TEveCaloData::vCellId_t* binCells = *it;
364  if (binCells) {
365  sumEt = 0; sumE = 0;
366  TEveCaloData::vCellId_i a = binCells->end();
367 
368  for (TEveCaloData::vCellId_i k = binCells->begin(); k != a; ++k)
369  {
370  m_calo->GetData()->GetCellData((*k), cellData);
371  sumEt += cellData.Value(true);
372  sumE += cellData.Value(false);
373  }
374  // printf("vote sum %f %f \n", sumEt , sumE);
375  context().voteMaxEtAndEnergy(sumEt, sumE);
376  }
377  }
378  }
379 }
TEveCalo2D * m_calo
Definition: FWRPZView.h:86
void voteMaxEtAndEnergy(float Et, float energy) const
Definition: Context.cc:183
const fireworks::Context & context()
Definition: FWEveView.h:67
double a
Definition: hdecay.h:121

Member Data Documentation

TEveProjectionAxes* FWRPZView::m_axes
private

Definition at line 85 of file FWRPZView.h.

Referenced by FWRPZView(), projectionAxesLabelSize(), and showProjectionAxes().

TEveCalo2D* FWRPZView::m_calo
private

Definition at line 86 of file FWRPZView.h.

Referenced by getEveCalo(), setContext(), setEtaRng(), voteCaloMaxVal(), and ~FWRPZView().

FWDoubleParameter FWRPZView::m_caloDistortion
private

Definition at line 103 of file FWRPZView.h.

Referenced by doPreScaleDistortion(), FWRPZView(), and populateController().

FWBoolParameter FWRPZView::m_compressMuon
private

Definition at line 107 of file FWRPZView.h.

Referenced by FWRPZView(), and populateController().

FWDoubleParameter FWRPZView::m_fishEyeDistortion
private

Definition at line 100 of file FWRPZView.h.

Referenced by doFishEyeDistortion(), FWRPZView(), and populateController().

FWDoubleParameter FWRPZView::m_fishEyeR
private

Definition at line 101 of file FWRPZView.h.

Referenced by doFishEyeDistortion(), FWRPZView(), and populateController().

FWRPZViewGeometry* FWRPZView::m_geometryList
private

Definition at line 83 of file FWRPZView.h.

Referenced by setContext().

FWDoubleParameter FWRPZView::m_muonDistortion
private

Definition at line 104 of file FWRPZView.h.

Referenced by doPreScaleDistortion(), FWRPZView(), and populateController().

FWDoubleParameter FWRPZView::m_projectionAxesLabelSize
private

Definition at line 106 of file FWRPZView.h.

Referenced by FWRPZView(), populateController(), and projectionAxesLabelSize().

TEveProjectionManager* FWRPZView::m_projMgr
private
FWBoolParameter FWRPZView::m_shiftOrigin
private

Definition at line 99 of file FWRPZView.h.

Referenced by doShiftOriginToBeamSpot(), FWRPZView(), and populateController().

FWBoolParameter* FWRPZView::m_showEndcaps
private

Definition at line 110 of file FWRPZView.h.

Referenced by FWRPZView(), populateController(), and setEtaRng().

FWBoolParameter FWRPZView::m_showGEM
private

Definition at line 96 of file FWRPZView.h.

Referenced by populateController(), and setContext().

FWBoolParameter* FWRPZView::m_showHF
private

Definition at line 109 of file FWRPZView.h.

Referenced by FWRPZView(), populateController(), and setEtaRng().

FWBoolParameter FWRPZView::m_showME0
private

Definition at line 97 of file FWRPZView.h.

Referenced by populateController(), and setContext().

FWBoolParameter FWRPZView::m_showPixelBarrel
private

Definition at line 91 of file FWRPZView.h.

Referenced by populateController(), and setContext().

FWBoolParameter FWRPZView::m_showPixelEndcap
private

Definition at line 92 of file FWRPZView.h.

Referenced by populateController(), and setContext().

FWBoolParameter FWRPZView::m_showProjectionAxes
private

Definition at line 105 of file FWRPZView.h.

Referenced by FWRPZView(), populateController(), setFrom(), and showProjectionAxes().

FWBoolParameter FWRPZView::m_showRpcEndcap
private

Definition at line 95 of file FWRPZView.h.

Referenced by populateController(), and setContext().

FWBoolParameter FWRPZView::m_showTrackerBarrel
private

Definition at line 93 of file FWRPZView.h.

Referenced by populateController(), and setContext().

FWBoolParameter FWRPZView::m_showTrackerEndcap
private

Definition at line 94 of file FWRPZView.h.

Referenced by setContext().

const float FWRPZView::s_distortF = 0.001
staticprivate

Definition at line 80 of file FWRPZView.h.

Referenced by doFishEyeDistortion(), and FWRPZView().

const float FWRPZView::s_distortFInv = 1000
staticprivate

Definition at line 81 of file FWRPZView.h.

Referenced by doFishEyeDistortion().