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
00025 struct ScalableLines
00026 {
00027 ScalableLines( TEveScalableStraightLineSet *ls, float et, float e, const FWViewContext *vc ) :
00028 m_ls(ls), m_et(et), m_energy(e), m_vc(vc){}
00029
00030 TEveScalableStraightLineSet *m_ls;
00031 float m_et, m_energy;
00032 const FWViewContext *m_vc;
00033 };
00034
00035
00036
00037
00038 class FWPFClusterRPZUtils
00039 {
00040 public:
00041
00042 FWPFClusterRPZUtils(){}
00043 virtual ~FWPFClusterRPZUtils(){}
00044
00045
00046 float calculateEt( const reco::PFCluster&, float e );
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