CMS 3D CMS Logo

FWRPZView.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWRPZView_h
2 #define Fireworks_Core_FWRPZView_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWRPZView
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Tue Feb 19 10:33:21 EST 2008
19 //
20 
21 // system include files
22 #include <string>
23 
24 // user include files
29 #include "TEveVector.h"
30 
31 // forward declarations
32 class TEveProjectionManager;
33 class TGLMatrix;
34 class TEveCalo2D;
35 class TEveProjectionAxes;
36 class TEveWindowSlot;
37 class FWColorManager;
38 class FWRPZViewGeometry;
39 
40 class FWRPZView : public FWEveView {
41 public:
42  FWRPZView(TEveWindowSlot* iParent, FWViewType::EType);
43  ~FWRPZView() override;
44 
45  // ---------- const member functions ---------------------
46 
47  void addTo(FWConfiguration&) const override;
48  void populateController(ViewerParameterGUI&) const override;
49  TEveCaloViz* getEveCalo() const override;
50 
51  // ---------- member functions ---------------------------
52  void setContext(const fireworks::Context&) override;
53  void setFrom(const FWConfiguration&) override;
54  void voteCaloMaxVal() override;
55 
56  void eventBegin() override;
57  void eventEnd() override;
58  void setupEventCenter() override;
59 
60  //returns the new element created from this import
61  void importElements(TEveElement* iProjectableChild, float layer, TEveElement* iProjectedParent = nullptr);
62 
63  void shiftOrigin(TEveVector& center);
64  void resetOrigin();
65 
66  FWRPZView(const FWRPZView&) = delete; // stop default
67  const FWRPZView& operator=(const FWRPZView&) = delete; // stop default
68 
69 private:
70  void doPreScaleDistortion();
71  void doFishEyeDistortion();
72  void doCompression(bool);
74 
75  void setEtaRng();
76 
77  void showProjectionAxes();
79 
80  // ---------- member data --------------------------------
81  const static float s_distortF;
82  const static float s_distortFInv;
83 
85  TEveProjectionManager* m_projMgr;
86  TEveProjectionAxes* m_axes;
87  TEveCalo2D* m_calo;
88 
89  // parameters
90 
100 
104 
110 
113 };
114 
115 #endif
void doShiftOriginToBeamSpot()
Definition: FWRPZView.cc:216
void doFishEyeDistortion()
Definition: FWRPZView.cc:257
FWBoolParameter m_shiftOrigin
Definition: FWRPZView.h:101
void setupEventCenter() override
Definition: FWRPZView.cc:209
FWBoolParameter m_showProjectionAxes
Definition: FWRPZView.h:107
FWRPZView(TEveWindowSlot *iParent, FWViewType::EType)
Definition: FWRPZView.cc:46
TEveCalo2D * m_calo
Definition: FWRPZView.h:87
TEveCaloViz * getEveCalo() const override
Definition: FWRPZView.cc:140
FWBoolParameter m_showME0
Definition: FWRPZView.h:97
FWDoubleParameter m_projectionAxesLabelSize
Definition: FWRPZView.h:108
void voteCaloMaxVal() override
Definition: FWRPZView.cc:334
void eventEnd() override
Definition: FWRPZView.cc:202
void setFrom(const FWConfiguration &) override
Definition: FWRPZView.cc:306
void setContext(const fireworks::Context &) override
Definition: FWRPZView.cc:142
void populateController(ViewerParameterGUI &) const override
Definition: FWRPZView.cc:373
FWBoolParameter m_showMtdEndcap
Definition: FWRPZView.h:99
TEveProjectionAxes * m_axes
Definition: FWRPZView.h:86
FWBoolParameter m_showMtdBarrel
Definition: FWRPZView.h:98
FWBoolParameter * m_showHF
Definition: FWRPZView.h:111
void addTo(FWConfiguration &) const override
Definition: FWRPZView.cc:299
TEveProjectionManager * m_projMgr
Definition: FWRPZView.h:85
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
FWDoubleParameter m_fishEyeR
Definition: FWRPZView.h:103
void resetOrigin()
Definition: FWRPZView.cc:244
FWBoolParameter m_showRpcEndcap
Definition: FWRPZView.h:95
void doCompression(bool)
Definition: FWRPZView.cc:283
const FWRPZView & operator=(const FWRPZView &)=delete
void setEtaRng()
Definition: FWRPZView.cc:320
FWBoolParameter m_showTrackerBarrel
Definition: FWRPZView.h:93
void showProjectionAxes()
Definition: FWRPZView.cc:362
~FWRPZView() override
Definition: FWRPZView.cc:131
void eventBegin() override
Definition: FWRPZView.cc:181
FWBoolParameter m_compressMuon
Definition: FWRPZView.h:109
FWRPZViewGeometry * m_geometryList
Definition: FWRPZView.h:84
void shiftOrigin(TEveVector &center)
Definition: FWRPZView.cc:228
void doPreScaleDistortion()
Definition: FWRPZView.cc:268
FWBoolParameter * m_showEndcaps
Definition: FWRPZView.h:112
FWBoolParameter m_showGEM
Definition: FWRPZView.h:96
static const float s_distortFInv
Definition: FWRPZView.h:82
FWDoubleParameter m_fishEyeDistortion
Definition: FWRPZView.h:102
void importElements(TEveElement *iProjectableChild, float layer, TEveElement *iProjectedParent=nullptr)
Definition: FWRPZView.cc:290
FWBoolParameter m_showTrackerEndcap
Definition: FWRPZView.h:94
FWDoubleParameter m_muonDistortion
Definition: FWRPZView.h:106
FWBoolParameter m_showPixelEndcap
Definition: FWRPZView.h:92
FWDoubleParameter m_caloDistortion
Definition: FWRPZView.h:105
FWBoolParameter m_showPixelBarrel
Definition: FWRPZView.h:91
static const float s_distortF
Definition: FWRPZView.h:81
void projectionAxesLabelSize()
Definition: FWRPZView.cc:368