Added V0A23 (V0 rings 2-3), V0C01 (V0 rings 0-1) and V0S = V0A23+V0C01
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliVTrdTrack.h
1 #ifndef ALIVTRDTRACK_H
2 #define ALIVTRDTRACK_H
3
4 //
5 // format for the TRD tracks calculated in the
6 // Global Tracking Unit, used for the TRD L1 trigger
7 // Author: Jochen Klein <jochen.klein@cern.ch>
8
9 #include "TObject.h"
10
11 class AliVTrack;
12 class AliVTrdTracklet;
13
14 class AliVTrdTrack : public TObject {
15  public:
16
17   AliVTrdTrack();
18   virtual ~AliVTrdTrack() {};
19   AliVTrdTrack(const AliVTrdTrack& track);
20   AliVTrdTrack& operator=(const AliVTrdTrack& track);
21   virtual void Copy(TObject &obj) const;
22
23   virtual Int_t GetA()         const = 0;
24   virtual Int_t GetLayerMask() const = 0;
25   virtual Int_t GetPID()       const = 0;
26   virtual Int_t GetPt()        const = 0;
27   virtual Int_t GetStack()     const = 0;
28   virtual Int_t GetSector()    const = 0;
29
30   virtual Bool_t GetTrackInTime() const = 0;
31   virtual UChar_t GetFlagsTiming() const = 0;
32
33   virtual Int_t GetLabel()     const = 0;
34
35   virtual Double_t Pt()        const = 0;
36
37   virtual Int_t GetNTracklets() const = 0;
38   virtual AliVTrdTracklet* GetTracklet(Int_t idx) const = 0;
39
40   virtual AliVTrack* GetTrackMatch() const = 0;
41
42   virtual void SetA(Int_t a) = 0;
43   virtual void SetLayerMask(Int_t mask) = 0;
44   virtual void SetPID(Int_t pid) = 0;
45   virtual void SetLabel(Int_t label) = 0;
46   virtual void SetSector(Int_t sector) = 0;
47   virtual void SetStack(Int_t stack) = 0;
48
49   virtual Bool_t IsSortable() const = 0;
50   virtual Int_t Compare(const TObject* obj) const = 0;
51
52  protected:
53
54   static const Int_t fgkNlayers = 6;      // number of TRD layers
55
56   ClassDef(AliVTrdTrack,0)
57 };
58
59 #endif