00001 #ifndef VIS_EVENT_SETUP_VIS_RPCGEOMETRY_TWIG_H 00002 # define VIS_EVENT_SETUP_VIS_RPCGEOMETRY_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 VisRPCGeometryTwig : public VisQueuedTwig 00026 { 00027 public: 00028 VisRPCGeometryTwig (IgState *state, IgTwig *parent, 00029 const std::string &name = "", 00030 const int region = 10, 00031 const int wheel = 10, 00032 const int sector = 30, 00033 const int station = 30); 00034 00035 // implicit copy constructor 00036 // implicit assignment operator 00037 // implicit destructor 00038 virtual ~VisRPCGeometryTwig (void); 00039 00040 virtual void onNewEvent (const edm::Event &event, 00041 const edm::EventSetup &eventSetup); 00042 00043 using VisQueuedTwig::update; 00044 virtual void update (IgTextRep *rep); 00045 virtual void update (Ig3DRep *rep); 00046 virtual void update (IgRPhiRep *rep); 00047 virtual void update (IgRZRep *rep); 00048 00049 private: 00050 void invalidate (void); 00051 00052 const int m_region; 00053 const int m_wheel; 00054 const int m_sector; 00055 const int m_station; 00056 SoSeparator *m_3dDet; 00057 SoSeparator *m_rzDet; 00058 SoSeparator *m_rphiDet; 00059 bool m_3Ddone; 00060 bool m_rzdone; 00061 bool m_rphidone; 00062 VisAnnotateGeometry m_annotate; 00063 }; 00064 00065 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00066 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00067 00068 #endif // VIS_EVENT_SETUP_VIS_RPCGEOMETRY_TWIG_H