Added global tracker and seed prototype classes.
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUTrackerGlo.h
CommitLineData
32d38de2 1#ifndef ALIITSTRACKERU_H
2#define ALIITSTRACKERU_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//-------------------------------------------------------------------------
7// ITS upgrade tracker base class
8//-------------------------------------------------------------------------
9
10#include "AliTracker.h"
11#include "AliESDEvent.h"
12
13class AliITSUReconstructor;
14class AliITSURecoDet;
15class AliITSUSeed;
16class TTree;
17
18//-------------------------------------------------------------------------
19class AliITSUTrackerGlo : public AliTracker {
20
21 public:
22 enum { // info from track extrapolation to layer for cluster check
23 kTrXIn ,kTrYIn ,kTrZIn ,kTrPhiIn , // entrance (outer) point on the layer from above
24 kTrXOut,kTrYOut,kTrZOut,kTrPhiOut, // exit (inner) point on the layer
25 kTrPhi0, kTrDPhi, kTrZ0, kTrDZ, // mean phi,dPhi, mean z, dZ (don't change this order)
26 kNTrData};
27 //
28 enum {kTransportFailed=1 // seed did not reach target layer
29 ,kRWCheckFailed =2 // failed to rotate the seed to frame of the layer impact point
30 };
31
32 AliITSUTrackerGlo(AliITSUReconstructor* rec);
33 virtual ~AliITSUTrackerGlo();
34
35 virtual Int_t Clusters2Tracks(AliESDEvent *event);
36 virtual Int_t PropagateBack(AliESDEvent *event);
37 virtual Int_t RefitInward(AliESDEvent *event);
38 virtual Int_t LoadClusters(TTree * treeRP=0);
39 virtual void UnloadClusters();
40 virtual AliCluster* GetCluster(Int_t index) const;
41
42
43 //------------------------------------
44 Bool_t NeedToProlong(AliESDtrack* estTr);
45 void Init(AliITSUReconstructor* rec);
46 void FindTrack(AliESDtrack* esdTr);
47 Bool_t InitSeed(AliESDtrack *esdTr);
48 Int_t GetNSeeds(Int_t lr) const {return 0;} //todo
49 AliITSUSeed* GetSeed(Int_t lr, Int_t sID) const {return 0;} //todo
50 Bool_t TransportToLayer(AliITSUSeed* seed, Int_t lFrom, Int_t lTo);
51 Bool_t NeedToKill(AliITSUSeed* seed, Int_t flag) {return kFALSE;} // todo
52 void KillSeed(Int_t ilr, Int_t id) {} // todo
53 Bool_t GetRoadWidth(AliITSUSeed* seed, int ilrA, double* rwData);
54 //
55 AliITSUSeed* NewSeed(const AliITSUSeed* src=0);
56
57 private:
58
59 AliITSUTrackerGlo(const AliITSUTrackerGlo&);
60 AliITSUTrackerGlo &operator=(const AliITSUTrackerGlo &tr);
61 //
62 protected:
63 AliITSUReconstructor* fReconstructor; // ITS global reconstructor
64 AliITSURecoDet* fITS; // interface to ITS
65 Double_t fCurrMass; // current track mass
66 //
67
68 TClonesArray fSeedsPool; // pool for seeds
69
70 ClassDef(AliITSUTrackerGlo,1) //ITS upgrade tracker
71
72};
73#endif
74