CMS 3D CMS Logo

Public Member Functions | Private Member Functions

FWGenParticleLegoProxyBuilder Class Reference

Inheritance diagram for FWGenParticleLegoProxyBuilder:
FWSimpleProxyBuilderTemplate< reco::GenParticle > FWSimpleProxyBuilder FWProxyBuilderBase

List of all members.

Public Member Functions

 FWGenParticleLegoProxyBuilder ()
 REGISTER_PROXYBUILDER_METHODS ()
virtual void setItem (const FWEventItem *iItem)
virtual ~FWGenParticleLegoProxyBuilder ()

Private Member Functions

void build (const reco::GenParticle &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *)
 FWGenParticleLegoProxyBuilder (const FWGenParticleLegoProxyBuilder &)
const
FWGenParticleLegoProxyBuilder
operator= (const FWGenParticleLegoProxyBuilder &)

Detailed Description

Definition at line 11 of file FWGenParticleLegoProxyBuilder.cc.


Constructor & Destructor Documentation

FWGenParticleLegoProxyBuilder::FWGenParticleLegoProxyBuilder ( ) [inline]

Definition at line 14 of file FWGenParticleLegoProxyBuilder.cc.

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

Definition at line 15 of file FWGenParticleLegoProxyBuilder.cc.

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

Member Function Documentation

void FWGenParticleLegoProxyBuilder::build ( const reco::GenParticle iData,
unsigned int  iIndex,
TEveElement &  oItemHolder,
const FWViewContext  
) [private, virtual]

iIndex is the index where iData is found in the container from which it came iItemHolder is the object to which you add your own objects which inherit from TEveElement

Reimplemented from FWSimpleProxyBuilderTemplate< reco::GenParticle >.

Definition at line 42 of file FWGenParticleLegoProxyBuilder.cc.

References dtNoiseDBValidation_cfg::cerr, reco::LeafCandidate::eta(), FWEventItem::getConfig(), FWProxyBuilderBase::item(), reco::LeafCandidate::phi(), FWProxyBuilderBase::setupAddElement(), and FWProxyBuilderConfiguration::value().

  {
     long markerStyle = item()->getConfig()->value<long>("MarkerStyle");
     double markerSize = item()->getConfig()->value<double>("MarkerSize");

    
    // workaround around for TEvePointSet marker styles indices
    if (markerStyle == 0 )
      markerStyle = 3;
    else if (markerStyle == 1)
      markerStyle = 4;
    else if (markerStyle == 2)
      markerStyle = 8;
    std::cerr << std::endl;

    // scale non-pixel size marker
    if (markerStyle == 3 )
      markerSize /= 20;

    TEvePointSet* ps = new TEvePointSet();
    ps->SetMarkerStyle(markerStyle);
    ps->SetMarkerSize(markerSize);
    ps->SetNextPoint(iData.eta(), iData.phi(), 0.001);
    setupAddElement( ps, &oItemHolder );

  }
const FWGenParticleLegoProxyBuilder& FWGenParticleLegoProxyBuilder::operator= ( const FWGenParticleLegoProxyBuilder ) [private]
FWGenParticleLegoProxyBuilder::REGISTER_PROXYBUILDER_METHODS ( )
virtual void FWGenParticleLegoProxyBuilder::setItem ( const FWEventItem iItem) [inline, virtual]

Reimplemented from FWProxyBuilderBase.

Definition at line 17 of file FWGenParticleLegoProxyBuilder.cc.

References FWProxyBuilderConfiguration::assertParam(), FWEventItem::getConfig(), and prof2calltree::l.

  {
    FWProxyBuilderBase::setItem(iItem);
    if (iItem)
      {
        iItem->getConfig()->assertParam("MarkerStyle",  0l, -1l,  3l);
        iItem->getConfig()->assertParam("MarkerSize",2., 0.1, 10.);
      }
  }