00001 #ifndef VIS_TRACKER_VIS_PIXEL_DIGI_TWIG_H 00002 # define VIS_TRACKER_VIS_PIXEL_DIGI_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 <vector> 00013 00014 //<<<<<< PUBLIC DEFINES >>>>>> 00015 //<<<<<< PUBLIC CONSTANTS >>>>>> 00016 //<<<<<< PUBLIC TYPES >>>>>> 00017 00018 class PixelDigi; 00019 class SoSeparator; 00020 class SoCube; 00021 class SoTransform; 00022 class TrackerGeometry; 00023 00024 //<<<<<< PUBLIC VARIABLES >>>>>> 00025 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00026 //<<<<<< CLASS DECLARATIONS >>>>>> 00027 00028 class VisPixelDigiTwig : public VisQueuedTwig 00029 { 00030 public: 00031 VisPixelDigiTwig (IgState *state, IgTwig *parent, const std::string &name = "", 00032 unsigned int detType = 0, unsigned int subDetType = 0); 00033 // implicit copy constructor 00034 // implicit assignment operator 00035 // implicit destructor 00036 virtual void onNewEvent (const edm::Event &event, 00037 const edm::EventSetup &eventSetup); 00038 using VisQueuedTwig::update; 00039 virtual void update (Ig3DRep *rep); 00040 virtual void update (IgLegoRep *rep); 00041 virtual void update (IgTextRep *rep); 00042 virtual void update (IgRPhiRep *rep); 00043 virtual void update (IgRZRep *rep); 00044 00045 private: 00046 std::string m_text; 00047 std::vector<std::pair<DetId, PixelDigi> > m_digis; 00048 edm::ESHandle<TrackerGeometry> m_pDD; 00049 unsigned int m_detType; 00050 unsigned int m_subDetType; 00051 const PixelGeomDetUnit* theDet; 00052 const RectangularPixelTopology * theTopol; 00053 float thePitchX; 00054 float thePitchY; 00055 float theNumOfRow; 00056 float theNumOfCol; 00057 float theOffsetX; 00058 float theOffsetY; 00059 SoSeparator *sepmodule; 00060 SoSeparator *sepcube; 00061 SoCube *cubedigi; 00062 SoTransform *digiTransform; 00063 }; 00064 00065 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00066 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00067 00068 #endif // VIS_TRACKER_VIS_PIXEL_DIGI_TWIG_H