CMS 3D CMS Logo

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 FWSimpleProxyBuilderTemplate< T > FWSimpleProxyBuilderTemplate< BeamSpotOnline > FWSimpleProxyBuilderTemplate< CaloParticle > FWSimpleProxyBuilderTemplate< CSCRecHit2D > FWSimpleProxyBuilderTemplate< CSCSegment > FWSimpleProxyBuilderTemplate< DTRecHit1DPair > FWSimpleProxyBuilderTemplate< DTRecSegment4D > FWSimpleProxyBuilderTemplate< GEMRecHit > FWSimpleProxyBuilderTemplate< GEMSegment > FWSimpleProxyBuilderTemplate< l1extra::L1EmParticle > FWSimpleProxyBuilderTemplate< l1extra::L1EtMissParticle > FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle > FWSimpleProxyBuilderTemplate< l1extra::L1MuonParticle > FWSimpleProxyBuilderTemplate< ME0RecHit > FWSimpleProxyBuilderTemplate< ME0Segment > FWSimpleProxyBuilderTemplate< pat::Jet > FWSimpleProxyBuilderTemplate< PSimHit > FWSimpleProxyBuilderTemplate< reco::BeamSpot > FWSimpleProxyBuilderTemplate< reco::CaloCluster > 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< TrackingParticle > FWSimpleProxyBuilderTemplate< TrackingVertex > FWSimpleProxyBuilderTemplate< TrajectorySeed >

Public Member Functions

 FWSimpleProxyBuilder (const std::type_info &iType)
 
 ~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

 FWSimpleProxyBuilder (const FWSimpleProxyBuilder &)=delete
 
virtual void itemChangedImp (const FWEventItem *)
 
const FWSimpleProxyBuilderoperator= (const FWSimpleProxyBuilder &)=delete
 
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  :
33  m_helper(iType)
34 {
35 }
FWSimpleProxyHelper m_helper
FWSimpleProxyBuilder::~FWSimpleProxyBuilder ( )
override

Definition at line 42 of file FWSimpleProxyBuilder.cc.

43 {
44 }
FWSimpleProxyBuilder::FWSimpleProxyBuilder ( const FWSimpleProxyBuilder )
privatedelete

Member Function Documentation

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

Reimplemented from FWProxyBuilderBase.

Reimplemented in FWTrackingParticleProxyBuilderFullFramework.

Definition at line 88 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.

90 {
91  size_t size = iItem->size();
92  TEveElement::List_i pIdx = product->BeginChildren();
93  for (int index = 0; index < static_cast<int>(size); ++index)
94  {
95  TEveElement* itemHolder = nullptr;
96  if (index < product->NumChildren())
97  {
98  itemHolder = *pIdx;
99  itemHolder->SetRnrSelfChildren(true, true);
100  ++pIdx;
101  }
102  else
103  {
104  itemHolder = createCompound();
105  product->AddElement(itemHolder);
106  }
107  if (iItem->modelInfo(index).displayProperties().isVisible())
108  {
109  const void* modelData = iItem->modelData(index);
110  build(m_helper.offsetObject(modelData),index, *itemHolder, vc);
111  }
112  }
113 }
size
Write out results.
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:68
const void * offsetObject(const void *iObj) const
FWSimpleProxyHelper m_helper
size_t size() const
Definition: FWEventItem.cc:550
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:569
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:537
virtual void FWSimpleProxyBuilder::build ( const void *  ,
unsigned int  iIndex,
TEveElement &  iItemHolder,
const FWViewContext  
)
protectedpure virtual

Implemented in FWSimpleProxyBuilderTemplate< T >, FWSimpleProxyBuilderTemplate< DTRecHit1DPair >, FWSimpleProxyBuilderTemplate< CaloParticle >, FWSimpleProxyBuilderTemplate< GEMSegment >, FWSimpleProxyBuilderTemplate< reco::PFBlock >, FWSimpleProxyBuilderTemplate< pat::Jet >, FWSimpleProxyBuilderTemplate< reco::Jet >, FWSimpleProxyBuilderTemplate< PSimHit >, FWSimpleProxyBuilderTemplate< TrackingVertex >, FWSimpleProxyBuilderTemplate< CSCSegment >, FWSimpleProxyBuilderTemplate< CSCRecHit2D >, FWSimpleProxyBuilderTemplate< reco::PFCluster >, FWSimpleProxyBuilderTemplate< reco::CandidatePtr >, FWSimpleProxyBuilderTemplate< ME0RecHit >, FWSimpleProxyBuilderTemplate< reco::PFCandidate >, FWSimpleProxyBuilderTemplate< reco::GenParticle >, 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< ME0Segment >, FWSimpleProxyBuilderTemplate< reco::CandSecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::VertexCompositePtrCandidate >, FWSimpleProxyBuilderTemplate< reco::CaloCluster >, 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 116 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 FWSimpleProxyBuilderTemplate< TrajectorySeed >::build(), and visibilityModelChanges().

