Go to the documentation of this file.00001 #ifndef _FWPFCLUSTERRPZUTILS_H_
00002 #define _FWPFCLUSTERRPZUTILS_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "TEveScalableStraightLineSet.h"
00018
00019
00020 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
00021 #include "Fireworks/Core/interface/FWEventItem.h"
00022 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
00023 #include "Fireworks/Core/interface/FWViewContext.h"
00024 #include "Fireworks/ParticleFlow/interface/FWPFMaths.h"
00025
00026 struct ScalableLines
00027 {
00028 ScalableLines( TEveScalableStraightLineSet *ls, float et, float e, const FWViewContext *vc ) :
00029 m_ls(ls), m_et(et), m_energy(e), m_vc(vc){}
00030
00031 TEveScalableStraightLineSet *m_ls;
00032 float m_et, m_energy;
00033 const FWViewContext *m_vc;
00034 };
00035
00036
00037
00038
00039 class FWPFClusterRPZUtils
00040 {
00041 public:
00042
00043 FWPFClusterRPZUtils(){}
00044 virtual ~FWPFClusterRPZUtils(){}
00045
00046
00047 TEveScalableStraightLineSet *buildRhoPhiClusterLineSet( const reco::PFCluster&, const FWViewContext*, float r );
00048 TEveScalableStraightLineSet *buildRhoPhiClusterLineSet( const reco::PFCluster&, const FWViewContext*,
00049 float e, float et, float r );
00050 TEveScalableStraightLineSet *buildRhoZClusterLineSet( const reco::PFCluster&, const FWViewContext*,
00051 float caloTransAngle, float r, float z );
00052 TEveScalableStraightLineSet *buildRhoZClusterLineSet( const reco::PFCluster&, const FWViewContext*,
00053 float caloTransAngle, float e, float et, float r, float z );
00054
00055 private:
00056 FWPFClusterRPZUtils( const FWPFClusterRPZUtils& );
00057 const FWPFClusterRPZUtils& operator=( const FWPFClusterRPZUtils& );
00058 };
00059 #endif
00060