CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
FWSimpleProxyBuilder Class Referenceabstract

#include <Fireworks/Core/interface/FWSimpleProxyBuilder.h>

Inheritance diagram for FWSimpleProxyBuilder:
FWProxyBuilderBase FWHeatmapProxyBuilderTemplate< T > FWHeatmapProxyBuilderTemplate< CaloParticle > FWHeatmapProxyBuilderTemplate< reco::CaloCluster > FWHeatmapProxyBuilderTemplate< reco::HGCalMultiCluster > FWHeatmapProxyBuilderTemplate< ticl::Trackster > FWSimpleProxyBuilderTemplate< T > FWSimpleProxyBuilderTemplate< BeamSpotOnline > FWSimpleProxyBuilderTemplate< CaloParticle > FWSimpleProxyBuilderTemplate< CSCRecHit2D > FWSimpleProxyBuilderTemplate< CSCSegment > FWSimpleProxyBuilderTemplate< DTRecHit1DPair > FWSimpleProxyBuilderTemplate< DTRecSegment4D > FWSimpleProxyBuilderTemplate< GEMRecHit > FWSimpleProxyBuilderTemplate< GEMSegment > FWSimpleProxyBuilderTemplate< HGCRecHit > FWSimpleProxyBuilderTemplate< l1extra::L1EmParticle > FWSimpleProxyBuilderTemplate< l1extra::L1EtMissParticle > FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle > FWSimpleProxyBuilderTemplate< l1extra::L1MuonParticle > FWSimpleProxyBuilderTemplate< l1t::HGCalMulticluster > FWSimpleProxyBuilderTemplate< l1t::HGCalTriggerCell > FWSimpleProxyBuilderTemplate< ME0RecHit > FWSimpleProxyBuilderTemplate< ME0Segment > FWSimpleProxyBuilderTemplate< pat::Jet > FWSimpleProxyBuilderTemplate< PSimHit > FWSimpleProxyBuilderTemplate< reco::BeamSpot > FWSimpleProxyBuilderTemplate< reco::Candidate > FWSimpleProxyBuilderTemplate< reco::CandidatePtr > FWSimpleProxyBuilderTemplate< reco::CandSecondaryVertexTagInfo > FWSimpleProxyBuilderTemplate< reco::Conversion > FWSimpleProxyBuilderTemplate< reco::GenParticle > FWSimpleProxyBuilderTemplate< reco::GsfElectron > FWSimpleProxyBuilderTemplate< reco::HGCalMultiCluster > FWSimpleProxyBuilderTemplate< reco::Jet > FWSimpleProxyBuilderTemplate< reco::MET > FWSimpleProxyBuilderTemplate< reco::Muon > FWSimpleProxyBuilderTemplate< reco::PFBlock > FWSimpleProxyBuilderTemplate< reco::PFCandidate > FWSimpleProxyBuilderTemplate< reco::PFCluster > FWSimpleProxyBuilderTemplate< reco::PFJet > FWSimpleProxyBuilderTemplate< reco::Photon > FWSimpleProxyBuilderTemplate< reco::SecondaryVertexTagInfo > FWSimpleProxyBuilderTemplate< reco::Track > FWSimpleProxyBuilderTemplate< reco::Vertex > FWSimpleProxyBuilderTemplate< reco::VertexCompositePtrCandidate > FWSimpleProxyBuilderTemplate< RPCRecHit > FWSimpleProxyBuilderTemplate< SimVertex > FWSimpleProxyBuilderTemplate< ticl::Trackster > FWSimpleProxyBuilderTemplate< TrackingParticle > FWSimpleProxyBuilderTemplate< TrackingVertex > FWSimpleProxyBuilderTemplate< TrajectorySeed >

Public Member Functions

 FWSimpleProxyBuilder (const std::type_info &iType)
 
 FWSimpleProxyBuilder (const FWSimpleProxyBuilder &)=delete
 
const FWSimpleProxyBuilderoperator= (const FWSimpleProxyBuilder &)=delete
 
 ~FWSimpleProxyBuilder () override
 
- Public Member Functions inherited from FWProxyBuilderBase
void build ()
 
virtual bool canHandle (const FWEventItem &)
 
const fireworks::Contextcontext () const
 
TEveElementList * createProduct (FWViewType::EType, const FWViewContext *)
 
 FWProxyBuilderBase ()
 
bool getHaveWindow () const
 
