HerdSoftware  0.1.1
HWCaloEventDisplay.h
Go to the documentation of this file.
1 /*
2  * HWCaloEventDisplay.h
3  *
4  * Created on: 08 May 2019
5  * Author: Valerio Formato
6  */
7 
8 // HERD headers
12 #include "dataobjects/CaloHits.h"
13 
14 // ROOT headers
15 #include "TEveGeoNode.h"
16 
17 // c++ headers
18 #include <unordered_map>
19 
20 #ifndef HWCaloEventDisplay_H_
21 #define HWCaloEventDisplay_H_
22 
23 namespace Herd {
25 public:
28 
29  void GenerateHashTable(TEveGeoNode *node);
30  void ImportCaloHits(const CaloHits &caloHits, const CaloGeoParams &caloParams);
31 
32  TEveElementList *CaloHitsXZ;
33  TEveElementList *CaloHitsYZ;
34  TEveElementList *CaloHitsXY;
35 
36 private:
37  std::unordered_map<std::string, TEveGeoShape *> _EGSMap;
38  std::map<RefFrame::View, VPalette *> _palettes;
39 
40  struct CaloProjHit {
41  int iu;
42  int iv;
43  float eDep;
44  float u;
45  float v;
46  };
47 
48 public:
49  using projHitIteratorBase = std::pair<std::pair<int, int>, CaloProjHit>;
50  using CaloProjHits = std::map<std::pair<int, int>, CaloProjHit>;
51  void DrawProjectedHits(const CaloProjHits &projHits, RefFrame::View view);
52 
53  CaloProjHits ProjectHits(const CaloHits &hits, const CaloGeoParams &geoParams, RefFrame::Axis dir1, RefFrame::Axis dir2);
54 };
55 } // namespace Herd
56 
57 #endif
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
std::unordered_map< std::string, TEveGeoShape * > _EGSMap
Definition: HWCaloEventDisplay.h:37
int iv
Definition: HWCaloEventDisplay.h:42
Definition: HWCaloEventDisplay.h:40
HWCaloEventDisplay()
Definition: HWCaloEventDisplay.cpp:38
CaloProjHits ProjectHits(const CaloHits &hits, const CaloGeoParams &geoParams, RefFrame::Axis dir1, RefFrame::Axis dir2)
Definition: HWCaloEventDisplay.cpp:53
float v
Definition: HWCaloEventDisplay.h:45
void GenerateHashTable(TEveGeoNode *node)
Definition: HWCaloEventDisplay.cpp:158
Axis
Aliases for the axes. RefFrame.h common/RefFrame.h.
Definition: RefFrame.h:31
TEveElementList * CaloHitsXZ
Definition: HWCaloEventDisplay.h:32
int iu
Definition: HWCaloEventDisplay.h:41
std::pair< std::pair< int, int >, CaloProjHit > projHitIteratorBase
Definition: HWCaloEventDisplay.h:49
Data structure for the Calo geometry parameters.
Definition: CaloGeoParams.h:29
Definition: HWCaloEventDisplay.h:24
void ImportCaloHits(const CaloHits &caloHits, const CaloGeoParams &caloParams)
Definition: HWCaloEventDisplay.cpp:73
std::map< std::pair< int, int >, CaloProjHit > CaloProjHits
Definition: HWCaloEventDisplay.h:50
~HWCaloEventDisplay()
Definition: HWCaloEventDisplay.h:27
float u
Definition: HWCaloEventDisplay.h:44
std::map< RefFrame::View, VPalette * > _palettes
Definition: HWCaloEventDisplay.h:38
float eDep
Definition: HWCaloEventDisplay.h:43
TEveElementList * CaloHitsYZ
Definition: HWCaloEventDisplay.h:33
TEveElementList * CaloHitsXY
Definition: HWCaloEventDisplay.h:34
View
Aliases for the three 2D projection planes. RefFrame.h common/RefFrame.h.
Definition: RefFrame.h:88
Container for the hits of a single CALO detector.
Definition: HWBaseEventDisplay.h:19
void DrawProjectedHits(const CaloProjHits &projHits, RefFrame::View view)
Definition: HWCaloEventDisplay.cpp:79