00001 #ifndef VIS_ECAL_VIS_SUPER_CLUSTER_COLLECTION_TWIG_H 00002 # define VIS_ECAL_VIS_SUPER_CLUSTER_COLLECTION_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisBinningStrategy.h" 00008 # include "VisFramework/VisFrameworkBase/interface/VisCaloAnnotation.h" 00009 # include "VisFramework/VisFrameworkBase/interface/VisCaloEnergyScale.h" 00010 # include "VisFramework/VisFrameworkBase/interface/VisEnergyCut.h" 00011 # include "VisFramework/VisFrameworkBase/interface/VisLegoScale.h" 00012 # include <vector> 00013 00014 //<<<<<< PUBLIC DEFINES >>>>>> 00015 00016 namespace reco 00017 { 00018 class SuperCluster; 00019 } 00020 class EcalRecHit; 00021 00022 //<<<<<< PUBLIC CONSTANTS >>>>>> 00023 //<<<<<< PUBLIC TYPES >>>>>> 00024 //<<<<<< PUBLIC VARIABLES >>>>>> 00025 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00026 //<<<<<< CLASS DECLARATIONS >>>>>> 00027 00028 class VisSuperClusterCollectionTwig : public VisQueuedTwig 00029 { 00030 public: 00031 VisSuperClusterCollectionTwig (IgState *state, IgTwig *parent, 00032 const std::string &name = "", 00033 const std::string &friendlyName = "", 00034 const std::string &moduleLabel = "", 00035 const std::string &instanceName = "", 00036 const std::string &processName = "", 00037 unsigned color = 0xff009c00); 00038 // implicit copy constructor 00039 // implicit assignment operator 00040 // implicit destructor 00041 virtual void onNewEvent (const edm::Event &event, 00042 const edm::EventSetup &eventSetup); 00043 using VisQueuedTwig::update; 00044 virtual void update (IgTextRep *rep); 00045 virtual void update (Ig3DRep *rep); 00046 virtual void update (IgLegoRep *rep); 00047 virtual void update (IgRPhiRep *rep); 00048 virtual void update (IgRZRep *rep); 00049 virtual void twigChanged (void); 00050 00051 private: 00052 std::string m_name; 00053 std::string m_text; 00054 const std::string m_friendlyName; 00055 const std::string m_moduleLabel; 00056 const std::string m_instanceName; 00057 const std::string m_processName; 00058 VisBinningStrategy m_binning; 00059 VisLegoScale m_scale; 00060 VisEnergyCut m_cut; 00061 VisCaloEnergyScale m_escale; 00062 VisCaloAnnotation m_annotation; 00063 std::vector<reco::SuperCluster> m_clusters; 00064 std::vector<EcalRecHit> m_clusterRecHits; 00065 unsigned m_rgba; 00066 }; 00067 00068 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00069 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00070 00071 #endif // VIS_ECAL_VIS_SUPER_CLUSTER_COLLECTION_TWIG_H