HerdSoftware  0.2.3
HWProjections.h
Go to the documentation of this file.
1 /*
2  * HWProjections.h
3  *
4  * Created on: 02 Jan 2019
5  * Author: Valerio Formato
6  */
7 
8 #ifndef HWProjections_H_
9 #define HWProjections_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 
43 public:
44  HWProjections();
45 
46  void Init();
47  void AdjustCameras();
48  void ClearScene();
49  void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp);
50  void DrawCaloHits(const HWCaloEventDisplay &caloDisp);
51  void DrawPSDHits(const HWPSDEventDisplay &psdDisp);
53  void DrawTracks(const HWHoughTrackEventDisplay &trackDisp);
54  void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp);
55  void LoadGeometryScene();
56 
58  void SetGeoTransparency(char transp);
59 
60  static constexpr char startingTransparency = 95;
61 
62 private:
63  void FillScene(RefFrame::View view, TEveElement *parent, const std::vector<std::string> &excluded,
64  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_XZView;
74  std::unique_ptr<TEveViewer> m_YZView;
75  std::unique_ptr<TEveViewer> m_XYView;
76 
77  std::unique_ptr<TEveScene> m_XZGeomScene;
78  std::unique_ptr<TEveScene> m_YZGeomScene;
79  std::unique_ptr<TEveScene> m_XYGeomScene;
80 
81  std::unique_ptr<TEveScene> m_XZEventScene;
82  std::unique_ptr<TEveScene> m_YZEventScene;
83  std::unique_ptr<TEveScene> m_XYEventScene;
84 };
85 } // namespace Herd
86 
87 #endif
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
std::unique_ptr< TEveScene > m_XZGeomScene
Definition: HWProjections.h:77
Definition: HWMCTruthDisplay.h:20
void FillScene(RefFrame::View view, TEveElement *parent, const std::vector< std::string > &excluded, unsigned int depth)
Definition: HWProjections.cpp:196
void ClearScene()
Definition: HWProjections.cpp:83
char m_mainTransparency
Definition: HWProjections.h:68
Definition: HWProjections.h:42
void Init()
Definition: HWProjections.cpp:54
void AdjustCameras()
Definition: HWProjections.cpp:103
Definition: HWHoughTrackEventDisplay.h:22
std::unique_ptr< TEveScene > m_XYEventScene
Definition: HWProjections.h:83
std::unique_ptr< TEveScene > m_XZEventScene
Definition: HWProjections.h:81
std::unique_ptr< TEveWindowPack > m_pack
Definition: HWProjections.h:71
void DrawCaloHits(const HWCaloEventDisplay &caloDisp)
Definition: HWProjections.cpp:128
Definition: HWCaloEventDisplay.h:24
void SetGeoTransparency(char transp)
Definition: HWProjections.cpp:176
std::unique_ptr< TEveScene > m_YZEventScene
Definition: HWProjections.h:82
void SetSceneTransparency(TEveElement *scene, char transp)
Definition: HWProjections.cpp:186
void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp)
Definition: HWProjections.cpp:157
Definition: HWCaloAxesEventDisplay.h:24
Definition: HWPSDEventDisplay.h:25
std::unique_ptr< TEveViewer > m_YZView
Definition: HWProjections.h:74
void DrawPSDHits(const HWPSDEventDisplay &psdDisp)
Definition: HWProjections.cpp:134
void DrawTrackingDetectorClusters(const HWTrackingDetectorEventDisplay &stkDisp)
Definition: HWProjections.cpp:145
std::unique_ptr< TEveWindowSlot > m_slot
Definition: HWProjections.h:70
std::unique_ptr< TEveScene > m_XYGeomScene
Definition: HWProjections.h:79
static constexpr char startingTransparency
Definition: HWProjections.h:60
void LoadGeometryScene()
Definition: HWProjections.cpp:170
std::unique_ptr< TEveViewer > m_XYView
Definition: HWProjections.h:75
void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp)
Definition: HWProjections.cpp:117
std::unique_ptr< TEveViewer > m_XZView
Definition: HWProjections.h:73
char GetSceneTransparency()
Definition: HWProjections.h:57
Definition: HWTrackingDetectorEventDisplay.h:23
HWProjections()
Definition: HWProjections.cpp:35
View
Aliases for the three 2D projection planes. RefFrame.h common/RefFrame.h.
Definition: RefFrame.h:90
void DrawTracks(const HWHoughTrackEventDisplay &trackDisp)
Definition: HWProjections.cpp:151
std::unique_ptr< TEveScene > m_YZGeomScene
Definition: HWProjections.h:78