HerdSoftware  0.4.0
HW3DView.h
Go to the documentation of this file.
1 /*
2  * HW3DView.h
3  *
4  * Created on: 16 Sep 2021
5  * Author: Valerio Formato
6  */
7 
8 #ifndef HW3DView_H_
9 #define HW3DView_H_
10 
11 #include "RQ_OBJECT.h"
12 
13 // HERD headers
21 
22 // EA headers
23 #include "analysis/EventLoopProxy.h"
24 #include "core/ObserverPtr.h"
25 
26 // ROOT headers
27 #include "TApplication.h"
28 #include "TEveBoxSet.h"
29 #include "TEveGeoNode.h"
30 #include "TEveManager.h"
31 #include "TEvePointSet.h"
32 #include "TEveProjectionManager.h"
33 #include "TEveScene.h"
34 #include "TEveTrack.h"
35 #include "TEveTrackPropagator.h"
36 #include "TEveViewer.h"
37 #include "TEveWindow.h"
38 #include "TGNumberEntry.h"
39 
40 namespace Herd {
41 class HERDward;
42 
43 class HW3DView {
44 public:
45  HW3DView();
46 
47  void Init();
48  void AdjustCamera();
49  void ClearScene();
50  void DrawMCTruth(const HWMCTruthDisplay &mcTruthDisp);
51  void DrawCaloHits(const HWCaloEventDisplay &caloDisp);
52  void DrawPSDHits(const HWPSDEventDisplay &psdDisp);
54  void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp);
55  void DrawTracks3D(const HWTracks3DEventDisplay &trackDisp);
56  void LoadGeometryScene();
57 
59  void SetGeoTransparency(char transp);
60 
61  static constexpr char startingTransparency = 95;
62 
63 private:
64  void FillScene(TEveElement *parent, const std::vector<std::string> &excluded, unsigned int depth);
65 
66  void SetSceneTransparency(TEveElement *scene, char transp);
67 
69 
70  std::unique_ptr<TEveWindowSlot> m_slot;
71  std::unique_ptr<TEveWindowPack> m_pack;
72 
73  std::unique_ptr<TEveViewer> m_view;
74 
75  std::unique_ptr<TEveScene> m_geomScene;
76 
77  std::unique_ptr<TEveScene> m_eventScene;
78 };
79 } // namespace Herd
80 
81 #endif
HWCaloEventDisplay.h
Herd::HW3DView::DrawPSDHits
void DrawPSDHits(const HWPSDEventDisplay &psdDisp)
Definition: HW3DView.cpp:79
Herd::HW3DView::LoadGeometryScene
void LoadGeometryScene()
Definition: HW3DView.cpp:114
Herd::HWCaloEventDisplay
Definition: HWCaloEventDisplay.h:25
Herd::HW3DView::Init
void Init()
Definition: HW3DView.cpp:47
Herd::HWCaloAxesEventDisplay
Definition: HWCaloAxesEventDisplay.h:15
Herd::HW3DView::SetGeoTransparency
void SetGeoTransparency(char transp)
Definition: HW3DView.cpp:116
Herd::HWTrackingDetectorEventDisplay
Definition: HWTrackingDetectorEventDisplay.h:23
Herd::HW3DView::DrawMCTruth
void DrawMCTruth(const HWMCTruthDisplay &mcTruthDisp)
Definition: HW3DView.cpp:90
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
HWPSDEventDisplay.h
Herd::HW3DView::HW3DView
HW3DView()
Definition: HW3DView.cpp:33
HWHoughTrackEventDisplay.h
Herd::HW3DView::DrawCaloAxes
void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp)
Definition: HW3DView.cpp:98
Herd::HW3DView::m_mainTransparency
char m_mainTransparency
Definition: HW3DView.h:68
Herd::HW3DView::m_geomScene
std::unique_ptr< TEveScene > m_geomScene
Definition: HW3DView.h:75
Herd::HW3DView::AdjustCamera
void AdjustCamera()
Definition: HW3DView.cpp:65
Herd::HW3DView
Definition: HW3DView.h:43
Herd::HW3DView::startingTransparency
static constexpr char startingTransparency
Definition: HW3DView.h:61
HWTracks3DEventDisplay.h
HWTrackingDetectorEventDisplay.h
Herd::HW3DView::ClearScene
void ClearScene()
Definition: HW3DView.cpp:55
Herd::HWPSDEventDisplay
Definition: HWPSDEventDisplay.h:25
Herd::HW3DView::SetSceneTransparency
void SetSceneTransparency(TEveElement *scene, char transp)
Definition: HW3DView.cpp:124
Herd::HW3DView::m_slot
std::unique_ptr< TEveWindowSlot > m_slot
Definition: HW3DView.h:70
Herd::HW3DView::SceneTransparency
char SceneTransparency()
Definition: HW3DView.h:58
Herd::HW3DView::DrawCaloHits
void DrawCaloHits(const HWCaloEventDisplay &caloDisp)
Definition: HW3DView.cpp:77
Herd::HW3DView::DrawTracks3D
void DrawTracks3D(const HWTracks3DEventDisplay &trackDisp)
Definition: HW3DView.cpp:106
Herd::HWTracks3DEventDisplay
Definition: HWTracks3DEventDisplay.h:24
Herd::HW3DView::m_view
std::unique_ptr< TEveViewer > m_view
Definition: HW3DView.h:73
Herd::HW3DView::m_pack
std::unique_ptr< TEveWindowPack > m_pack
Definition: HW3DView.h:71
Herd::HW3DView::DrawTrackingDetectorClusters
void DrawTrackingDetectorClusters(const HWTrackingDetectorEventDisplay &trkDisp)
Definition: HW3DView.cpp:86
Herd::HWMCTruthDisplay
Definition: HWMCTruthDisplay.h:16
HWMCTruthDisplay.h
Herd::HW3DView::m_eventScene
std::unique_ptr< TEveScene > m_eventScene
Definition: HW3DView.h:77
Herd::HW3DView::FillScene
void FillScene(TEveElement *parent, const std::vector< std::string > &excluded, unsigned int depth)
Definition: HW3DView.cpp:134
HWCaloAxesEventDisplay.h