00001 #ifndef VIS_SIM_TRACKER_VIS_TK_SIM_HIT_TWIG_H 00002 # define VIS_SIM_TRACKER_VIS_TK_SIM_HIT_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Framework/interface/IgTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00008 # include "FWCore/Framework/interface/ESHandle.h" 00009 # include "Geometry/CommonDetUnit/interface/TrackingGeometry.h" 00010 # include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" 00011 # include "Geometry/TrackerTopology/interface/RectangularPixelTopology.h" 00012 # include "VisReco/VisRecoGeometry/interface/VisTrackingGeometry.h" 00013 # include <vector> 00014 00015 //<<<<<< PUBLIC DEFINES >>>>>> 00016 //<<<<<< PUBLIC CONSTANTS >>>>>> 00017 //<<<<<< PUBLIC TYPES >>>>>> 00018 00019 class PSimHit; 00020 class TrackerGeometry; 00021 00022 //<<<<<< PUBLIC VARIABLES >>>>>> 00023 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00024 //<<<<<< CLASS DECLARATIONS >>>>>> 00025 00026 class VisTkSimHitTwig : public VisQueuedTwig, public VisTrackingGeometry 00027 { 00028 public: 00029 VisTkSimHitTwig (IgState *state, IgTwig *parent, 00030 const std::string &name = "", 00031 const std::string &friendlyName = "", 00032 const std::string &moduleLabel = "", 00033 const std::string &instanceName = "", 00034 const std::string &processName = ""); 00035 // implicit copy constructor 00036 // implicit assignment operator 00037 // implicit destructor 00038 virtual void onNewEvent (const edm::Event &event, 00039 const edm::EventSetup &eventSetup); 00040 using VisQueuedTwig::update; 00041 virtual void update (Ig3DRep *rep); 00042 virtual void update (IgLegoRep *rep); 00043 virtual void update (IgTextRep *rep); 00044 virtual void update (IgRPhiRep *rep); 00045 virtual void update (IgRZRep *rep); 00046 00047 private: 00048 std::string m_text; 00049 const std::string m_friendlyName; 00050 const std::string m_moduleLabel; 00051 const std::string m_instanceName; 00052 const std::string m_processName; 00053 00054 edm::ESHandle<TrackerGeometry> m_pDD; 00055 std::vector<PSimHit> m_trackerHits; 00056 }; 00057 00058 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00059 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00060 00061 #endif // VIS_SIM_TRACKER_VIS_TK_SIM_HIT_TWIG_H