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/FWPFGeom.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 FWPFClusterRPZUtils *m_clusterUtils;
00044
00045
00046 virtual void sharedBuild( const reco::PFCluster &cluster, unsigned int iIndex, TEveElement &oItemHolder,
00047 const FWViewContext *vc, float radius );
00048
00049 private:
00050 FWPFClusterRPZProxyBuilder( const FWPFClusterRPZProxyBuilder& );
00051 const FWPFClusterRPZProxyBuilder& operator=( const FWPFClusterRPZProxyBuilder& );
00052 };
00053
00054
00055
00056
00057
00058
00059
00060 class FWPFEcalClusterRPZProxyBuilder : public FWPFClusterRPZProxyBuilder
00061 {
00062 public:
00063
00064 FWPFEcalClusterRPZProxyBuilder(){}
00065 virtual ~FWPFEcalClusterRPZProxyBuilder(){}
00066
00067
00068 virtual void build( const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *vc );
00069
00070 REGISTER_PROXYBUILDER_METHODS();
00071
00072 private:
00073 FWPFEcalClusterRPZProxyBuilder( const FWPFEcalClusterRPZProxyBuilder& );
00074 const FWPFEcalClusterRPZProxyBuilder& operator=( const FWPFEcalClusterRPZProxyBuilder& );
00075 };
00076
00077
00078
00079
00080
00081
00082
00083 class FWPFHcalClusterRPZProxyBuilder : public FWPFClusterRPZProxyBuilder
00084 {
00085 public:
00086
00087 FWPFHcalClusterRPZProxyBuilder(){}
00088 virtual ~FWPFHcalClusterRPZProxyBuilder(){}
00089
00090
00091 virtual void build( const reco::PFCluster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *vc );
00092
00093 REGISTER_PROXYBUILDER_METHODS();
00094
00095 private:
00096 FWPFHcalClusterRPZProxyBuilder( const FWPFHcalClusterRPZProxyBuilder& );
00097 const FWPFHcalClusterRPZProxyBuilder& operator=( const FWPFHcalClusterRPZProxyBuilder& );
00098 };
00099 #endif
00100