Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:50

0001 #ifndef _FWPFCLUSTERRPZUTILS_H_
0002 #define _FWPFCLUSTERRPZUTILS_H_
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:     ParticleFlow
0007 // Class  :     FWPFClusterRPZUtils
0008 //
0009 // Implementation:
0010 //     <Notes on implementation>
0011 //
0012 // Original Author:  Simon Harris
0013 //       Created:    17/02/2011
0014 //
0015 
0016 // System include files
0017 #include "TEveScalableStraightLineSet.h"
0018 
0019 // User include files
0020 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
0021 #include "Fireworks/Core/interface/FWEventItem.h"
0022 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
0023 #include "Fireworks/Core/interface/FWViewContext.h"
0024 #include "Fireworks/ParticleFlow/interface/FWPFMaths.h"
0025 
0026 struct ScalableLines {
0027   ScalableLines(TEveScalableStraightLineSet *ls, float et, float e, const FWViewContext *vc)
0028       : m_ls(ls), m_et(et), m_energy(e), m_vc(vc) {}
0029 
0030   TEveScalableStraightLineSet *m_ls;
0031   float m_et, m_energy;
0032   const FWViewContext *m_vc;
0033 };
0034 
0035 //-----------------------------------------------------------------------------
0036 // FWPFClusterRPZUtils
0037 //-----------------------------------------------------------------------------
0038 class FWPFClusterRPZUtils {
0039 public:
0040   // ---------------- Constructor(s)/Destructor ----------------------
0041   FWPFClusterRPZUtils() {}
0042   virtual ~FWPFClusterRPZUtils() {}
0043 
0044   // --------------------- Member Functions --------------------------
0045   TEveScalableStraightLineSet *buildRhoPhiClusterLineSet(const reco::PFCluster &, const FWViewContext *, float r);
0046   TEveScalableStraightLineSet *buildRhoPhiClusterLineSet(
0047       const reco::PFCluster &, const FWViewContext *, float e, float et, float r);
0048   TEveScalableStraightLineSet *buildRhoZClusterLineSet(
0049       const reco::PFCluster &, const FWViewContext *, float caloTransAngle, float r, float z);
0050   TEveScalableStraightLineSet *buildRhoZClusterLineSet(
0051       const reco::PFCluster &, const FWViewContext *, float caloTransAngle, float e, float et, float r, float z);
0052 
0053   FWPFClusterRPZUtils(const FWPFClusterRPZUtils &) = delete;                   // Disable default copy constructor
0054   const FWPFClusterRPZUtils &operator=(const FWPFClusterRPZUtils &) = delete;  // Disable default assignment operator
0055 };
0056 #endif
0057 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_