00001 #ifndef VIS_TRACKER_RECO_VIS_TK_TRAJECTORYSEED_TWIG_H 00002 # define VIS_TRACKER_RECO_VIS_TK_TRAJECTORYSEED_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisTrajectorySeedScale.h" 00008 # include "FWCore/Framework/interface/ESHandle.h" 00009 # include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h" 00010 # include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h" 00011 # include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" 00012 # include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" 00013 # include <vector> 00014 00015 //<<<<<< PUBLIC DEFINES >>>>>> 00016 //<<<<<< PUBLIC CONSTANTS >>>>>> 00017 //<<<<<< PUBLIC TYPES >>>>>> 00018 00019 class SbVec3f; 00020 00021 //<<<<<< PUBLIC VARIABLES >>>>>> 00022 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00023 //<<<<<< CLASS DECLARATIONS 00024 00025 00026 class VisTrajectorySeedTwig : public VisQueuedTwig 00027 { 00028 public: 00029 00030 VisTrajectorySeedTwig (IgState *state, IgTwig *parent, 00031 const std::string &name = "", 00032 const std::string &friendlyName = "", 00033 const std::string &moduleLabel = "", 00034 const std::string &instanceName = "", 00035 const std::string &processName = ""); 00036 00037 // implicit copy constructor 00038 // implicit assignment operator 00039 // implicit destructor 00040 virtual void onNewEvent (const edm::Event &event, 00041 const edm::EventSetup &eventSetup); 00042 00043 using VisQueuedTwig::update; 00044 virtual void update (Ig3DRep *rep); 00045 virtual void update (IgLegoRep *rep); 00046 virtual void update (IgTextRep *rep); 00047 virtual void update (IgRPhiRep *rep); 00048 virtual void update (IgRZRep *rep); 00049 virtual void twigChanged (void); 00050 00051 private: 00052 00053 std::string m_text; 00054 const std::string m_friendlyName; 00055 const std::string m_moduleLabel; 00056 const std::string m_instanceName; 00057 const std::string m_processName; 00058 VisTrajectorySeedScale m_seedRescaleFactor; 00059 std::vector<std::vector<SbVec3f> > m_hitPoints; 00060 std::vector<SbVec3f> m_seedPositions; 00061 std::vector<SbVec3f> m_seedDirections; 00062 00063 edm::ESHandle<GlobalTrackingGeometry> m_trackerGeometry; 00064 edm::ESHandle<MagneticField> m_mgField; 00065 }; 00066 00067 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00068 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00069 00070 #endif // VIS_TRACKER_RECO_VIS_TK_REC_TRACKS_TWIG_H