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 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 ()
 
virtual void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *)
 
void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *) override
 
virtual void build (const void *, unsigned int iIndex, TEveElement &iItemHolder, const FWViewContext *)=0
 
virtual void buildViewType (const FWEventItem *iItem, TEveElementList *, FWViewType::EType, const FWViewContext *)
 
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() [1/2]

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

Definition at line 32 of file FWSimpleProxyBuilder.cc.

32 : m_helper(iType) {}
FWSimpleProxyHelper m_helper

◆ ~FWSimpleProxyBuilder()

FWSimpleProxyBuilder::~FWSimpleProxyBuilder ( )
override

Definition at line 39 of file FWSimpleProxyBuilder.cc.

39 {}

◆ FWSimpleProxyBuilder() [2/2]

FWSimpleProxyBuilder::FWSimpleProxyBuilder ( const FWSimpleProxyBuilder )
delete

Member Function Documentation

◆ build() [1/4]

void FWProxyBuilderBase::build
protected

Definition at line 110 of file FWProxyBuilderBase.cc.

110  {
111  if (m_item) {
112  try {
113  size_t itemSize = m_item->size(); //cashed
114 
115  clean();
116  for (Product_it i = m_products.begin(); i != m_products.end(); ++i) {
117  //printf("build() %s \n", m_item->name().c_str());
118  TEveElementList* elms = (*i)->m_elements;
119  size_t oldSize = elms->NumChildren();
120 
121  if (haveSingleProduct()) {
122  build(m_item, elms, (*i)->m_viewContext);
123  } else {
124  buildViewType(m_item, elms, (*i)->m_viewType, (*i)->m_viewContext);
125  }
126 
127  // Project all children of current product.
128  // If product is not registered into any projection-manager,
129  // this does nothing.
130  TEveProjectable* pable = dynamic_cast<TEveProjectable*>(elms);
131  if (pable->HasProjecteds()) {
132  // loop projected holders
133  for (TEveProjectable::ProjList_i i = pable->BeginProjecteds(); i != pable->EndProjecteds(); ++i) {
134  TEveProjectionManager* pmgr = (*i)->GetManager();
135  Float_t oldDepth = pmgr->GetCurrentDepth();
136  pmgr->SetCurrentDepth(item()->layer());
137  size_t cnt = 0;
138 
139  TEveElement* projectedAsElement = (*i)->GetProjectedAsElement();
140  TEveElement::List_i parentIt = projectedAsElement->BeginChildren();
141  for (TEveElement::List_i prodIt = elms->BeginChildren(); prodIt != elms->EndChildren(); ++prodIt, ++cnt) {
142  // reused projected holder
143  if (cnt < oldSize) {
144  if ((*parentIt)->NumChildren()) {
145  // update projected (mislleading name)
146  for (TEveElement::List_i pci = (*parentIt)->BeginChildren(); pci != (*parentIt)->EndChildren(); pci++)
147  pmgr->ProjectChildrenRecurse(*parentIt);
148  } else {
149  // import projectable
150  pmgr->SubImportChildren(*prodIt, *parentIt);
151  }
152 
153  ++parentIt;
154  } else if (cnt < itemSize) {
155  // new product holder
156  pmgr->SubImportElements(*prodIt, projectedAsElement);
157  } else {
158  break;
159  }
160  }
161  pmgr->SetCurrentDepth(oldDepth);
162  }
163  }
164 
165  if (m_interactionList && itemSize > oldSize) {
166  TEveElement::List_i elIt = elms->BeginChildren();
167  for (size_t cnt = 0; cnt < itemSize; ++cnt, ++elIt) {
168  if (cnt >= oldSize)
169  m_interactionList->added(*elIt, cnt);
170  }
171  }
172  }
173  } catch (const std::runtime_error& iException) {
174  fwLog(fwlog::kError) << "Caught exception in build function for item " << m_item->name() << ":\n"
175  << iException.what() << std::endl;
176  exit(1);
177  }
178  }
179  m_mustBuild = false;
180 }
size_t size() const
Definition: FWEventItem.cc:457
std::vector< Product * >::iterator Product_it
std::vector< Product * > m_products
virtual bool haveSingleProduct() const
const FWEventItem * m_item
void added(TEveElement *, unsigned int)
void buildViewType(const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
#define fwLog(_level_)
Definition: fwLog.h:45
const std::string & name() const
Definition: FWEventItem.cc:435
FWInteractionList * m_interactionList
const FWEventItem * item() const
def exit(msg="")

◆ build() [2/4]

void FWProxyBuilderBase::build
protected

Definition at line 328 of file FWProxyBuilderBase.cc.

328  {
329  assert(
330  "virtual build(const FWEventItem*, TEveElementList*, const FWViewContext*) not implemented by inherited class");
331 }
assert(be >=bs)

◆ build() [3/4]

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.

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 }
size
Write out results.
size_t size() const
Definition: FWEventItem.cc:457
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:466
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:64
const void * offsetObject(const void *iObj) const
FWSimpleProxyHelper m_helper
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446

◆ build() [4/4]

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 >.

◆ buildViewType() [1/3]

void FWProxyBuilderBase::buildViewType
protected

Definition at line 333 of file FWProxyBuilderBase.cc.

333  {
334  assert(
335  "virtual buildViewType(const FWEventItem*, TEveElementList*, FWViewType::EType, const FWViewContext*) not "
336  "implemented by inherited class");
337 }
assert(be >=bs)

◆ buildViewType() [2/3]

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.

Referenced by FWSimpleProxyBuilderTemplate< TrajectorySeed >::buildViewType(), and 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 }
size
Write out results.
size_t size() const
Definition: FWEventItem.cc:457
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:466
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
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446

◆ buildViewType() [3/3]

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 >.

◆ clean()

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()

◆ itemChangedImp()

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 *)

◆ operator=()

const FWSimpleProxyBuilder& FWSimpleProxyBuilder::operator= ( const FWSimpleProxyBuilder )
delete

◆ typeOfBuilder()

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.

◆ visibilityModelChanges()

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(), FWProxyBuilderBase::haveSingleProduct(), FWModelId::index(), info(), 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 }
const void * modelData(int iIndex) const
Definition: FWEventItem.cc:466
static const TGPicture * info(bool iBackgroundIsBlack)
int index() const
Definition: FWModelId.h:41
virtual bool haveSingleProduct() const
const FWEventItem * item() const
Definition: FWModelId.h:39
const void * offsetObject(const void *iObj) const
FWSimpleProxyHelper m_helper
void buildViewType(const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446

Member Data Documentation

◆ m_helper

FWSimpleProxyHelper FWSimpleProxyBuilder::m_helper
protected