00001 #ifndef VIS_MUON_VIS_MUON_TWIG_H
00002 # define VIS_MUON_VIS_MUON_TWIG_H
00003
00004
00005
00006 # include "VisFramework/VisFrameworkBase/interface/VisQueuedTwig.h"
00007 # include "VisFramework/VisFrameworkBase/interface/VisAnimate.h"
00008 # include "VisFramework/VisFrameworkBase/interface/VisCounterMax.h"
00009 # include "VisFramework/VisFrameworkBase/interface/VisCounterMin.h"
00010 # include "VisFramework/VisFrameworkBase/interface/VisCounterFrequency.h"
00011 # include "VisFramework/VisFrameworkBase/interface/VisBField.h"
00012 # include "VisFramework/VisFrameworkBase/interface/VisRMax.h"
00013 # include "VisFramework/VisFrameworkBase/interface/VisZMax.h"
00014 # include "VisFramework/VisFrameworkBase/interface/VisMuonT0.h"
00015 # include "VisFramework/VisFrameworkBase/interface/VisMuonDt.h"
00016 # include "VisFramework/VisFrameworkBase/interface/VisMuonAnnotation.h"
00017 # include "VisFramework/VisFrameworkBase/interface/VisShowHitDets.h"
00018 # include "DataFormats/MuonReco/interface/Muon.h"
00019 # include <vector>
00020
00021
00022
00023
00024
00025 class DetId;
00026
00027
00028
00029
00030
00031 class VisMuonTwig : public VisQueuedTwig
00032 {
00033 public:
00034 VisMuonTwig (IgState *state, IgTwig *parent,
00035 const std::string &name = "",
00036 const std::string &friendlyName = "",
00037 const std::string &moduleLabel = "",
00038 const std::string &instanceName = "",
00039 const std::string &processName = "");
00040
00041 VisMuonTwig (IgState *state, IgTwig *parent,
00042 const std::string &name,
00043 const std::string &friendlyName,
00044 const std::string &moduleLabel,
00045 const std::string &instanceName,
00046 const std::string &processName,
00047 const reco::Muon &muon,
00048 std::vector<DetId> &dets);
00049
00050
00051
00052 virtual void onNewEvent (const edm::Event &event,
00053 const edm::EventSetup &eventSetup);
00054 using VisQueuedTwig::update;
00055 virtual void update (Ig3DRep *rep);
00056 virtual void update (IgLegoRep *rep);
00057 virtual void update (IgTextRep *rep);
00058 virtual void update (IgRPhiRep *rep);
00059 virtual void update (IgRZRep *rep);
00060 virtual void configChanged (void);
00061
00062 private:
00063 std::string m_text;
00064 const std::string m_friendlyName;
00065 const std::string m_moduleLabel;
00066 const std::string m_instanceName;
00067 const std::string m_processName;
00068 VisAnimate m_animate;
00069 VisCounterMax m_counterMax;
00070 VisCounterMin m_counterMin;
00071 VisCounterFrequency m_frequency;
00072 VisBField m_BField;
00073 VisRMax m_RMax;
00074 VisZMax m_ZMax;
00075 VisMuonT0 m_t0;
00076 VisMuonDt m_dt;
00077 VisMuonAnnotation m_annot;
00078 VisShowHitDets m_showDets;
00079
00080 std::vector<reco::Muon> m_muons;
00081 std::vector<DetId> m_dets;
00082 };
00083
00084
00085
00086
00087 #endif // VIS_MUON_VIS_MUON_TWIG_H