CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/Fireworks/ParticleFlow/interface/FWPFClusterRPZUtils.h

Go to the documentation of this file.
00001 #ifndef _FWPFCLUSTERRPZUTILS_H_
00002 #define _FWPFCLUSTERRPZUTILS_H_
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:     ParticleFlow
00007 // Class  :     FWPFClusterRPZUtils
00008 // 
00009 // Implementation:
00010 //     <Notes on implementation>
00011 //
00012 // Original Author:  Simon Harris
00013 //       Created:    17/02/2011
00014 //
00015 
00016 // System include files
00017 #include "TEveScalableStraightLineSet.h"
00018 
00019 // User include files
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 // FWPFClusterRPZUtils
00038 //-----------------------------------------------------------------------------
00039 class FWPFClusterRPZUtils
00040 {
00041    public:
00042    // ---------------- Constructor(s)/Destructor ----------------------
00043       FWPFClusterRPZUtils(){}
00044       virtual ~FWPFClusterRPZUtils(){}
00045 
00046    // --------------------- Member Functions --------------------------
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& );                   // Disable default copy constructor
00057       const FWPFClusterRPZUtils& operator=( const FWPFClusterRPZUtils& );  // Disable default assignment operator
00058 };
00059 #endif
00060 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_