CMS 3D CMS Logo

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

List of all members.

Public Member Functions

 FWPFClusterLegoProxyBuilder ()
virtual bool havePerViewProduct (FWViewType::EType) const
virtual void localModelChanges (const FWModelId &iId, TEveElement *el, FWViewType::EType viewType, const FWViewContext *vc)
 REGISTER_PROXYBUILDER_METHODS ()
virtual void scaleProduct (TEveElementList *parent, FWViewType::EType, const FWViewContext *vc)
virtual ~FWPFClusterLegoProxyBuilder ()

Static Public Member Functions

static std::string typeOfBuilder ()
 Used by the plugin system to determine how the proxy uses the data from FWEventItem.

Protected Member Functions

float calculateEt (const reco::PFCluster &cluster, float E)
void sharedBuild (const reco::PFCluster &, TEveElement &, const FWViewContext *)

Private Member Functions

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

Detailed Description

Definition at line 31 of file FWPFClusterLegoProxyBuilder.h.


Constructor & Destructor Documentation

FWPFClusterLegoProxyBuilder::FWPFClusterLegoProxyBuilder ( ) [inline]

Definition at line 37 of file FWPFClusterLegoProxyBuilder.h.

{}
virtual FWPFClusterLegoProxyBuilder::~FWPFClusterLegoProxyBuilder ( ) [inline, virtual]

Definition at line 38 of file FWPFClusterLegoProxyBuilder.h.

{}
FWPFClusterLegoProxyBuilder::FWPFClusterLegoProxyBuilder ( const FWPFClusterLegoProxyBuilder ) [private]

Member Function Documentation

float FWPFClusterLegoProxyBuilder::calculateEt ( const reco::PFCluster cluster,
float  E 
) [protected]

Referenced by sharedBuild().

virtual bool FWPFClusterLegoProxyBuilder::havePerViewProduct ( FWViewType::EType  ) const [inline, virtual]

Reimplemented from FWProxyBuilderBase.

Definition at line 42 of file FWPFClusterLegoProxyBuilder.h.

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

Reimplemented from FWProxyBuilderBase.

Definition at line 6 of file FWPFClusterLegoProxyBuilder.cc.

References FWDisplayProperties::color(), FWModelId::index(), FWProxyBuilderBase::item(), j, and FWEventItem::modelInfo().

{
    // Line set marker is not the same colour as line, fixed here
    if( ( parent )->HasChildren() )
    {
        for( TEveElement::List_i j = parent->BeginChildren(); j != parent->EndChildren(); j++ )
        {
            FWLegoCandidate *cluster = dynamic_cast<FWLegoCandidate*>( *j );
            const FWDisplayProperties &dp = FWProxyBuilderBase::item()->modelInfo( iId.index() ).displayProperties();
            cluster->SetMarkerColor( dp.color() );
            cluster->ElementChanged();
        }
    }
}
const FWPFClusterLegoProxyBuilder& FWPFClusterLegoProxyBuilder::operator= ( const FWPFClusterLegoProxyBuilder ) [private]
FWPFClusterLegoProxyBuilder::REGISTER_PROXYBUILDER_METHODS ( )
void FWPFClusterLegoProxyBuilder::scaleProduct ( TEveElementList *  parent,
FWViewType::EType  type,
const FWViewContext vc 
) [virtual]

Reimplemented from FWProxyBuilderBase.

Definition at line 23 of file FWPFClusterLegoProxyBuilder.cc.

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

{
   for (TEveElement::List_i i = parent->BeginChildren(); i!= parent->EndChildren(); ++i)
   {
      if ((*i)->HasChildren())
      {
         TEveElement* el = (*i)->FirstChild();  // there is only one child added in this proxy builder
         FWLegoCandidate *cluster = dynamic_cast<FWLegoCandidate*>( el );
         cluster->updateScale(vc, context());
      }
   }
}
void FWPFClusterLegoProxyBuilder::sharedBuild ( const reco::PFCluster iData,
TEveElement &  oItemHolder,
const FWViewContext vc 
) [protected]

Definition at line 38 of file FWPFClusterLegoProxyBuilder.cc.

References calculateEt(), FWProxyBuilderBase::context(), reco::PFCluster::energy(), relval_parameters_module::energy, eta(), reco::CaloCluster::eta(), FWProxyBuilderBase::item(), phi, reco::CaloCluster::phi(), FWProxyBuilderBase::setupAddElement(), fireworks::Context::voteMaxEtAndEnergy(), reco::CaloCluster::x(), reco::CaloCluster::y(), and reco::CaloCluster::z().

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

{
   TEveVector centre = TEveVector( iData.x(), iData.y(), iData.z() );
   float energy = iData.energy();
   float et = FWPFMaths::calculateEt( centre, energy );
   float pt = et;
   float eta = iData.eta();
   float phi = iData.phi();

   context().voteMaxEtAndEnergy( et, energy );

   FWLegoCandidate *cluster = new FWLegoCandidate( vc, FWProxyBuilderBase::context(), energy, et, pt, eta, phi );
   cluster->SetMarkerColor( FWProxyBuilderBase::item()->defaultDisplayProperties().color() );
   setupAddElement( cluster, &oItemHolder );
}
static std::string FWPFClusterLegoProxyBuilder::typeOfBuilder ( ) [inline, static]

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

Reimplemented from FWSimpleProxyBuilder.

Definition at line 34 of file FWPFClusterLegoProxyBuilder.h.

{ return "simple#"; }