00001 #ifndef VIS_EVENT_SETUP_VIS_CALO_GEOMETRY_TWIG_H 00002 # define VIS_EVENT_SETUP_VIS_CALO_GEOMETRY_TWIG_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisAnnotateGeometry.h" 00008 # include "VisFramework/VisFrameworkBase/interface/VisLegoScale.h" 00009 00010 //<<<<<< PUBLIC DEFINES >>>>>> 00011 //<<<<<< PUBLIC CONSTANTS >>>>>> 00012 //<<<<<< PUBLIC TYPES >>>>>> 00013 00014 namespace edm 00015 { 00016 class Event; 00017 class EventSetup; 00018 } 00019 00020 class SoSeparator; 00021 00022 //<<<<<< PUBLIC VARIABLES >>>>>> 00023 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00024 //<<<<<< CLASS DECLARATIONS >>>>>> 00025 00026 class VisCaloGeometryTwig : public VisQueuedTwig 00027 { 00028 public: 00029 VisCaloGeometryTwig (IgState *state, IgTwig *parent, 00030 const std::string &name = "", 00031 const std::string detId = "", 00032 const int subdetn = -1); 00033 // implicit copy constructor 00034 // implicit assignment operator 00035 // implicit destructor 00036 virtual ~VisCaloGeometryTwig (void); 00037 00038 virtual void onNewEvent (const edm::Event &event, 00039 const edm::EventSetup &eventSetup); 00040 00041 using VisQueuedTwig::update; 00042 virtual void update (IgTextRep *rep); 00043 virtual void update (Ig3DRep *rep); 00044 virtual void update (IgRPhiRep *rep); 00045 virtual void update (IgRZRep *rep); 00046 virtual void update (IgLegoRep *rep); 00047 00048 private: 00049 void invalidate (void); 00050 00051 const std::string m_detId; 00052 const int m_subdetn; 00053 SoSeparator *m_3dDet; 00054 SoSeparator *m_rzDet; 00055 SoSeparator *m_rphiDet; 00056 SoSeparator *m_legoDet; 00057 bool m_3Ddone; 00058 bool m_rzdone; 00059 bool m_rphidone; 00060 bool m_legodone; 00061 VisAnnotateGeometry m_annotate; 00062 VisLegoScale m_scale; 00063 }; 00064 00065 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00066 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00067 00068 #endif // VIS_EVENT_SETUP_VIS_CALO_GEOMETRY_TWIG_H