]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/UPGRADE/AliITSUTrackHyp.h
Made Track Hypothesis container to derive from AliKalmanTrack for ESD update
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUTrackHyp.h
CommitLineData
716ccba7 1#ifndef ALIITSUTRACKHYP_H
2#define ALIITSUTRACKHYP_H
3
4#include <TObject.h>
5#include <TObjArray.h>
3e4e3c23 6#include "AliKalmanTrack.h"
716ccba7 7#include "AliITSUSeed.h"
3e4e3c23 8class AliESDtrack;
9class AliCluster;
716ccba7 10
11// Container for track hypotheses
12
3e4e3c23 13class AliITSUTrackHyp: public AliKalmanTrack
716ccba7 14{
15 public:
16 AliITSUTrackHyp(Int_t nlr=0);
17 AliITSUTrackHyp(const AliITSUTrackHyp& src);
18 AliITSUTrackHyp &operator=(const AliITSUTrackHyp &src);
19 virtual ~AliITSUTrackHyp();
20 //
21 Int_t GetNLayers() const {return fNLayers;}
3e4e3c23 22 Int_t GetNSeeds(Int_t lr) const {return fLayerSeeds[lr].GetEntriesFast();}
23 AliITSUSeed* GetSeed(Int_t lr, Int_t id) const {return (AliITSUSeed*)fLayerSeeds[lr].UncheckedAt(id);}
24 AliITSUSeed* GetWinner() const;
25 AliESDtrack* GetESDTrack() const {return fESDTrack;}
26 void DefineWinner(Int_t lr, Int_t id);
716ccba7 27 const TObjArray* GetLayerSeeds(Int_t lr) const {return lr<fNLayers ? &fLayerSeeds[lr] : 0;}
3e4e3c23 28 void AddSeed(AliITSUSeed* seed, Int_t lr) {fLayerSeeds[lr].AddLast(seed);}
29 void SetESDTrack(AliESDtrack* esdtr) {fESDTrack = esdtr;}
30 void UpdateESD();
31 //
32 void SetChi2(Double_t chi2) {fChi2 = chi2;}
716ccba7 33 //
3e4e3c23 34 virtual Double_t GetPredictedChi2(const AliCluster *c) const;
35 virtual Bool_t PropagateTo(Double_t xr, Double_t x0, Double_t rho);
36 virtual Bool_t Update(const AliCluster* c, Double_t chi2, Int_t index);
37 virtual Int_t GetClusterIndex(Int_t) const { return -1;}
38 virtual Int_t GetNumberOfTracklets() const { return 0;}
39 virtual Int_t GetTrackletIndex(Int_t) const { return -1;}
40 virtual Double_t GetPIDsignal() const { return 0;}
716ccba7 41 //
42 virtual void Print(Option_t* option = "") const;
43 //
44 protected:
45 UChar_t fNLayers; // number of layers
3e4e3c23 46 AliESDtrack* fESDTrack; // reference esd track
716ccba7 47 TObjArray* fLayerSeeds; // seeds of given layer
48 //
49 ClassDef(AliITSUTrackHyp,1)
50};
51
716ccba7 52
53#endif