CMS 3D CMS Logo

VisDTDigiTwig.h

Go to the documentation of this file.
00001 #ifndef VIS_MUON_DT_VIS_DTDIGI_TWIG_H
00002 # define VIS_MUON_DT_VIS_DTDIGI_TWIG_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Framework/interface/IgTwig.h"
00007 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h"
00008 # include "FWCore/Framework/interface/ESHandle.h"
00009 # include "Geometry/DTGeometry/interface/DTGeometry.h"
00010 
00011 # include <vector>
00012 
00013 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00014 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00015 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00016 
00017 class DTDigi;
00018 class DTLayerId;
00019 class SoSeparator;
00020 
00021 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00022 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00023 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00024 
00025 class VisDTDigiTwig : public VisQueuedTwig
00026 {
00027 public:
00028     VisDTDigiTwig (IgState *state, IgTwig *parent, 
00029                    const std::string &name = "",
00030                    const std::string &friendlyName = "",
00031                    const std::string &moduleLabel = "",
00032                    const std::string &instanceName = "",
00033                    const std::string &processName = "",
00034                    //              int layer = 0, 
00035                    unsigned color = 0x66ff0000,
00036                    int wheel = 10,
00037                    int sector = 0);
00038 
00039     // implicit copy constructor
00040     // implicit assignment operator
00041     // implicit destructor
00042     virtual void        onNewEvent (const edm::Event &event,
00043                                     const edm::EventSetup &eventSetup);
00044     using VisQueuedTwig::update;
00045     virtual void        update (Ig3DRep *rep);
00046     virtual void        update (IgLegoRep *rep);
00047     virtual void        update (IgTextRep *rep);
00048     virtual void        update (IgRPhiRep *rep);
00049     virtual void        update (IgRZRep *rep);
00050 
00051     void                annotate (bool flag);
00052 
00053 private:
00054     void                addWire (SoSeparator *separator, const std::pair<DTLayerId, DTDigi> &digi);
00055     SoSeparator        *addText (const std::pair<DTLayerId, DTDigi> &digi);
00056     void                addDescription (SoSeparator *separator, const std::pair<DTLayerId, DTDigi> &digi);
00057 
00058     std::string         m_text;
00059     const std::string   m_friendlyName;
00060     const std::string   m_moduleLabel;
00061     const std::string   m_instanceName;
00062     const std::string   m_processName;
00063     int                                         m_layer;
00064     unsigned                                    m_rgba;
00065     int                                         m_wheel;
00066     int                                         m_sector;
00067     std::vector< std::pair<DTLayerId, DTDigi> > m_digis;
00068     edm::ESHandle<DTGeometry>                   m_pDD;
00069     bool                                        m_annotate;
00070 };
00071 
00072 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00073 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00074 
00075 #endif // VIS_MUON_DT_VIS_DTDIGI_TWIG_H

Generated on Tue Jun 9 17:50:21 2009 for CMSSW by  doxygen 1.5.4