Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 //
0003 // Package:     Tracks
0004 // Class  :     FWConvTrackHitsDetailView
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;                   // stop default
0039   const FWConvTrackHitsDetailView& operator=(const FWConvTrackHitsDetailView&) = delete;  // stop default
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