00001 #ifndef VIS_RECO_VIS_PFRECHIT_TWIG_H 00002 #define VIS_RECO_VIS_PFRECHIT_TWIG_H 00003 00004 #include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00005 #include "DataFormats/ParticleFlowReco/interface/PFRecHit.h" 00006 #include "DataFormats/ParticleFlowReco/interface/PFRecHitFwd.h" 00007 00008 #include "FWCore/Framework/interface/ESHandle.h" 00009 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00010 00011 #include <vector> 00012 00013 00023 class VisPFRecHitTwig : public VisQueuedTwig 00024 { 00025 public: 00026 VisPFRecHitTwig(IgState* state, IgTwig* parent, 00027 const std::string& name = "", 00028 const std::string& friendlyName = "", 00029 const std::string& moduleLabel = "", 00030 const std::string& instanceName = "", 00031 const std::string& processName = ""); 00032 00033 virtual void onNewEvent(const edm::Event& event, 00034 const edm::EventSetup& eventSetup); 00035 00036 using VisQueuedTwig::update; 00037 virtual void update(Ig3DRep* rep); 00038 virtual void update(IgLegoRep* rep); 00039 virtual void update(IgTextRep* rep); 00040 virtual void update(IgRPhiRep* rep); 00041 virtual void update(IgRZRep* rep); 00042 00043 private: 00044 std::string m_text; 00045 00046 const std::string m_name; 00047 const std::string m_friendlyName; 00048 const std::string m_moduleLabel; 00049 const std::string m_instanceName; 00050 const std::string m_processName; 00051 00052 std::vector<reco::PFRecHit> m_EBrechits; 00053 std::vector<reco::PFRecHit> m_HBrechits; 00054 std::vector<reco::PFRecHit> m_EErechits; 00055 00056 edm::ESHandle<CaloGeometry> m_pDD; 00057 }; 00058 00059 #endif