00001 #ifndef VIS_MET_RECO_VIS_MET_TWIG_H 00002 # define VIS_MET_RECO_VIS_MET_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Framework/interface/IgTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00008 # include "DataFormats/Common/interface/Handle.h" 00009 # include "DataFormats/METReco/interface/METCollection.h" 00010 # include <vector> 00011 00012 //<<<<<< PUBLIC DEFINES >>>>>> 00013 //<<<<<< PUBLIC CONSTANTS >>>>>> 00014 //<<<<<< PUBLIC TYPES >>>>>> 00015 //<<<<<< PUBLIC VARIABLES >>>>>> 00016 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00017 //<<<<<< CLASS DECLARATIONS >>>>>> 00018 00019 class VisMETTwig : public VisQueuedTwig 00020 { 00021 public: 00022 VisMETTwig (IgState *state, IgTwig *parent, 00023 const std::string &name = "", 00024 const std::string &friendlyName = "", 00025 const std::string &moduleLabel = "", 00026 const std::string &instanceName = "", 00027 const std::string &processName = ""); 00028 // implicit copy constructor 00029 // implicit assignment operator 00030 // implicit destructor 00031 virtual void onNewEvent (const edm::Event &event, 00032 const edm::EventSetup &eventSetup); 00033 using VisQueuedTwig::update; 00034 virtual void update (Ig3DRep *rep); 00035 virtual void update (IgLegoRep *rep); 00036 virtual void update (IgTextRep *rep); 00037 virtual void update (IgRPhiRep *rep); 00038 virtual void update (IgRZRep *rep); 00039 00040 private: 00041 std::string m_name; 00042 const std::string m_friendlyName; 00043 const std::string m_moduleLabel; 00044 const std::string m_instanceName; 00045 const std::string m_processName; 00046 std::string m_text; 00047 std::vector<edm::Handle<METCollection> > m_handles; 00048 }; 00049 00050 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00051 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00052 00053 #endif // VIS_MET_RECO_VIS_MET_TWIG_H