]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/NLTTrack.h
First big commit of the mchview program and its accompanying library,
[u/mrichter/AliRoot.git] / EVE / Reve / NLTTrack.h
CommitLineData
32e219c2 1// $Header$
2
3#ifndef REVE_NLTTrack_H
4#define REVE_NLTTrack_H
5
6#include <Reve/Track.h>
7#include <Reve/NLTBases.h>
8
9namespace Reve {
10
11class NLTProjection;
12
13class NLTTrack : public Track,
14 public NLTProjected
15{
16 friend class NLTTrackGL;
17
18private:
19 NLTTrack(const NLTTrack&); // Not implemented
20 NLTTrack& operator=(const NLTTrack&); // Not implemented
21
22 Vector* fOrigPnts;
23 Int_t GetBreakPointIdx(Int_t start);
24 void GetBreakPoint(Int_t N, Bool_t back, Float_t& x, Float_t& y, Float_t& z);
25
26protected:
2b801b28 27 std::vector<Int_t> fBreakPoints;
28 NLTProjection *fProjection;
32e219c2 29
30public:
31 NLTTrack();
2b801b28 32 virtual ~NLTTrack();
32e219c2 33
34 virtual void SetProjection(NLTProjector* proj, NLTProjectable* model);
35
36 virtual void UpdateProjection();
37 virtual void MakeTrack(Bool_t recurse=kTRUE);
38
39 void PrintLineSegments();
40
41 virtual void CtrlClicked(Reve::Track*); // marked as signal in Track
42
43 ClassDef(NLTTrack, 1);
44}; // endclass NLTTrack
45
46
47/**************************************************************************/
48// TrackRnrStyle
49/**************************************************************************/
50
51class NLTTrackList : public TrackList,
52 public NLTProjected
53{
54private:
55 NLTTrackList(const NLTTrackList&); // Not implemented
56 NLTTrackList& operator=(const NLTTrackList&); // Not implemented
57
58public:
59 NLTTrackList();
60 virtual ~NLTTrackList() {}
61
62 virtual void SetProjection(NLTProjector* proj, NLTProjectable* model);
63 virtual void UpdateProjection(){};
64
65 ClassDef(NLTTrackList, 1);
66};// endclass NLTTrackList
67
68}
69
70#endif