ITS UPGRADE
[u/mrichter/AliRoot.git] / ITS / UPGRADE / ITSUpgradeRec / AliITSUTrackCooked.h
1 #ifndef ALIITSUTRACKCooked_H
2 #define ALIITSUTRACKCooked_H
3
4 //-------------------------------------------------------------------------
5 //                   The stand-alone ITSU track
6 //           Created with a "cooked covariance" approach
7 //-------------------------------------------------------------------------
8
9 #include "AliKalmanTrack.h"
10 #include "AliITSUTrackerCooked.h"
11
12 class AliCluster;
13 class AliESDtrack;
14
15 //-------------------------------------------------------------------------
16 class AliITSUTrackCooked : public AliKalmanTrack {
17 public:
18     AliITSUTrackCooked();
19     AliITSUTrackCooked(const AliITSUTrackCooked &t);
20     AliITSUTrackCooked(const AliESDtrack &t);
21     AliITSUTrackCooked &operator=(const AliITSUTrackCooked &tr);
22     virtual ~AliITSUTrackCooked();
23     
24 //These functions must be provided
25     Double_t GetPredictedChi2(const AliCluster *c) const;
26     Bool_t PropagateTo(Double_t xr, Double_t thick, Double_t rho);
27     Bool_t Update(const AliCluster *c, Double_t chi2, Int_t idx);
28
29 //Other functions    
30     Int_t GetClusterIndex(Int_t i) const { return fIndex[i]; }
31     Double_t GetPIDsignal() const { return 0; }
32     Int_t Compare(const TObject *o) const;
33     Bool_t GetPhiZat(Double_t r,Double_t &phi,Double_t &z) const;
34
35     void SetChi2(Double_t chi2) { AliKalmanTrack::SetChi2(chi2); }
36     void SetClusterIndex(Int_t layer, Int_t index);
37     void ResetClusters();
38     
39 private:
40     Int_t fIndex[2*AliITSUTrackerCooked::kNLayers]; // indices of associated clusters
41   
42     ClassDef(AliITSUTrackCooked,1)   //ITSU stand-alone track
43 };
44
45 #endif