HerdSoftware  0.4.0
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  bool FillScene(RefFrame::View view, TEveElement *parent, const std::set<std::string> &excluded);
66 
67  void SetSceneTransparency(TEveElement *scene, char transp);
68 
70 
71  std::unique_ptr<TEveWindowSlot> m_slot;
72  std::unique_ptr<TEveWindowPack> m_pack;
73 
74  std::unique_ptr<TEveViewer> m_XZView;
75  std::unique_ptr<TEveViewer> m_YZView;
76  std::unique_ptr<TEveViewer> m_XYView;
77 
78  std::unique_ptr<TEveScene> m_XZGeomScene;
79  std::unique_ptr<TEveScene> m_YZGeomScene;
80  std::unique_ptr<TEveScene> m_XYGeomScene;
81 
82  std::unique_ptr<TEveScene> m_XZEventScene;
83  std::unique_ptr<TEveScene> m_YZEventScene;
84  std::unique_ptr<TEveScene> m_XYEventScene;
85 };
86 } // namespace Herd
87 
88 #endif
Herd::HWProjections
Definition: HWProjections.h:43
HWCaloEventDisplay.h
Herd::HWProjections::ClearScene
void ClearScene()
Definition: HWProjections.cpp:95
Herd::HWProjections::DrawTracks3D
void DrawTracks3D(const HWTracks3DEventDisplay &trackDisp)
Definition: HWProjections.cpp:184
Herd::HWCaloEventDisplay
Definition: HWCaloEventDisplay.h:25
Herd::HWProjections::DrawTrackingDetectorClusters
void DrawTrackingDetectorClusters(const HWTrackingDetectorEventDisplay &trkDisp)
Definition: HWProjections.cpp:159
Herd::HWProjections::DrawTracks2D
void DrawTracks2D(const HWHoughTrackEventDisplay &trackDisp)
Definition: HWProjections.cpp:165
Herd::HWProjections::m_XYEventScene
std::unique_ptr< TEveScene > m_XYEventScene
Definition: HWProjections.h:84
Herd::HWProjections::SetGeoTransparency
void SetGeoTransparency(char transp)
Definition: HWProjections.cpp:203
Herd::HWCaloAxesEventDisplay
Definition: HWCaloAxesEventDisplay.h:15
Herd::HWProjections::m_XYView
std::unique_ptr< TEveViewer > m_XYView
Definition: HWProjections.h:76
Herd::HWProjections::SetSceneTransparency
void SetSceneTransparency(TEveElement *scene, char transp)
Definition: HWProjections.cpp:213
Herd::HWProjections::DrawPSDHits
void DrawPSDHits(const HWPSDEventDisplay &psdDisp)
Definition: HWProjections.cpp:148
Herd::HWProjections::DrawCaloAxes
void DrawCaloAxes(const HWCaloAxesEventDisplay &axesDisp)
Definition: HWProjections.cpp:171
Herd::HWTrackingDetectorEventDisplay
Definition: HWTrackingDetectorEventDisplay.h:23
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Herd::HWProjections::m_XZEventScene
std::unique_ptr< TEveScene > m_XZEventScene
Definition: HWProjections.h:82
HWPSDEventDisplay.h
Herd::HWProjections::AdjustCameras
void AdjustCameras()
Definition: HWProjections.cpp:115
Herd::RefFrame::View
View
Aliases for the three 2D projection planes.
Definition: RefFrame.h:91
HWHoughTrackEventDisplay.h
Herd::HWProjections::SceneTransparency
char SceneTransparency()
Definition: HWProjections.h:59
Herd::HWProjections::m_XYGeomScene
std::unique_ptr< TEveScene > m_XYGeomScene
Definition: HWProjections.h:80
HWTracks3DEventDisplay.h
Herd::HWProjections::DrawCaloHits
void DrawCaloHits(const HWCaloEventDisplay &caloDisp)
Definition: HWProjections.cpp:142
Herd::HWProjections::m_YZEventScene
std::unique_ptr< TEveScene > m_YZEventScene
Definition: HWProjections.h:83
Herd::HWProjections::HWProjections
HWProjections()
Definition: HWProjections.cpp:47
HWTrackingDetectorEventDisplay.h
Herd::HWPSDEventDisplay
Definition: HWPSDEventDisplay.h:25
Herd::HWProjections::startingTransparency
static constexpr char startingTransparency
Definition: HWProjections.h:62
Herd::HWProjections::m_YZView
std::unique_ptr< TEveViewer > m_YZView
Definition: HWProjections.h:75
Herd::HWProjections::m_YZGeomScene
std::unique_ptr< TEveScene > m_YZGeomScene
Definition: HWProjections.h:79
Herd::HWProjections::m_XZGeomScene
std::unique_ptr< TEveScene > m_XZGeomScene
Definition: HWProjections.h:78
Herd::HWTracks3DEventDisplay
Definition: HWTracks3DEventDisplay.h:24
Herd::HWProjections::DrawMCTruth
void DrawMCTruth(HWMCTruthDisplay &mcTruthDisp)
Definition: HWProjections.cpp:129
Herd::HWProjections::LoadGeometryScene
void LoadGeometryScene()
Definition: HWProjections.cpp:197
Herd::HWProjections::Init
void Init()
Definition: HWProjections.cpp:66
Herd::HWHoughTrackEventDisplay
Definition: HWHoughTrackEventDisplay.h:22
Herd::HWMCTruthDisplay
Definition: HWMCTruthDisplay.h:16
HWMCTruthDisplay.h
Herd::HWProjections::FillScene
bool FillScene(RefFrame::View view, TEveElement *parent, const std::set< std::string > &excluded)
Definition: HWProjections.cpp:223
Herd::HWProjections::m_slot
std::unique_ptr< TEveWindowSlot > m_slot
Definition: HWProjections.h:71
Herd::HWProjections::m_mainTransparency
char m_mainTransparency
Definition: HWProjections.h:69
Herd::HWProjections::m_pack
std::unique_ptr< TEveWindowPack > m_pack
Definition: HWProjections.h:72
Herd::HWProjections::m_XZView
std::unique_ptr< TEveViewer > m_XZView
Definition: HWProjections.h:74
HWCaloAxesEventDisplay.h