![]() |
![]() |
00001 #ifndef VIS_TRACKER_RECO_VIS_TK_REC_TRACKS_TWIG_H 00002 # define VIS_TRACKER_RECO_VIS_TK_REC_TRACKS_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00007 # include "FWCore/Framework/interface/ESHandle.h" 00008 # include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h" 00009 # include "VisFramework/VisFrameworkBase/interface/VisSelectedTrackNumber.h" 00010 00011 # include <vector> 00012 00013 //<<<<<< PUBLIC DEFINES >>>>>> 00014 //<<<<<< PUBLIC CONSTANTS >>>>>> 00015 //<<<<<< PUBLIC TYPES >>>>>> 00016 00017 namespace reco 00018 { 00019 class Track; 00020 } 00021 namespace edm 00022 { 00023 class ParameterSet; 00024 } 00025 00026 class SbVec3f; 00027 class TrackTransformer; 00028 00029 //<<<<<< PUBLIC VARIABLES >>>>>> 00030 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00031 //<<<<<< CLASS DECLARATIONS 00032 00033 00034 class VisTkRecTracksTwig : public VisQueuedTwig 00035 { 00036 public: 00037 00038 VisTkRecTracksTwig (IgState *state, IgTwig *parent, 00039 const std::string &name = "", 00040 const std::string &friendlyName = "", 00041 const std::string &moduleLabel = "", 00042 const std::string &instanceName = "", 00043 const std::string &processName = ""); 00044 00045 // implicit copy constructor 00046 // implicit assignment operator 00047 // implicit destructor 00048 virtual void onNewEvent (const edm::Event &event, 00049 const edm::EventSetup &eventSetup); 00050 00051 using VisQueuedTwig::update; 00052 virtual void update (Ig3DRep *rep); 00053 virtual void update (IgLegoRep *rep); 00054 virtual void update (IgTextRep *rep); 00055 virtual void update (IgRPhiRep *rep); 00056 virtual void update (IgRZRep *rep); 00057 void configChanged (void); 00058 00059 00060 private: 00061 void init (void); 00062 00063 std::string m_text; 00064 const std::string m_friendlyName; 00065 const std::string m_moduleLabel; 00066 const std::string m_instanceName; 00067 const std::string m_processName; 00068 std::vector<std::string> m_trackCollectionNames; 00069 bool m_haloFlag; 00070 00071 std::vector<reco::Track> m_tracks; 00072 std::vector<std::vector<SbVec3f> > m_trackPoints; 00073 00074 std::vector<std::vector<SbVec3f> > m_trajectoryPositions; 00075 std::vector<std::vector<SbVec3f> > m_trajectoryDirections; 00076 00077 edm::ESHandle<GlobalTrackingGeometry> m_trackerGeometry; 00078 const edm::ParameterSet *m_pset; 00079 TrackTransformer *m_transformer; 00080 double m_trackThickness; 00081 VisSelectedTrackNumber m_selectedTrack; 00082 }; 00083 00084 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00085 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00086 00087 #endif // VIS_TRACKER_RECO_VIS_TK_REC_TRACKS_TWIG_H