CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Fireworks/ParticleFlow/plugins/FWPFClusterRPZProxyBuilder.h

Go to the documentation of this file.
00001 #ifndef _FWPFCLUSTERRPZPROXYBUILDER_H_
00002 #define _FWPFCLUSTERRPZPROXYBUILDER_H_
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:     ParticleFlow
00007 // Class  :     FWPFClusterRPZProxyBuilder, FWPFEcalClusterRPZProxyBuilder, FWPFHcalClusterRPZProxyBuilder
00008 // 
00009 // Implementation:
00010 //     <Notes on implementation>
00011 //
00012 // Original Author:  Simon Harris
00013 //
00014 
00015 // User include files
00016 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
00017 #include "Fireworks/Core/interface/FWSimpleProxyBuilderTemplate.h"
00018 #include "Fireworks/ParticleFlow/interface/FWPFUtils.h"
00019 #include "Fireworks/ParticleFlow/interface/FWPFClusterRPZUtils.h"
00020 
00021 //-----------------------------------------------------------------------------
00022 // FWPFClusterRPZProxyBuilder
00023 //-----------------------------------------------------------------------------
00024 
00025 class FWPFClusterRPZProxyBuilder : public FWSimpleProxyBuilderTemplate<reco::PFCluster>
00026 {
00027    public:
00028    // ---------------- Constructor(s)/Destructor ----------------------
00029       FWPFClusterRPZProxyBuilder();
00030       virtual ~FWPFClusterRPZProxyBuilder();
00031 
00032    // --------------------- Member Functions --------------------------
00033       virtual void build( const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *vc );
00034       virtual void scaleProduct( TEveElementList *parent, FWViewType::EType, const FWViewContext *vc );
00035       virtual bool havePerViewProduct( FWViewType::EType ) const { return true; }
00036       virtual void cleanLocal() { m_clusters.clear(); }
00037 
00038       REGISTER_PROXYBUILDER_METHODS();
00039 
00040    protected:
00041    // ----------------------- Data Members ----------------------------
00042       std::vector<ScalableLines> m_clusters;
00043       FWPFUtils                  *m_pfUtils;
00044       FWPFClusterRPZUtils        *m_clusterUtils;
00045 
00046    // --------------------- Member Functions --------------------------
00047       virtual void sharedBuild( const reco::PFCluster &cluster, unsigned int iIndex, TEveElement &oItemHolder, 
00048                                 const FWViewContext *vc, float radius );
00049 
00050    private:
00051       FWPFClusterRPZProxyBuilder( const FWPFClusterRPZProxyBuilder& );                    // Disable default
00052       const FWPFClusterRPZProxyBuilder& operator=( const FWPFClusterRPZProxyBuilder& );   // Disable default
00053 };
00054 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
00055 
00056 
00057 //-----------------------------------------------------------------------------
00058 // FWPFEcalClusterRPZProxyBuilder
00059 //-----------------------------------------------------------------------------
00060 
00061 class FWPFEcalClusterRPZProxyBuilder : public FWPFClusterRPZProxyBuilder
00062 {
00063    public:
00064    // ---------------- Constructor(s)/Destructor ----------------------
00065       FWPFEcalClusterRPZProxyBuilder(){}
00066       virtual ~FWPFEcalClusterRPZProxyBuilder(){}
00067 
00068    // --------------------- Member Functions --------------------------
00069       virtual void build( const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *vc );
00070 
00071       REGISTER_PROXYBUILDER_METHODS();
00072 
00073    private:
00074       FWPFEcalClusterRPZProxyBuilder( const FWPFEcalClusterRPZProxyBuilder& );
00075       const FWPFEcalClusterRPZProxyBuilder& operator=( const FWPFEcalClusterRPZProxyBuilder& );
00076 };
00077 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
00078 
00079 
00080 //-----------------------------------------------------------------------------
00081 // FWPFHcalClusterRPZProxyBuilder
00082 //-----------------------------------------------------------------------------
00083 
00084 class FWPFHcalClusterRPZProxyBuilder : public FWPFClusterRPZProxyBuilder
00085 {
00086    public:
00087    // ---------------- Constructor(s)/Destructor ----------------------
00088       FWPFHcalClusterRPZProxyBuilder(){}
00089       virtual ~FWPFHcalClusterRPZProxyBuilder(){}
00090 
00091    // --------------------- Member Functions --------------------------
00092       virtual void build( const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *vc );
00093 
00094       REGISTER_PROXYBUILDER_METHODS();
00095 
00096    private:
00097       FWPFHcalClusterRPZProxyBuilder( const FWPFHcalClusterRPZProxyBuilder& );
00098       const FWPFHcalClusterRPZProxyBuilder& operator=( const FWPFHcalClusterRPZProxyBuilder& );
00099 };
00100 #endif
00101 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_