Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-08-03 04:10:02

0001 #ifndef Fireworks_Muons_FWMuonBuilder_h
0002 #define Fireworks_Muons_FWMuonBuilder_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Muons
0006 // Class  :     FWMuonBuilder
0007 //
0008 //
0009 #include "Fireworks/Core/interface/FWEvePtr.h"
0010 
0011 // forward declarations
0012 namespace reco {
0013   class Muon;
0014 }
0015 
0016 class FWEventItem;
0017 class TEveElementList;
0018 class TEveTrackPropagator;
0019 class FWMagField;
0020 class FWProxyBuilderBase;
0021 
0022 class FWMuonBuilder {
0023 public:
0024   FWMuonBuilder();
0025   virtual ~FWMuonBuilder();
0026 
0027   // ---------- const member functions ---------------------
0028 
0029   // ---------- static member functions --------------------
0030 
0031   // ---------- member functions ---------------------------
0032   void buildMuon(
0033       FWProxyBuilderBase*, const reco::Muon* muon, TEveElement* tList, bool showEndcap, bool onlyTracks = false);
0034 
0035   void setLineWidth(int w) { m_lineWidth = w; }
0036 
0037   FWMuonBuilder(const FWMuonBuilder&) = delete;  // stop default
0038 
0039   const FWMuonBuilder& operator=(const FWMuonBuilder&) = delete;  // stop default
0040 
0041 private:
0042   void calculateField(const reco::Muon& iData, FWMagField* field);
0043 
0044   // ---------- member data --------------------------------
0045   int m_lineWidth;
0046 };
0047 
0048 #endif