118 {
119  size_t size = iItem->size();
120  TEveElement::List_i pIdx = product->BeginChildren();
121  for (int index = 0; index < static_cast<int>(size); ++index)
122  {
123  TEveElement* itemHolder = nullptr;
124  if (index < product->NumChildren())
125  {
126  itemHolder = *pIdx;
127  itemHolder->SetRnrSelfChildren(true, true);
128  ++pIdx;
129  }
130  else
131  {
132  itemHolder = createCompound();
133  product->AddElement(itemHolder);
134  }
135  if (iItem->modelInfo(index).displayProperties().isVisible())
136  {
137  const void* modelData = iItem->modelData(index);
138  buildViewType(m_helper.offsetObject(modelData),index, *itemHolder, viewType, vc);
139  }
140  }
141 }
size
Write out results.
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:68
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:550
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:569
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:537
virtual void FWSimpleProxyBuilder::buildViewType ( const void *  ,
unsigned int  iIndex,
TEveElement &  iItemHolder,
FWViewType::EType  ,
const FWViewContext  
)
protectedpure virtual

Implemented in FWSimpleProxyBuilderTemplate< T >, FWSimpleProxyBuilderTemplate< DTRecHit1DPair >, FWSimpleProxyBuilderTemplate< CaloParticle >, FWSimpleProxyBuilderTemplate< GEMSegment >, FWSimpleProxyBuilderTemplate< reco::PFBlock >, FWSimpleProxyBuilderTemplate< pat::Jet >, FWSimpleProxyBuilderTemplate< reco::Jet >, FWSimpleProxyBuilderTemplate< PSimHit >, FWSimpleProxyBuilderTemplate< TrackingVertex >, FWSimpleProxyBuilderTemplate< CSCSegment >, FWSimpleProxyBuilderTemplate< CSCRecHit2D >, FWSimpleProxyBuilderTemplate< reco::PFCluster >, FWSimpleProxyBuilderTemplate< reco::CandidatePtr >, FWSimpleProxyBuilderTemplate< ME0RecHit >, FWSimpleProxyBuilderTemplate< reco::PFCandidate >, FWSimpleProxyBuilderTemplate< reco::GenParticle >, 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< ME0Segment >, FWSimpleProxyBuilderTemplate< reco::CandSecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::VertexCompositePtrCandidate >, FWSimpleProxyBuilderTemplate< reco::CaloCluster >, FWSimpleProxyBuilderTemplate< reco::PFJet >, FWSimpleProxyBuilderTemplate< reco::Muon >, FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle >, and FWSimpleProxyBuilderTemplate< TrajectorySeed >.

void FWSimpleProxyBuilder::clean ( )
overrideprotectedvirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 63 of file FWSimpleProxyBuilder.cc.

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

64 {
65  for (Product_it i = m_products.begin(); i != m_products.end(); ++i)
66  {
67  if ((*i)->m_elements)
68  {
69  TEveElement* elms = (*i)->m_elements;
70  for (TEveElement::List_i it = elms->BeginChildren(); it != elms->EndChildren(); ++it)
71  (*it)->DestroyElements();
72  }
73  }
74 
75  cleanLocal();
76 }
std::vector< Product * >::iterator Product_it
std::vector< Product * > m_products
virtual void cleanLocal()
void FWSimpleProxyBuilder::itemChangedImp ( const FWEventItem iItem)
privatevirtual

Definition at line 79 of file FWSimpleProxyBuilder.cc.

References FWSimpleProxyHelper::itemChanged(), and m_helper.

80 {
81  if (iItem)
82  {
83  m_helper.itemChanged(iItem);
84  }
85 }
FWSimpleProxyHelper m_helper
void itemChanged(const FWEventItem *)
const FWSimpleProxyBuilder& FWSimpleProxyBuilder::operator= ( const FWSimpleProxyBuilder )
privatedelete
std::string FWSimpleProxyBuilder::typeOfBuilder ( )
static

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

Definition at line 172 of file FWSimpleProxyBuilder.cc.

References AlCaHLTBitMon_QueryRunRegistry::string.

173 {
174  return std::string("simple#");
175 }
bool FWSimpleProxyBuilder::visibilityModelChanges ( const FWModelId iId,
TEveElement *  iCompound,
FWViewType::EType  viewType,
const FWViewContext vc 
)
overrideprivatevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 145 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(), FWSimpleProxyHelper::offsetObject(), and AlCaHLTBitMon_QueryRunRegistry::string.

147 {
148  const FWEventItem::ModelInfo& info = iId.item()->modelInfo(iId.index());
149  bool returnValue = false;
150  if (info.displayProperties().isVisible() && iCompound->NumChildren()==0)
151  {
152  const void* modelData = iId.item()->modelData(iId.index());
153  if (haveSingleProduct())
154  build(m_helper.offsetObject(modelData),iId.index(),*iCompound, vc);
155  else
156  buildViewType(m_helper.offsetObject(modelData),iId.index(),*iCompound, viewType, vc);
157  returnValue=true;
158  }
159  return returnValue;
160 }
static const TGPicture * info(bool iBackgroundIsBlack)
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:68
const void * offsetObject(const void *iObj) const
int index() const
Definition: FWModelId.h:49
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:569
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:537
const FWEventItem * item() const
Definition: FWModelId.h:44

Member Data Documentation

FWSimpleProxyHelper FWSimpleProxyBuilder::m_helper
protected