Go to the documentation of this file.00001 #ifndef _FWPFCLUSTERRPZPROXYBUILDER_H_
00002 #define _FWPFCLUSTERRPZPROXYBUILDER_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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
00023
00024
00025 class FWPFClusterRPZProxyBuilder : public FWSimpleProxyBuilderTemplate<reco::PFCluster>
00026 {
00027 public:
00028
00029 FWPFClusterRPZProxyBuilder();
00030 virtual ~FWPFClusterRPZProxyBuilder();
00031
00032
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
00042 std::vector<ScalableLines> m_clusters;
00043 FWPFUtils *m_pfUtils;
00044 FWPFClusterRPZUtils *m_clusterUtils;
00045
00046
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& );
00052 const FWPFClusterRPZProxyBuilder& operator=( const FWPFClusterRPZProxyBuilder& );
00053 };
00054
00055
00056
00057
00058
00059
00060
00061 class FWPFEcalClusterRPZProxyBuilder : public FWPFClusterRPZProxyBuilder
00062 {
00063 public:
00064
00065 FWPFEcalClusterRPZProxyBuilder(){}
00066 virtual ~FWPFEcalClusterRPZProxyBuilder(){}
00067
00068
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
00082
00083
00084 class FWPFHcalClusterRPZProxyBuilder : public FWPFClusterRPZProxyBuilder
00085 {
00086 public:
00087
00088 FWPFHcalClusterRPZProxyBuilder(){}
00089 virtual ~FWPFHcalClusterRPZProxyBuilder(){}
00090
00091
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