CMS 3D CMS Logo

FWMuonProxyBuilder.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Muons
4 // Class : FWMuonProxyBuilder
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Chris Jones
10 // Created: Thu Dec 4 19:28:07 EST 2008
11 //
12 #include "TEveTrack.h"
13 
19 
21 public:
23  ~FWMuonProxyBuilder(void) override {}
24 
25  void setItem(const FWEventItem* iItem) override;
26 
28 
29 private:
30  // Disable default copy constructor
31  FWMuonProxyBuilder(const FWMuonProxyBuilder&) = delete;
32  // Disable default assignment operator
33  const FWMuonProxyBuilder& operator=(const FWMuonProxyBuilder&) = delete;
34 
36  void build(const reco::Muon& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext*) override;
37 
38  void localModelChanges(const FWModelId& iId,
39  TEveElement* iCompound,
40  FWViewType::EType viewType,
41  const FWViewContext* vc) override;
42 
44 };
45 
48 
49  if (iItem) {
50  iItem->getConfig()->assertParam("LineWidth", long(1), long(1), long(4));
51  }
52 }
53 
55  unsigned int iIndex,
56  TEveElement& oItemHolder,
57  const FWViewContext*) {
58  int width = item()->getConfig()->value<long>("LineWidth");
59  m_builder.setLineWidth(width);
60 
61  m_builder.buildMuon(this, &iData, &oItemHolder, true, false);
62  increaseComponentTransparency(iIndex, &oItemHolder, "Chamber", 60);
63 }
64 
66  TEveElement* iCompound,
67  FWViewType::EType viewType,
68  const FWViewContext* vc) {
69  increaseComponentTransparency(iId.index(), iCompound, "Chamber", 60);
70 }
71 
FWProxyBuilderConfiguration * getConfig() const
Definition: FWEventItem.h:150
void setLineWidth(int w)
Definition: FWMuonBuilder.h:35
void buildMuon(FWProxyBuilderBase *, const reco::Muon *muon, TEveElement *tList, bool showEndcap, bool onlyTracks=false)
const FWEventItem * item() const
static const int kAll3DBits
Definition: FWViewType.h:68
int index() const
Definition: FWModelId.h:41
virtual void setItem(const FWEventItem *iItem)
void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc) override
FWGenericParameter< T > * assertParam(const std::string &name, T def)
void setItem(const FWEventItem *iItem) override
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
~FWMuonProxyBuilder(void) override
void increaseComponentTransparency(unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)
const FWMuonProxyBuilder & operator=(const FWMuonProxyBuilder &)=delete