File indexing completed on 2024-04-06 12:11:44
0001
0002
0003
0004
0005
0006 #ifndef Fireworks_Electrons_FWConversionDetailView_h
0007 #define Fireworks_Electrons_FWConversionDetailView_h
0008
0009 #include "Rtypes.h"
0010
0011 #include "Fireworks/Core/interface/FWDetailViewGL.h"
0012 #include "Fireworks/Core/interface/CSGActionSupervisor.h"
0013 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0014 #include "TVector3.h"
0015
0016 class TGLEmbeddedViewer;
0017 class TGTextButton;
0018
0019 namespace reco {
0020 class Conversion;
0021 }
0022
0023 class FWConvTrackHitsDetailView : public FWDetailViewGL<reco::Conversion>, public CSGActionSupervisor {
0024 public:
0025 FWConvTrackHitsDetailView();
0026 ~FWConvTrackHitsDetailView() override;
0027
0028 void pickCameraCenter();
0029 void rnrLabels();
0030 void rnrModules();
0031 void rnrHits();
0032
0033 void camera1Callback();
0034 void camera2Callback();
0035 void camera3Callback();
0036 void switchProjection();
0037
0038 FWConvTrackHitsDetailView(const FWConvTrackHitsDetailView&) = delete;
0039 const FWConvTrackHitsDetailView& operator=(const FWConvTrackHitsDetailView&) = delete;
0040
0041 private:
0042 using FWDetailViewGL<reco::Conversion>::build;
0043 void build(const FWModelId& id, const reco::Conversion*) override;
0044 using FWDetailViewGL<reco::Conversion>::setTextInfo;
0045 void setTextInfo(const FWModelId& id, const reco::Conversion*) override;
0046
0047 void addTrackerHits3D(std::vector<TVector3>& points, class TEveElementList* tList, Color_t color, int size);
0048
0049 void addHits(const reco::Track& track, const FWEventItem* iItem, TEveElement* trkList, bool addNearbyHits);
0050 void addModules(const reco::Track& track, const FWEventItem* iItem, TEveElement* trkList, bool addLostHits);
0051
0052 TEveElementList* m_modules;
0053 TEveElementList* m_moduleLabels;
0054 TEveElementList* m_hits;
0055 TEveElement* m_calo3D;
0056
0057 TLegend* m_legend;
0058 bool m_orthographic;
0059 CSGAction* m_camTypeAction;
0060 };
0061
0062 #endif