HerdSoftware  0.3.2
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
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 
44 public:
45  HWProjections();
46 
47  void Init();
48  void AdjustCameras();
49  void ClearScene();
50  void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp);
51  void DrawCaloHits(const HWCaloEventDisplay &caloDisp);
52  void DrawPSDHits(const HWPSDEventDisplay &psdDisp);
54  void DrawTracks2D(const HWHoughTrackEventDisplay &trackDisp);
55  void DrawTracks3D(const HWTracks3DEventDisplay &trackDisp);
56  void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp);
57  void LoadGeometryScene();
58 
60  void SetGeoTransparency(char transp);
61 
62  static constexpr char startingTransparency = 95;
63 
64 private:
65  void FillScene(RefFrame::View view, TEveElement *parent, const std::vector<std::string> &excluded,
66  unsigned int depth);
67 
68  void SetSceneTransparency(TEveElement *scene, char transp);
69 
71 
72  std::unique_ptr<TEveWindowSlot> m_slot;
73  std::unique_ptr<TEveWindowPack> m_pack;
74 
75  std::unique_ptr<TEveViewer> m_XZView;
76  std::unique_ptr<TEveViewer> m_YZView;
77  std::unique_ptr<TEveViewer> m_XYView;
78 
79  std::unique_ptr<TEveScene> m_XZGeomScene;
80  std::unique_ptr<TEveScene> m_YZGeomScene;
81  std::unique_ptr<TEveScene> m_XYGeomScene;
82 
83  std::unique_ptr<TEveScene> m_XZEventScene;
84  std::unique_ptr<TEveScene> m_YZEventScene;
85  std::unique_ptr<TEveScene> m_XYEventScene;
86 };
87 } // namespace Herd
88 
89 #endif
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
std::unique_ptr< TEveScene > m_XZGeomScene
Definition: HWProjections.h:79
void DrawTracks3D(const HWTracks3DEventDisplay &trackDisp)
Definition: HWProjections.cpp:172
Definition: HWMCTruthDisplay.h:16
void FillScene(RefFrame::View view, TEveElement *parent, const std::vector< std::string > &excluded, unsigned int depth)
Definition: HWProjections.cpp:211
void ClearScene()
Definition: HWProjections.cpp:83
char m_mainTransparency
Definition: HWProjections.h:70
Definition: HWProjections.h:43
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:85
std::unique_ptr< TEveScene > m_XZEventScene
Definition: HWProjections.h:83
std::unique_ptr< TEveWindowPack > m_pack
Definition: HWProjections.h:73
void DrawCaloHits(const HWCaloEventDisplay &caloDisp)
Definition: HWProjections.cpp:130
Definition: HWCaloEventDisplay.h:24
void SetGeoTransparency(char transp)
Definition: HWProjections.cpp:191
std::unique_ptr< TEveScene > m_YZEventScene
Definition: HWProjections.h:84
Definition: HWTracks3DEventDisplay.h:24
void SetSceneTransparency(TEveElement *scene, char transp)
Definition: HWProjections.cpp:201
void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp)
Definition: HWProjections.cpp:159
Definition: HWCaloAxesEventDisplay.h:15
Definition: HWPSDEventDisplay.h:25
std::unique_ptr< TEveViewer > m_YZView
Definition: HWProjections.h:76
void DrawPSDHits(const HWPSDEventDisplay &psdDisp)
Definition: HWProjections.cpp:136
void DrawTrackingDetectorClusters(const HWTrackingDetectorEventDisplay &stkDisp)
Definition: HWProjections.cpp:147
std::unique_ptr< TEveWindowSlot > m_slot
Definition: HWProjections.h:72
std::unique_ptr< TEveScene > m_XYGeomScene
Definition: HWProjections.h:81
static constexpr char startingTransparency
Definition: HWProjections.h:62
void LoadGeometryScene()
Definition: HWProjections.cpp:185
std::unique_ptr< TEveViewer > m_XYView
Definition: HWProjections.h:77
void DrawTracks2D(const HWHoughTrackEventDisplay &trackDisp)
Definition: HWProjections.cpp:153
void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp)
Definition: HWProjections.cpp:117
std::unique_ptr< TEveViewer > m_XZView
Definition: HWProjections.h:75
char GetSceneTransparency()
Definition: HWProjections.h:59
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:93
std::unique_ptr< TEveScene > m_YZGeomScene
Definition: HWProjections.h:80