virtual bool havePerViewProduct (FWViewType::EType) const
 
virtual bool haveSingleProduct () const
 
const FWEventItemitem () const
 
virtual void itemBeingDestroyed (const FWEventItem *)
 
void itemChanged (const FWEventItem *)
 
int layer () const
 
void modelChanges (const FWModelIds &)
 
void removePerViewProduct (FWViewType::EType, const FWViewContext *vc)
 
void scaleChanged (const FWViewContext *)
 
void setHaveWindow (bool iFlag)
 
virtual void setInteractionList (FWInteractionList *, const std::string &)
 
virtual void setItem (const FWEventItem *iItem)
 
void setupAddElement (TEveElement *el, TEveElement *parent, bool set_color=true) const
 
void setupElement (TEveElement *el, bool color=true) const
 
virtual bool willHandleInteraction () const
 
virtual ~FWProxyBuilderBase ()
 

Static Public Member Functions

static std::string typeOfBuilder ()
 Used by the plugin system to determine how the proxy uses the data from FWEventItem. More...
 
- Static Public Member Functions inherited from FWProxyBuilderBase
static bool representsSubPart ()
 
static std::string typeOfBuilder ()
 Used by the plugin system to determine how the proxy uses the data from FWEventItem. More...
 

Protected Member Functions

void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *) override
 
virtual void build (const void *, unsigned int iIndex, TEveElement &iItemHolder, const FWViewContext *)=0
 
