CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
FWPFClusterLegoProxyBuilder Class Reference

#include <FWPFClusterLegoProxyBuilder.h>

Inheritance diagram for FWPFClusterLegoProxyBuilder:
FWSimpleProxyBuilderTemplate< reco::PFCluster > FWSimpleProxyBuilder FWProxyBuilderBase FWPFEcalClusterLegoProxyBuilder FWPFHcalClusterLegoProxyBuilder

Public Member Functions

 FWPFClusterLegoProxyBuilder ()
 
bool havePerViewProduct (FWViewType::EType) const override
 
void localModelChanges (const FWModelId &iId, TEveElement *el, FWViewType::EType viewType, const FWViewContext *vc) override
 
const std::string & purpose () const
 
void scaleProduct (TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
 
const std::string & typeName () const
 
const std::string & view () const
 
 ~FWPFClusterLegoProxyBuilder () override
 
- Public Member Functions inherited from FWSimpleProxyBuilderTemplate< reco::PFCluster >
 FWSimpleProxyBuilderTemplate ()
 
- Public Member Functions inherited from FWSimpleProxyBuilder
 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 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 const std::string & classPurpose ()
 
static const std::string & classRegisterTypeName ()
 
static const std::string & classTypeName ()
 
static const std::string & classView ()
 
static std::string typeOfBuilder ()
 
- Static Public Member Functions inherited from FWSimpleProxyBuilder
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

float calculateEt (const reco::PFCluster &cluster, float E)
 
void sharedBuild (const reco::PFCluster &, TEveElement &, const FWViewContext *)
 
- Protected Member Functions inherited from FWSimpleProxyBuilderTemplate< reco::PFCluster >
void build (const void *iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *context) override
 
virtual void build (const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *)
 
void buildViewType (const void *iData, unsigned int iIndex, TEveElement &oItemHolder, FWViewType::EType viewType, const FWViewContext *context) override
 
virtual void buildViewType (const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, FWViewType::EType viewType, const FWViewContext *)
 
const reco::PFClustermodelData (int index)
 
- Protected Member Functions inherited from FWSimpleProxyBuilder
void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *) override
 
