00001 #ifndef Fireworks_Muons_FWMuonBuilder_h 00002 #define Fireworks_Muons_FWMuonBuilder_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Muons 00006 // Class : FWMuonBuilder 00007 // 00008 // $Id: FWMuonBuilder.h,v 1.8 2010/04/30 12:29:29 amraktad Exp $ 00009 // 00010 #include "Fireworks/Core/interface/FWEvePtr.h" 00011 00012 // forward declarations 00013 namespace reco { 00014 class Muon; 00015 } 00016 00017 class FWEventItem; 00018 class TEveElementList; 00019 class TEveTrackPropagator; 00020 class FWMagField; 00021 class FWPRoxyBuilderBase; 00022 00023 class FWMuonBuilder 00024 { 00025 00026 public: 00027 FWMuonBuilder(); 00028 virtual ~FWMuonBuilder(); 00029 00030 // ---------- const member functions --------------------- 00031 00032 // ---------- static member functions -------------------- 00033 00034 // ---------- member functions --------------------------- 00035 void buildMuon(FWProxyBuilderBase*, 00036 const reco::Muon* muon, 00037 TEveElement* tList, 00038 bool showEndcap, 00039 bool onlyTracks = false); 00040 00041 private: 00042 FWMuonBuilder(const FWMuonBuilder&); // stop default 00043 00044 const FWMuonBuilder& operator=(const FWMuonBuilder&); // stop default 00045 00046 void calculateField(const reco::Muon& iData, FWMagField* field); 00047 00048 // ---------- member data -------------------------------- 00049 }; 00050 00051 #endif