Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:53

0001 // -*- C++ -*-
0002 //
0003 // Package:     Tracks
0004 // Class  :     FWTrackHitsDetailView
0005 
0006 #include "Rtypes.h"
0007 #include "TVector3.h"
0008 #include "Fireworks/Core/interface/FWDetailViewGL.h"
0009 #include "Fireworks/Core/interface/CSGActionSupervisor.h"
0010 
0011 class TGLEmbeddedViewer;
0012 class FWIntValueListener;
0013 class TGSlider;
0014 namespace reco {
0015   class Track;
0016 }
0017 
0018 class FWTrackHitsDetailView : public FWDetailViewGL<reco::Track>, public CSGActionSupervisor {
0019 public:
0020   FWTrackHitsDetailView();
0021   ~FWTrackHitsDetailView() override;
0022 
0023   void pickCameraCenter();
0024   void transparencyChanged(int);
0025   void rnrLabels();
0026 
0027   void setBackgroundColor(Color_t) override;
0028 
0029 protected:
0030   TEveElementList* m_modules;
0031   TEveElementList* m_moduleLabels;
0032   TEveElementList* m_hits;
0033   TGSlider* m_slider;
0034   FWIntValueListener* m_sliderListener;
0035 
0036 public:
0037   FWTrackHitsDetailView(const FWTrackHitsDetailView&) = delete;                   // stop default
0038   const FWTrackHitsDetailView& operator=(const FWTrackHitsDetailView&) = delete;  // stop default
0039 
0040 private:
0041   using FWDetailView<reco::Track>::build;
0042   void build(const FWModelId& id, const reco::Track*) override;
0043   using FWDetailView<reco::Track>::setTextInfo;
0044   void setTextInfo(const FWModelId& id, const reco::Track*) override;
0045   void makeLegend(void);
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   TLegend* m_legend;
0053 };