HerdSoftware  0.3.2
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
char m_mainTransparency
Definition: HW3DView.h:68
std::unique_ptr< TEveScene > m_geomScene
Definition: HW3DView.h:75
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
void AdjustCamera()
Definition: HW3DView.cpp:66
char GetSceneTransparency()
Definition: HW3DView.h:58
static constexpr char startingTransparency
Definition: HW3DView.h:61
Definition: HWMCTruthDisplay.h:16
void SetSceneTransparency(TEveElement *scene, char transp)
Definition: HW3DView.cpp:125
void DrawCaloHits(const HWCaloEventDisplay &caloDisp)
Definition: HW3DView.cpp:78
void ClearScene()
Definition: HW3DView.cpp:56
std::unique_ptr< TEveWindowPack > m_pack
Definition: HW3DView.h:71
std::unique_ptr< TEveWindowSlot > m_slot
Definition: HW3DView.h:70
void DrawTrackingDetectorClusters(const HWTrackingDetectorEventDisplay &stkDisp)
Definition: HW3DView.cpp:87
void DrawTracks3D(const HWTracks3DEventDisplay &trackDisp)
Definition: HW3DView.cpp:107
std::unique_ptr< TEveViewer > m_view
Definition: HW3DView.h:73
void FillScene(TEveElement *parent, const std::vector< std::string > &excluded, unsigned int depth)
Definition: HW3DView.cpp:135
Definition: HW3DView.h:43
std::unique_ptr< TEveScene > m_eventScene
Definition: HW3DView.h:77
Definition: HWCaloEventDisplay.h:24
void DrawPSDHits(const HWPSDEventDisplay &psdDisp)
Definition: HW3DView.cpp:80
void Init()
Definition: HW3DView.cpp:48
Definition: HWTracks3DEventDisplay.h:24
Definition: HWCaloAxesEventDisplay.h:15
Definition: HWPSDEventDisplay.h:25
void LoadGeometryScene()
Definition: HW3DView.cpp:115
void SetGeoTransparency(char transp)
Definition: HW3DView.cpp:117
HW3DView()
Definition: HW3DView.cpp:34
void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp)
Definition: HW3DView.cpp:99
Definition: HWTrackingDetectorEventDisplay.h:23
void DrawMCTruth(const HWMCTruthDisplay &mcTruthDisp)
Definition: HW3DView.cpp:91