00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TEveTrackProjected
00013 #define ROOT_TEveTrackProjected
00014
00015 #include "TEveTrack.h"
00016 #include "TEveProjectionBases.h"
00017
00018
00019 class TEveTrackProjected : public TEveTrack,
00020 public TEveProjected
00021 {
00022 friend class TEveTrackProjectedGL;
00023
00024 private:
00025 TEveTrackProjected(const TEveTrackProjected&);
00026 TEveTrackProjected& operator=(const TEveTrackProjected&);
00027
00028 Int_t GetBreakPointIdx(Int_t start);
00029 void GetBreakPoint(Int_t N, Bool_t back, Float_t& x, Float_t& y, Float_t& z);
00030
00031 TEveVector* fOrigPnts;
00032
00033 protected:
00034 std::vector<Int_t> fBreakPoints;
00035
00036 virtual void SetDepthLocal(Float_t d);
00037
00038 public:
00039 TEveTrackProjected();
00040 virtual ~TEveTrackProjected() {}
00041
00042 virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
00043
00044 virtual void UpdateProjection();
00045 virtual TEveElement* GetProjectedAsElement() { return this; }
00046 virtual void MakeTrack(Bool_t recurse=kTRUE);
00047
00048
00049 void PrintLineSegments();
00050
00051 virtual void SecSelected(TEveTrack*);
00052
00053 ClassDef(TEveTrackProjected, 1);
00054 };
00055
00056
00057
00058
00059
00060
00061 class TEveTrackListProjected : public TEveTrackList,
00062 public TEveProjected
00063 {
00064 private:
00065 TEveTrackListProjected(const TEveTrackListProjected&);
00066 TEveTrackListProjected& operator=(const TEveTrackListProjected&);
00067
00068 protected:
00069 virtual void SetDepthLocal(Float_t d);
00070
00071 public:
00072 TEveTrackListProjected();
00073 virtual ~TEveTrackListProjected() {}
00074
00075 virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model);
00076 virtual void UpdateProjection() {}
00077 virtual TEveElement* GetProjectedAsElement() { return this; }
00078
00079 virtual void SetDepth(Float_t d);
00080 virtual void SetDepth(Float_t d, TEveElement* el);
00081
00082 ClassDef(TEveTrackListProjected, 1);
00083 };
00084
00085 #endif