void buildViewType (const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
 
virtual void buildViewType (const void *, unsigned int iIndex, TEveElement &iItemHolder, FWViewType::EType, const FWViewContext *)=0
 
void clean () override
 
- Protected Member Functions inherited from FWProxyBuilderBase
virtual void cleanLocal ()
 
TEveCompound * createCompound (bool set_color=true, bool propagate_color_to_all_children=false) const
 
 FWProxyBuilderBase (const FWProxyBuilderBase &)
 
void increaseComponentTransparency (unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)
 
virtual void localModelChanges (const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc)
 
virtual void modelChanges (const FWModelIds &, Product *)
 
const FWProxyBuilderBaseoperator= (const FWProxyBuilderBase &)
 
virtual void scaleProduct (TEveElementList *parent, FWViewType::EType, const FWViewContext *vc)
 

Protected Attributes

FWSimpleProxyHelper m_helper
 
- Protected Attributes inherited from FWProxyBuilderBase
std::vector< Product * > m_products
 

Private Member Functions

virtual void itemChangedImp (const FWEventItem *)
 
bool visibilityModelChanges (const FWModelId &, TEveElement *, FWViewType::EType, const FWViewContext *) override
 

Additional Inherited Members

- Protected Types inherited from FWProxyBuilderBase
typedef std::vector< Product * >
::iterator 
Product_it
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage:s <usage>

Definition at line 30 of file FWSimpleProxyBuilder.h.

Constructor & Destructor Documentation

FWSimpleProxyBuilder::FWSimpleProxyBuilder ( const std::type_info &  iType)

Definition at line 32 of file FWSimpleProxyBuilder.cc.

32 : m_helper(iType) {}
FWSimpleProxyHelper m_helper
FWSimpleProxyBuilder::~FWSimpleProxyBuilder ( )
override

Definition at line 39 of file FWSimpleProxyBuilder.cc.

39 {}
FWSimpleProxyBuilder::FWSimpleProxyBuilder ( const FWSimpleProxyBuilder )
delete

Member Function Documentation

void FWSimpleProxyBuilder::build ( const FWEventItem iItem,
TEveElementList *  product,
const FWViewContext vc 
)
overrideprotectedvirtual

Reimplemented from FWProxyBuilderBase.

Reimplemented in FWHeatmapProxyBuilderTemplate< CaloParticle >, FWHeatmapProxyBuilderTemplate< ticl::Trackster >, FWHeatmapProxyBuilderTemplate< reco::HGCalMultiCluster >, FWHeatmapProxyBuilderTemplate< reco::CaloCluster >, and FWTrackingParticleProxyBuilderFullFramework.

Definition at line 75 of file FWSimpleProxyBuilder.cc.

References FWProxyBuilderBase::build(), FWProxyBuilderBase::createCompound(), FWEventItem::ModelInfo::displayProperties(), FWDisplayProperties::isVisible(), m_helper, FWEventItem::modelData(), FWEventItem::modelInfo(), FWSimpleProxyHelper::offsetObject(), FWEventItem::size(), and findQualityFiles::size.

75  {
76  size_t size = iItem->size();
77  TEveElement::List_i pIdx = product->BeginChildren();
78  for (int index = 0; index < static_cast<int>(size); ++index) {
79  TEveElement* itemHolder = nullptr;
80  if (index < product->NumChildren()) {
81  itemHolder = *pIdx;
82  itemHolder->SetRnrSelfChildren(true, true);
83  ++pIdx;
84  } else {
85  itemHolder = createCompound();
86  product->AddElement(itemHolder);
87  }
88  if (iItem->modelInfo(index).displayProperties().isVisible()) {
89  const void* modelData = iItem->modelData(index);
90  build(m_helper.offsetObject(modelData), index, *itemHolder, vc);
91  }
92  }
93 }
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:64
const void * offsetObject(const void *iObj) const
FWSimpleProxyHelper m_helper
size_t size() const
Definition: FWEventItem.cc:457
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:466
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446
tuple size
Write out results.
virtual void FWSimpleProxyBuilder::build ( const void *  ,
unsigned int  iIndex,
TEveElement &  iItemHolder,
const FWViewContext  
)
protectedpure virtual

Implemented in FWHeatmapProxyBuilderTemplate< T >, FWHeatmapProxyBuilderTemplate< CaloParticle >, FWHeatmapProxyBuilderTemplate< ticl::Trackster >, FWHeatmapProxyBuilderTemplate< reco::HGCalMultiCluster >, FWHeatmapProxyBuilderTemplate< reco::CaloCluster >, FWSimpleProxyBuilderTemplate< T >, FWSimpleProxyBuilderTemplate< DTRecHit1DPair >, FWSimpleProxyBuilderTemplate< GEMSegment >, FWSimpleProxyBuilderTemplate< reco::PFBlock >, FWSimpleProxyBuilderTemplate< pat::Jet >, FWSimpleProxyBuilderTemplate< CaloParticle >, FWSimpleProxyBuilderTemplate< reco::Jet >, FWSimpleProxyBuilderTemplate< ticl::Trackster >, FWSimpleProxyBuilderTemplate< PSimHit >, FWSimpleProxyBuilderTemplate< TrackingVertex >, FWSimpleProxyBuilderTemplate< CSCSegment >, FWSimpleProxyBuilderTemplate< CSCRecHit2D >, FWSimpleProxyBuilderTemplate< reco::PFCluster >, FWSimpleProxyBuilderTemplate< reco::CandidatePtr >, FWSimpleProxyBuilderTemplate< ME0RecHit >, FWSimpleProxyBuilderTemplate< reco::PFCandidate >, FWSimpleProxyBuilderTemplate< reco::GenParticle >, FWSimpleProxyBuilderTemplate< l1t::HGCalTriggerCell >, FWSimpleProxyBuilderTemplate< SimVertex >, FWSimpleProxyBuilderTemplate< reco::Track >, FWSimpleProxyBuilderTemplate< l1extra::L1EmParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1EtMissParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1MuonParticle >, FWSimpleProxyBuilderTemplate< BeamSpotOnline >, FWSimpleProxyBuilderTemplate< TrackingParticle >, FWSimpleProxyBuilderTemplate< GEMRecHit >, FWSimpleProxyBuilderTemplate< reco::MET >, FWSimpleProxyBuilderTemplate< reco::Photon >, FWSimpleProxyBuilderTemplate< reco::Vertex >, FWSimpleProxyBuilderTemplate< reco::Candidate >, FWSimpleProxyBuilderTemplate< reco::HGCalMultiCluster >, FWSimpleProxyBuilderTemplate< DTRecSegment4D >, FWSimpleProxyBuilderTemplate< reco::SecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::Conversion >, FWSimpleProxyBuilderTemplate< reco::BeamSpot >, FWSimpleProxyBuilderTemplate< reco::GsfElectron >, FWSimpleProxyBuilderTemplate< RPCRecHit >, FWSimpleProxyBuilderTemplate< l1t::HGCalMulticluster >, FWSimpleProxyBuilderTemplate< ME0Segment >, FWSimpleProxyBuilderTemplate< HGCRecHit >, FWSimpleProxyBuilderTemplate< reco::CandSecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::VertexCompositePtrCandidate >, FWSimpleProxyBuilderTemplate< reco::PFJet >, FWSimpleProxyBuilderTemplate< reco::Muon >, FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle >, and FWSimpleProxyBuilderTemplate< TrajectorySeed >.

void FWSimpleProxyBuilder::buildViewType ( const FWEventItem iItem,
TEveElementList *  product,
FWViewType::EType  viewType,
const FWViewContext vc 
)
overrideprotectedvirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 95 of file FWSimpleProxyBuilder.cc.

References FWProxyBuilderBase::createCompound(), FWEventItem::ModelInfo::displayProperties(), FWDisplayProperties::isVisible(), m_helper, FWEventItem::modelData(), FWEventItem::modelInfo(), FWSimpleProxyHelper::offsetObject(), FWEventItem::size(), and findQualityFiles::size.

Referenced by visibilityModelChanges().

98  {
99  size_t size = iItem->size();
100  TEveElement::List_i pIdx = product->BeginChildren();
101  for (int index = 0; index < static_cast<int>(size); ++index) {
102  TEveElement* itemHolder = nullptr;
103  if (index < product->NumChildren()) {
104  itemHolder = *pIdx;
105  itemHolder->SetRnrSelfChildren(true, true);
106  ++pIdx;
107  } else {
108  itemHolder = createCompound();
109  product->AddElement(itemHolder);
110  }
111  if (iItem->modelInfo(index).displayProperties().isVisible()) {
112  const void* modelData = iItem->modelData(index);
113  buildViewType(m_helper.offsetObject(modelData), index, *itemHolder, viewType, vc);
114  }
115  }
116 }
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:64
const void * offsetObject(const void *iObj) const
FWSimpleProxyHelper m_helper
void buildViewType(const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
size_t size() const
Definition: FWEventItem.cc:457
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:466
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446
tuple size
Write out results.
virtual void FWSimpleProxyBuilder::buildViewType ( const void *  ,
unsigned int  iIndex,
TEveElement &  iItemHolder,
FWViewType::EType  ,
const FWViewContext  
)
protectedpure virtual

Implemented in FWHeatmapProxyBuilderTemplate< T >, FWHeatmapProxyBuilderTemplate< CaloParticle >, FWHeatmapProxyBuilderTemplate< ticl::Trackster >, FWHeatmapProxyBuilderTemplate< reco::HGCalMultiCluster >, FWHeatmapProxyBuilderTemplate< reco::CaloCluster >, FWSimpleProxyBuilderTemplate< T >, FWSimpleProxyBuilderTemplate< DTRecHit1DPair >, FWSimpleProxyBuilderTemplate< GEMSegment >, FWSimpleProxyBuilderTemplate< reco::PFBlock >, FWSimpleProxyBuilderTemplate< pat::Jet >, FWSimpleProxyBuilderTemplate< CaloParticle >, FWSimpleProxyBuilderTemplate< reco::Jet >, FWSimpleProxyBuilderTemplate< ticl::Trackster >, FWSimpleProxyBuilderTemplate< PSimHit >, FWSimpleProxyBuilderTemplate< TrackingVertex >, FWSimpleProxyBuilderTemplate< CSCSegment >, FWSimpleProxyBuilderTemplate< CSCRecHit2D >, FWSimpleProxyBuilderTemplate< reco::PFCluster >, FWSimpleProxyBuilderTemplate< reco::CandidatePtr >, FWSimpleProxyBuilderTemplate< ME0RecHit >, FWSimpleProxyBuilderTemplate< reco::PFCandidate >, FWSimpleProxyBuilderTemplate< reco::GenParticle >, FWSimpleProxyBuilderTemplate< l1t::HGCalTriggerCell >, FWSimpleProxyBuilderTemplate< SimVertex >, FWSimpleProxyBuilderTemplate< reco::Track >, FWSimpleProxyBuilderTemplate< l1extra::L1EmParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1EtMissParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1MuonParticle >, FWSimpleProxyBuilderTemplate< BeamSpotOnline >, FWSimpleProxyBuilderTemplate< TrackingParticle >, FWSimpleProxyBuilderTemplate< GEMRecHit >, FWSimpleProxyBuilderTemplate< reco::MET >, FWSimpleProxyBuilderTemplate< reco::Photon >, FWSimpleProxyBuilderTemplate< reco::Vertex >, FWSimpleProxyBuilderTemplate< reco::Candidate >, FWSimpleProxyBuilderTemplate< reco::HGCalMultiCluster >, FWSimpleProxyBuilderTemplate< DTRecSegment4D >, FWSimpleProxyBuilderTemplate< reco::SecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::Conversion >, FWSimpleProxyBuilderTemplate< reco::BeamSpot >, FWSimpleProxyBuilderTemplate< reco::GsfElectron >, FWSimpleProxyBuilderTemplate< RPCRecHit >, FWSimpleProxyBuilderTemplate< l1t::HGCalMulticluster >, FWSimpleProxyBuilderTemplate< ME0Segment >, FWSimpleProxyBuilderTemplate< HGCRecHit >, FWSimpleProxyBuilderTemplate< reco::CandSecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::VertexCompositePtrCandidate >, FWSimpleProxyBuilderTemplate< reco::PFJet >, FWSimpleProxyBuilderTemplate< reco::Muon >, FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle >, and FWSimpleProxyBuilderTemplate< TrajectorySeed >.

void FWSimpleProxyBuilder::clean ( )
overrideprotectedvirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 57 of file FWSimpleProxyBuilder.cc.

References FWProxyBuilderBase::cleanLocal(), mps_fire::i, and FWProxyBuilderBase::m_products.

57  {
58  for (Product_it i = m_products.begin(); i != m_products.end(); ++i) {
59  if ((*i)->m_elements) {
60  TEveElement* elms = (*i)->m_elements;
61  for (TEveElement::List_i it = elms->BeginChildren(); it != elms->EndChildren(); ++it)
62  (*it)->DestroyElements();
63  }
64  }
65 
66  cleanLocal();
67 }
std::vector< Product * >::iterator Product_it
std::vector< Product * > m_products
virtual void cleanLocal()
void FWSimpleProxyBuilder::itemChangedImp ( const FWEventItem iItem)
privatevirtual

Definition at line 69 of file FWSimpleProxyBuilder.cc.

References FWSimpleProxyHelper::itemChanged(), and m_helper.

69  {
70  if (iItem) {
71  m_helper.itemChanged(iItem);
72  }
73 }
FWSimpleProxyHelper m_helper
void itemChanged(const FWEventItem *)
const FWSimpleProxyBuilder& FWSimpleProxyBuilder::operator= ( const FWSimpleProxyBuilder )
delete
std::string FWSimpleProxyBuilder::typeOfBuilder ( )
static

Used by the plugin system to determine how the proxy uses the data from FWEventItem.

Definition at line 142 of file FWSimpleProxyBuilder.cc.

References AlCaHLTBitMon_QueryRunRegistry::string.

bool FWSimpleProxyBuilder::visibilityModelChanges ( const FWModelId iId,
TEveElement *  iCompound,
FWViewType::EType  viewType,
const FWViewContext vc 
)
overrideprivatevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 118 of file FWSimpleProxyBuilder.cc.

References FWProxyBuilderBase::build(), buildViewType(), FWEventItem::ModelInfo::displayProperties(), FWProxyBuilderBase::haveSingleProduct(), FWModelId::index(), info(), FWDisplayProperties::isVisible(), FWModelId::item(), m_helper, FWEventItem::modelData(), FWEventItem::modelInfo(), and FWSimpleProxyHelper::offsetObject().

121  {
122  const FWEventItem::ModelInfo& info = iId.item()->modelInfo(iId.index());
123  bool returnValue = false;
124  if (info.displayProperties().isVisible() && iCompound->NumChildren() == 0) {
125  const void* modelData = iId.item()->modelData(iId.index());
126  if (haveSingleProduct())
127  build(m_helper.offsetObject(modelData), iId.index(), *iCompound, vc);
128  else
129  buildViewType(m_helper.offsetObject(modelData), iId.index(), *iCompound, viewType, vc);
130  returnValue = true;
131  }
132  return returnValue;
133 }
static const TGPicture * info(bool iBackgroundIsBlack)
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:64
const void * offsetObject(const void *iObj) const
int index() const
Definition: FWModelId.h:41
FWSimpleProxyHelper m_helper
void buildViewType(const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
virtual bool haveSingleProduct() const
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:466
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446
const FWEventItem * item() const
Definition: FWModelId.h:39

Member Data Documentation

FWSimpleProxyHelper FWSimpleProxyBuilder::m_helper
protected