Go to the documentation of this file.00001 #ifndef _FWPFRHOPHIRECHIT_H_
00002 #define _FWPFRHOPHIRECHIT_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include <math.h>
00017 #include "TEveScalableStraightLineSet.h"
00018 #include "TEveCompound.h"
00019
00020
00021 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
00022 #include "Fireworks/Core/interface/FWViewContext.h"
00023 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
00024
00025
00026
00027
00028 class FWPFRhoPhiRecHit
00029 {
00030 public:
00031
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
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
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& );
00051 FWPFRhoPhiRecHit& operator=( const FWPFRhoPhiRecHit& );
00052
00053
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