00001 #ifndef VIS_SIM_HITS_VIS_PSIM_HIT_TWIG_H 00002 # define VIS_SIM_HITS_VIS_PSIM_HIT_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisSimHitConnect.h" 00008 # include <vector> 00009 00010 //<<<<<< PUBLIC DEFINES >>>>>> 00011 //<<<<<< PUBLIC CONSTANTS >>>>>> 00012 //<<<<<< PUBLIC TYPES >>>>>> 00013 00014 class PSimHit; 00015 00016 //<<<<<< PUBLIC VARIABLES >>>>>> 00017 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00018 //<<<<<< CLASS DECLARATIONS >>>>>> 00019 00020 class VisPSimHitTwig : public VisQueuedTwig 00021 { 00022 public: 00023 VisPSimHitTwig (IgState *state, IgTwig *parent, 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 00032 virtual void onNewEvent (const edm::Event &event, 00033 const edm::EventSetup &eventSetup); 00034 00035 using VisQueuedTwig::update; 00036 virtual void update (IgTextRep *rep); 00037 virtual void update (Ig3DRep *rep); 00038 virtual void update (IgLegoRep *rep); 00039 virtual void update (IgRPhiRep *rep); 00040 virtual void update (IgRZRep *rep); 00041 virtual void twigChanged (void); 00042 00043 private: 00044 std::string m_text; 00045 std::string m_friendlyName; 00046 std::string m_moduleLabel; 00047 std::string m_instanceName; 00048 std::string m_processName; 00049 VisSimHitConnect m_connect; 00050 std::vector<PSimHit> m_hits; 00051 }; 00052 00053 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00054 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00055 00056 #endif // VIS_SIM_HITS_VIS_PSIM_HIT_TWIG_H