00001 #ifndef VIS_MUON_DT_VIS_DTDIGI_TWIG_H
00002 # define VIS_MUON_DT_VIS_DTDIGI_TWIG_H
00003
00004
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
00014
00015
00016
00017 class DTDigi;
00018 class DTLayerId;
00019 class SoSeparator;
00020
00021
00022
00023
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
00035 unsigned color = 0x66ff0000,
00036 int wheel = 10,
00037 int sector = 0);
00038
00039
00040
00041
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
00073
00074
00075 #endif // VIS_MUON_DT_VIS_DTDIGI_TWIG_H