00001 #ifndef VIS_TRACKER_VIS_TRACKER_DIGI_TWIG_H 00002 # define VIS_TRACKER_VIS_TRACKER_DIGI_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Framework/interface/IgTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00008 # include "VisFramework/VisFrameworkBase/interface/VisLegoScale.h" 00009 # include "FWCore/Framework/interface/ESHandle.h" 00010 # include "Geometry/CommonDetUnit/interface/TrackingGeometry.h" 00011 # include <vector> 00012 00013 //<<<<<< PUBLIC DEFINES >>>>>> 00014 //<<<<<< PUBLIC CONSTANTS >>>>>> 00015 //<<<<<< PUBLIC TYPES >>>>>> 00016 00017 class SiStripDigi; 00018 class SoSeparator; 00019 class SoCube; 00020 class SoTransform; 00021 class TrackerGeometry; 00022 00023 //<<<<<< PUBLIC VARIABLES >>>>>> 00024 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00025 //<<<<<< CLASS DECLARATIONS >>>>>> 00026 00027 class VisTrackerDigiTwig : public VisQueuedTwig 00028 { 00029 public: 00030 VisTrackerDigiTwig (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 using VisQueuedTwig::update; 00043 virtual void update (Ig3DRep *rep); 00044 virtual void update (IgLegoRep *rep); 00045 virtual void update (IgTextRep *rep); 00046 virtual void update (IgRPhiRep *rep); 00047 virtual void update (IgRZRep *rep); 00048 virtual void twigChanged (void); 00049 00050 private: 00051 std::string m_text; 00052 const std::string m_friendlyName; 00053 const std::string m_moduleLabel; 00054 const std::string m_instanceName; 00055 const std::string m_processName; 00056 VisLegoScale m_scale; 00057 00058 std::vector<std::pair<DetId, SiStripDigi> > m_digis; 00059 edm::ESHandle<TrackerGeometry> m_pDD; 00060 }; 00061 00062 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00063 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00064 00065 #endif // VIS_TRACKER_VIS_TRACKER_DIGI_TWIG_H