CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/Fireworks/ParticleFlow/interface/FWPFRhoPhiRecHit.h

Go to the documentation of this file.
00001 #ifndef _FWPFRHOPHIRECHIT_H_
00002 #define _FWPFRHOPHIRECHIT_H_
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:     ParticleFlow
00007 // Class  :     FWPFRhoPhiRecHit
00008 // 
00009 // Implementation:
00010 //     <Notes on implementation>
00011 //
00012 // Original Author:  Simon Harris
00013 //
00014 
00015 // System include files
00016 #include <math.h>
00017 #include "TEveScalableStraightLineSet.h"
00018 #include "TEveCompound.h"
00019 
00020 // User include files
00021 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
00022 #include "Fireworks/Core/interface/FWViewContext.h"
00023 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
00024 
00025 //-----------------------------------------------------------------------------
00026 // FWPFRhoPhiRecHit
00027 //-----------------------------------------------------------------------------
00028 class FWPFRhoPhiRecHit
00029 {
00030    public:
00031    // ---------------- Constructor(s)/Destructor ----------------------
00032       FWPFRhoPhiRecHit( FWProxyBuilderBase *pb, TEveElement *iH, const FWViewContext *vc,
00033                         float E, float et, double lPhi, double rPhi, std::vector<TEveVector> &bCorners );
00034       virtual ~FWPFRhoPhiRecHit();
00035 
00036    // --------------------- Member Functions --------------------------
00037       void     updateScale( TEveScalableStraightLineSet *ls, Double_t scale, unsigned int i );
00038       void     updateScale( const FWViewContext *vc );
00039       void     addChild( FWProxyBuilderBase *pb, TEveElement *itemHolder, const FWViewContext *vc, float E, float et );
00040       void     buildRecHit( FWProxyBuilderBase *pb, TEveElement *itemHolder, const FWViewContext *vc, std::vector<TEveVector> &bCorners );
00041       void     clean();
00042 
00043    // ----------------------Accessor Methods --------------------------
00044       Double_t                       getlPhi()                              { return m_lPhi;        }
00045       TEveScalableStraightLineSet   *getLineSet()                           { return m_ls;          }
00046       void                           setHasChild( bool b )                  { m_hasChild = b;       }
00047       void                           setCorners( int i, TEveVector vec )    { m_corners[i] = vec;   }
00048 
00049    private:
00050       FWPFRhoPhiRecHit( const FWPFRhoPhiRecHit& );             // Stop default copy constructor
00051       FWPFRhoPhiRecHit& operator=( const FWPFRhoPhiRecHit& );  // Stop default assignment operator
00052 
00053    // ----------------------- Data Members ----------------------------
00054       bool                          m_hasChild;
00055       float                         m_energy;
00056       float                         m_et;
00057       Double_t                      m_lPhi;
00058       Double_t                      m_rPhi;
00059       TEveScalableStraightLineSet   *m_ls;
00060       FWPFRhoPhiRecHit              *m_child; 
00061       std::vector<TEveVector>       m_corners;
00062 };
00063 #endif
00064 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_