File indexing completed on 2024-04-06 12:11:50
0001 #ifndef _FWPFRHOPHIRECHIT_H_
0002 #define _FWPFRHOPHIRECHIT_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include <cmath>
0017 #include "TEveScalableStraightLineSet.h"
0018 #include "TEveCompound.h"
0019
0020
0021 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
0022 #include "Fireworks/Core/interface/FWViewContext.h"
0023 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
0024
0025
0026
0027
0028 class FWPFRhoPhiRecHit {
0029 public:
0030
0031 FWPFRhoPhiRecHit(FWProxyBuilderBase *pb,
0032 TEveElement *iH,
0033 const FWViewContext *vc,
0034 float E,
0035 float et,
0036 double lPhi,
0037 double rPhi,
0038 std::vector<TEveVector> &bCorners);
0039 virtual ~FWPFRhoPhiRecHit();
0040
0041
0042 void updateScale(TEveScalableStraightLineSet *ls, Double_t scale, unsigned int i);
0043 void updateScale(const FWViewContext *vc);
0044 void addChild(FWProxyBuilderBase *pb, TEveElement *itemHolder, const FWViewContext *vc, float E, float et);
0045 void buildRecHit(FWProxyBuilderBase *pb,
0046 TEveElement *itemHolder,
0047 const FWViewContext *vc,
0048 std::vector<TEveVector> &bCorners);
0049 void clean();
0050
0051
0052 Double_t getlPhi() { return m_lPhi; }
0053 TEveScalableStraightLineSet *getLineSet() { return m_ls; }
0054 void setHasChild(bool b) { m_hasChild = b; }
0055 void setCorners(int i, TEveVector vec) { m_corners[i] = vec; }
0056
0057 private:
0058 FWPFRhoPhiRecHit(const FWPFRhoPhiRecHit &);
0059 FWPFRhoPhiRecHit &operator=(const FWPFRhoPhiRecHit &);
0060
0061
0062 bool m_hasChild;
0063 float m_energy;
0064 float m_et;
0065 Double_t m_lPhi;
0066 Double_t m_rPhi;
0067 TEveScalableStraightLineSet *m_ls;
0068 FWPFRhoPhiRecHit *m_child;
0069 std::vector<TEveVector> m_corners;
0070 };
0071 #endif
0072