00001 #ifndef VIS_ECAL_VIS_SUPER_CLUSTER_TWIG_H 00002 # define VIS_ECAL_VIS_SUPER_CLUSTER_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 //<<<<<< PUBLIC CONSTANTS >>>>>> 00016 //<<<<<< PUBLIC TYPES >>>>>> 00017 00018 class EcalRecHit; 00019 00020 //<<<<<< PUBLIC VARIABLES >>>>>> 00021 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00022 //<<<<<< CLASS DECLARATIONS >>>>>> 00023 00024 class VisSuperClusterTwig : public VisQueuedTwig 00025 { 00026 public: 00027 VisSuperClusterTwig (IgState *state, IgTwig *parent, const std::string &name, 00028 std::vector <EcalRecHit> &recHits); 00029 // implicit copy constructor 00030 // implicit assignment operator 00031 // implicit destructor 00032 00033 virtual void onNewEvent (const edm::Event &event, 00034 const edm::EventSetup &eventSetup); 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_name; 00045 VisBinningStrategy m_binning; 00046 VisLegoScale m_scale; 00047 VisEnergyCut m_cut; 00048 VisCaloEnergyScale m_escale; 00049 VisCaloAnnotation m_annotation; 00050 std::vector <EcalRecHit> m_recHits; 00051 unsigned m_rgba; 00052 }; 00053 00054 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00055 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00056 00057 #endif // VIS_ECAL_VIS_SUPER_CLUSTER_TWIG_H