9d6812aaae2094140ea78592efcf601835da108d
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliVfriendTrack.h
1 #ifndef ALIVFRIENDTRACK_H
2 #define ALIVFRIENDTRACK_H
3
4 //_____________________________________________________________________________
5 #include "AliVMisc.h"
6
7 #include "Rtypes.h"
8 class AliTPCseed;
9 class AliVVtrackPointArray;
10 class AliExternalTrackParam;
11 class AliTrackPointArray;
12
13 //_____________________________________________________________________________
14 class AliVfriendTrack {
15 public:
16
17   AliVfriendTrack(){}
18   // constructor for reinitialisation of vtable
19   AliVfriendTrack( AliVConstructorReinitialisationFlag ){}
20   virtual ~AliVfriendTrack(){}
21
22   //used in calibration
23   
24   virtual Int_t GetTPCseed( AliTPCseed &) const = 0;
25   virtual TObject* GetCalibObject(Int_t /*index*/) const = 0;
26
27   virtual const AliExternalTrackParam* GetTPCOut() const = 0;
28   virtual const AliExternalTrackParam * GetITSOut() const = 0;
29   
30
31   virtual Int_t GetTrackParamTPCOut( AliExternalTrackParam & ) const { return 0; }
32   virtual Int_t GetTrackParamITSOut( AliExternalTrackParam & ) const { return 0; }
33   //Int_t GetTrackParamTRDIn( AliExternalTrackParam &p ) const { return GetExternalTrackParam( p, 0x0  ); }
34
35
36   virtual const AliTrackPointArray *GetTrackPointArray() const {return NULL ;}
37
38   // bit manipulation for filtering
39   virtual void SetSkipBit(Bool_t skip) = 0;
40   virtual Bool_t TestSkipBit() const = 0;
41
42 private: 
43   AliVfriendTrack(const AliVfriendTrack &);
44   AliVfriendTrack& operator=(const AliVfriendTrack& esd);  
45
46 };
47
48 #endif
49