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