HerdSoftware  0.2.3
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
20 
21 // EA headers
22 #include "analysis/EventLoopProxy.h"
23 #include "core/ObserverPtr.h"
24 
25 // ROOT headers
26 #include "TApplication.h"
27 #include "TEveBoxSet.h"
28 #include "TEveGeoNode.h"
29 #include "TEveManager.h"
30 #include "TEvePointSet.h"
31 #include "TEveProjectionManager.h"
32 #include "TEveScene.h"
33 #include "TEveTrack.h"
34 #include "TEveTrackPropagator.h"
35 #include "TEveViewer.h"
36 #include "TEveWindow.h"
37 #include "TGNumberEntry.h"
38 
39 namespace Herd {
40 class HERDward;
41 
42 class HW3DView {
43 public:
44  HW3DView();
45 
46  void Init();
47  void AdjustCamera();
48  void ClearScene();
49  void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp);
50  void DrawCaloHits(const HWCaloEventDisplay &caloDisp);
51  void DrawPSDHits(const HWPSDEventDisplay &psdDisp);
53  void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp);
54  void LoadGeometryScene();
55 
57  void SetGeoTransparency(char transp);
58 
59  static constexpr char startingTransparency = 95;
60 
61 private:
62  void FillScene(TEveElement *parent, const std::vector<std::string> &excluded, unsigned int depth);
63 
64  void SetSceneTransparency(TEveElement *scene, char transp);
65 
67 
68  std::unique_ptr<TEveWindowSlot> m_slot;
69  std::unique_ptr<TEveWindowPack> m_pack;
70 
71  std::unique_ptr<TEveViewer> m_view;
72 
73  std::unique_ptr<TEveScene> m_geomScene;
74 
75  std::unique_ptr<TEveScene> m_eventScene;
76 };
77 } // namespace Herd
78 
79 #endif
char m_mainTransparency
Definition: HW3DView.h:66
std::unique_ptr< TEveScene > m_geomScene
Definition: HW3DView.h:73
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
void AdjustCamera()
Definition: HW3DView.cpp:66
char GetSceneTransparency()
Definition: HW3DView.h:56
static constexpr char startingTransparency
Definition: HW3DView.h:59
Definition: HWMCTruthDisplay.h:20
void SetSceneTransparency(TEveElement *scene, char transp)
Definition: HW3DView.cpp:115
void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp)
Definition: HW3DView.cpp:78
void DrawCaloHits(const HWCaloEventDisplay &caloDisp)
Definition: HW3DView.cpp:84
void ClearScene()
Definition: HW3DView.cpp:56
std::unique_ptr< TEveWindowPack > m_pack
Definition: HW3DView.h:69
std::unique_ptr< TEveWindowSlot > m_slot
Definition: HW3DView.h:68
void DrawTrackingDetectorClusters(const HWTrackingDetectorEventDisplay &stkDisp)
Definition: HW3DView.cpp:93
std::unique_ptr< TEveViewer > m_view
Definition: HW3DView.h:71
void FillScene(TEveElement *parent, const std::vector< std::string > &excluded, unsigned int depth)
Definition: HW3DView.cpp:125
Definition: HW3DView.h:42
std::unique_ptr< TEveScene > m_eventScene
Definition: HW3DView.h:75
Definition: HWCaloEventDisplay.h:24
void DrawPSDHits(const HWPSDEventDisplay &psdDisp)
Definition: HW3DView.cpp:86
void Init()
Definition: HW3DView.cpp:48
Definition: HWCaloAxesEventDisplay.h:24
Definition: HWPSDEventDisplay.h:25
void LoadGeometryScene()
Definition: HW3DView.cpp:105
void SetGeoTransparency(char transp)
Definition: HW3DView.cpp:107
HW3DView()
Definition: HW3DView.cpp:34
void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp)
Definition: HW3DView.cpp:97
Definition: HWTrackingDetectorEventDisplay.h:23