Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "Fireworks/Core/interface/FWSimpleProxyBuilderTemplate.h"
00015 #include "Fireworks/Muons/interface/FWMuonBuilder.h"
00016 #include "DataFormats/MuonReco/interface/Muon.h"
00017
00018 class FWMuonProxyBuilder : public FWSimpleProxyBuilderTemplate<reco::Muon>
00019 {
00020 public:
00021 FWMuonProxyBuilder( void ) {}
00022 virtual ~FWMuonProxyBuilder( void ) {}
00023
00024 REGISTER_PROXYBUILDER_METHODS();
00025
00026 private:
00027
00028 FWMuonProxyBuilder( const FWMuonProxyBuilder& );
00029
00030 const FWMuonProxyBuilder& operator=( const FWMuonProxyBuilder& );
00031
00032
00033 virtual void build( const reco::Muon& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* );
00034
00035 virtual void localModelChanges( const FWModelId& iId, TEveElement* iCompound,
00036 FWViewType::EType viewType, const FWViewContext* vc );
00037
00038 mutable FWMuonBuilder m_builder;
00039 };
00040
00041 void
00042 FWMuonProxyBuilder::build( const reco::Muon& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* )
00043 {
00044 m_builder.buildMuon( this, &iData, &oItemHolder, true, false );
00045
00046 increaseComponentTransparency( iIndex, &oItemHolder, "Chamber", 60 );
00047 }
00048
00049 void
00050 FWMuonProxyBuilder::localModelChanges( const FWModelId& iId, TEveElement* iCompound,
00051 FWViewType::EType viewType, const FWViewContext* vc )
00052 {
00053 increaseComponentTransparency( iId.index(), iCompound, "Chamber", 60 );
00054 }
00055
00056 REGISTER_FWPROXYBUILDER( FWMuonProxyBuilder, reco::Muon, "Muons", FWViewType::kAll3DBits | FWViewType::kRhoZBit );