void buildViewType (const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
 
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 modelChanges (const FWModelIds &, Product *)
 
const FWProxyBuilderBaseoperator= (const FWProxyBuilderBase &)
 

Private Member Functions

 FWPFClusterLegoProxyBuilder (const FWPFClusterLegoProxyBuilder &)
 
const FWPFClusterLegoProxyBuilderoperator= (const FWPFClusterLegoProxyBuilder &)
 

Additional Inherited Members

- Protected Types inherited from FWProxyBuilderBase
typedef std::vector< Product * >::iterator Product_it
 
- Protected Attributes inherited from FWSimpleProxyBuilder
FWSimpleProxyHelper m_helper
 
- Protected Attributes inherited from FWProxyBuilderBase
std::vector< Product * > m_products
 

Detailed Description

Definition at line 31 of file FWPFClusterLegoProxyBuilder.h.

Constructor & Destructor Documentation

FWPFClusterLegoProxyBuilder::FWPFClusterLegoProxyBuilder ( )
inline

Definition at line 37 of file FWPFClusterLegoProxyBuilder.h.

37 {}
FWPFClusterLegoProxyBuilder::~FWPFClusterLegoProxyBuilder ( )
inlineoverride

Definition at line 38 of file FWPFClusterLegoProxyBuilder.h.

References class-composition::parent, and scaleProduct().

38 {}
FWPFClusterLegoProxyBuilder::FWPFClusterLegoProxyBuilder ( const FWPFClusterLegoProxyBuilder )
private

Member Function Documentation

float FWPFClusterLegoProxyBuilder::calculateEt ( const reco::PFCluster cluster,
float  E 
)
protected
static const std::string& FWPFClusterLegoProxyBuilder::classPurpose ( )
static
static const std::string& FWPFClusterLegoProxyBuilder::classRegisterTypeName ( )
static
static const std::string& FWPFClusterLegoProxyBuilder::classTypeName ( )
static
static const std::string& FWPFClusterLegoProxyBuilder::classView ( )
static
bool FWPFClusterLegoProxyBuilder::havePerViewProduct ( FWViewType::EType  ) const
inlineoverridevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 44 of file FWPFClusterLegoProxyBuilder.h.

References localModelChanges().

44 { return true; }
void FWPFClusterLegoProxyBuilder::localModelChanges ( const FWModelId iId,
TEveElement *  el,
FWViewType::EType  viewType,
const FWViewContext vc 
)
overridevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 6 of file FWPFClusterLegoProxyBuilder.cc.

References FWModelId::index(), and FWProxyBuilderBase::item().

Referenced by havePerViewProduct().

7 {
8  // Line set marker is not the same colour as line, fixed here
9  if( ( parent )->HasChildren() )
10  {
11  for( TEveElement::List_i j = parent->BeginChildren(); j != parent->EndChildren(); j++ )
12  {
13  FWLegoCandidate *cluster = dynamic_cast<FWLegoCandidate*>( *j );
14  cluster->SetMarkerColor( FWProxyBuilderBase::item()->modelInfo( iId.index() ).displayProperties().color() );
15  cluster->ElementChanged();
16  }
17  }
18 }
const FWEventItem * item() const
int index() const
Definition: FWModelId.h:49
const FWPFClusterLegoProxyBuilder& FWPFClusterLegoProxyBuilder::operator= ( const FWPFClusterLegoProxyBuilder )
private
const std::string& FWPFClusterLegoProxyBuilder::purpose ( ) const
inline

Definition at line 49 of file FWPFClusterLegoProxyBuilder.h.

51 :
52  // --------------------- Member Functions --------------------------
void FWPFClusterLegoProxyBuilder::scaleProduct ( TEveElementList *  parent,
FWViewType::EType  type,
const FWViewContext vc 
)
overridevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 22 of file FWPFClusterLegoProxyBuilder.cc.

References FWProxyBuilderBase::context(), mps_fire::i, and FWLegoCandidate::updateScale().

Referenced by ~FWPFClusterLegoProxyBuilder().

23 {
24  for (TEveElement::List_i i = parent->BeginChildren(); i!= parent->EndChildren(); ++i)
25  {
26  if ((*i)->HasChildren())
27  {
28  TEveElement* el = (*i)->FirstChild(); // there is only one child added in this proxy builder
29  FWLegoCandidate *cluster = dynamic_cast<FWLegoCandidate*>( el );
30  cluster->updateScale(vc, context());
31  }
32  }
33 }
const fireworks::Context & context() const
void updateScale(const FWViewContext *vc, const fireworks::Context &)
void FWPFClusterLegoProxyBuilder::sharedBuild ( const reco::PFCluster iData,
TEveElement &  oItemHolder,
const FWViewContext vc 
)
protected

Definition at line 37 of file FWPFClusterLegoProxyBuilder.cc.

References FWPFMaths::calculateEt(), create_public_lumi_plots::color, FWProxyBuilderBase::context(), reco::PFCluster::energy(), stringResolutionProvider_cfi::et, PVValHelper::eta, reco::CaloCluster::eta(), FWProxyBuilderBase::item(), phi, reco::CaloCluster::phi(), EnergyCorrector::pt, FWProxyBuilderBase::setupAddElement(), fireworks::Context::voteMaxEtAndEnergy(), reco::CaloCluster::x(), reco::CaloCluster::y(), and reco::CaloCluster::z().

Referenced by FWPFEcalClusterLegoProxyBuilder::build(), and FWPFHcalClusterLegoProxyBuilder::build().

38 {
39  TEveVector centre = TEveVector( iData.x(), iData.y(), iData.z() );
40  float energy = iData.energy();
41  float et = FWPFMaths::calculateEt( centre, energy );
42  float pt = et;
43  float eta = iData.eta();
44  float phi = iData.phi();
45 
46  context().voteMaxEtAndEnergy( et, energy );
47 
48  FWLegoCandidate *cluster = new FWLegoCandidate( vc, FWProxyBuilderBase::context(), energy, et, pt, eta, phi );
49  cluster->SetMarkerColor( FWProxyBuilderBase::item()->defaultDisplayProperties().color() );
50  setupAddElement( cluster, &oItemHolder );
51 }
const fireworks::Context & context() const
void voteMaxEtAndEnergy(float Et, float energy) const
Definition: Context.cc:183
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
double z() const
z coordinate of cluster centroid
Definition: CaloCluster.h:165
const FWEventItem * item() const
double eta() const
pseudorapidity of cluster centroid
Definition: CaloCluster.h:168
double x() const
x coordinate of cluster centroid
Definition: CaloCluster.h:159
float calculateEt(const TEveVector &centre, float e)
Definition: FWPFMaths.cc:115
double energy() const
cluster energy
Definition: PFCluster.h:82
et
define resolution functions of each parameter
double y() const
y coordinate of cluster centroid
Definition: CaloCluster.h:162
double phi() const
azimuthal angle of cluster centroid
Definition: CaloCluster.h:171
const std::string& FWPFClusterLegoProxyBuilder::typeName ( ) const
inline

Definition at line 49 of file FWPFClusterLegoProxyBuilder.h.

51 :
52  // --------------------- Member Functions --------------------------
static std::string FWPFClusterLegoProxyBuilder::typeOfBuilder ( )
inlinestatic

Definition at line 34 of file FWPFClusterLegoProxyBuilder.h.

34 { return "simple#"; }
const std::string& FWPFClusterLegoProxyBuilder::view ( ) const
inline

Definition at line 49 of file FWPFClusterLegoProxyBuilder.h.

51 :
52  // --------------------- Member Functions --------------------------