00001 #ifndef VIS_CUSTOMTRACKER_VIS_CU_TRACKER_RECHIT_H 00002 # define VIS_CUSTOMTRACKER_VIS_CU_TRACKER_RECHIT_H 00003 00004 #include "VisReco/VisCustomTracker/interface/VisCuCmsTracker.h" 00005 #include "FWCore/Framework/interface/ESHandle.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "Geometry/CommonDetUnit/interface/TrackingGeometry.h" 00008 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" 00009 #include "Geometry/TrackerTopology/interface/RectangularPixelTopology.h" 00010 #include "VisReco/VisRecoGeometry/interface/VisTrackingGeometry.h" 00011 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h" 00012 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h" 00013 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" 00014 #include "DataFormats/GeometryVector/interface/LocalPoint.h" 00015 # include <vector> 00016 00017 class SoSeparator; 00018 class SoCube; 00019 class SoTransform; 00020 class TrackerGeometry; 00021 class QPainter; 00022 class VisCuTkModule; 00023 class VisCuTkMap2D; 00024 00025 class VisCuTrackerRecHit : public VisTrackingGeometry 00026 { 00027 public: 00028 VisCuTrackerRecHit (); 00029 void setEvent (const edm::Event &event, const edm::EventSetup &eventSetup); 00030 SoSeparator * update (VisTrackingGeometry::DetectorRep type); 00031 void setTracker(VisCuCmsTracker * tr){tracker=tr;}; 00032 void drawrechit(VisCuTkModule * mod,int nlay,QPainter *p); 00033 void setMap(VisCuTkMap2D * m){map=m;}; 00034 std::string updatetext(VisCuTkModule * mod); 00035 00036 private: 00037 VisCuCmsTracker * tracker; 00038 VisCuTkMap2D * map; 00039 bool firsteventloaded, horizontal_view; 00040 std::vector<std::pair<LocalPoint, const GeomDetUnit* > > rdigi; 00041 edm::ESHandle<TrackerGeometry> geom; 00042 std::string striprechitProducerName; 00043 std::string pixelrechitProducerName; 00044 }; 00045 00046 #endif // VIS_CUSTOMTRACKER_VIS_CU_TRACKER_RECHIT_H