FWMuonBuilder

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
#ifndef Fireworks_Muons_FWMuonBuilder_h
#define Fireworks_Muons_FWMuonBuilder_h
// -*- C++ -*-
//
// Package:     Muons
// Class  :     FWMuonBuilder
//
//
#include "Fireworks/Core/interface/FWEvePtr.h"

// forward declarations
namespace reco {
  class Muon;
}

class FWEventItem;
class TEveElementList;
class TEveTrackPropagator;
class FWMagField;
class FWProxyBuilderBase;

class FWMuonBuilder {
public:
  FWMuonBuilder();
  virtual ~FWMuonBuilder();

  // ---------- const member functions ---------------------

  // ---------- static member functions --------------------

  // ---------- member functions ---------------------------
  void buildMuon(
      FWProxyBuilderBase*, const reco::Muon* muon, TEveElement* tList, bool showEndcap, bool onlyTracks = false);

  void setLineWidth(int w) { m_lineWidth = w; }

  FWMuonBuilder(const FWMuonBuilder&) = delete;  // stop default

  const FWMuonBuilder& operator=(const FWMuonBuilder&) = delete;  // stop default

private:
  void calculateField(const reco::Muon& iData, FWMagField* field);

  // ---------- member data --------------------------------
  int m_lineWidth;
};

#endif