CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/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 
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 // FWPFClusterRPZUtils
00037 //-----------------------------------------------------------------------------
00038 class FWPFClusterRPZUtils
00039 {
00040    public:
00041    // ---------------- Constructor(s)/Destructor ----------------------
00042       FWPFClusterRPZUtils(){}
00043       virtual ~FWPFClusterRPZUtils(){}
00044 
00045    // --------------------- Member Functions --------------------------
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& );                   // Disable default copy constructor
00057       const FWPFClusterRPZUtils& operator=( const FWPFClusterRPZUtils& );  // Disable default assignment operator
00058 };
00059 #endif
00060 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_