X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FUPGRADE%2FAliITSUTrackerCooked.h;h=251e1cbb2834ca4b4efd8fcbdcc6de52c6df7b8f;hb=10a6c0f723005098153037c870e3d7aea23c73ea;hp=22e0860e2776a24606c3122e472fe31629851702;hpb=45a24a6cb64641a2df0420e50ea937128b59b010;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/UPGRADE/AliITSUTrackerCooked.h b/ITS/UPGRADE/AliITSUTrackerCooked.h index 22e0860e277..251e1cbb283 100644 --- a/ITS/UPGRADE/AliITSUTrackerCooked.h +++ b/ITS/UPGRADE/AliITSUTrackerCooked.h @@ -6,7 +6,7 @@ // The pattern recongintion based on the "cooked covariance" approach //------------------------------------------------------------------------- -#include "AliTracker.h" +#include "AliITSUTrackerGlo.h" class TTree; class TClonesArray; @@ -16,13 +16,15 @@ class AliESDEvent; class AliCluster; class AliITSUClusterPix; class AliITSUTrackCooked; +class AliITSUReconstructor; //------------------------------------------------------------------------- -class AliITSUTrackerCooked : public AliTracker { +class AliITSUTrackerCooked : public AliITSUTrackerGlo { public: enum { - kNLayers=7,kMaxClusterPerLayer=9999,kMaxSelected=kMaxClusterPerLayer/9}; - AliITSUTrackerCooked(); + kNLayers=7, kMaxClusterPerLayer=15000, kMaxSelected=kMaxClusterPerLayer/10 + }; + AliITSUTrackerCooked(AliITSUReconstructor *rec); virtual ~AliITSUTrackerCooked(); // These functions must be implemented @@ -36,6 +38,9 @@ public: AliCluster *GetCluster(Int_t index) const; + void SetSAonly(Bool_t sa=kTRUE) {fSAonly=sa;} + Bool_t GetSAonly() const {return fSAonly;} + // internal helper classes class AliITSUlayer; @@ -64,7 +69,9 @@ private: AliITSUTrackCooked *fBestTrack; // "best" track AliITSUTrackCooked *fTrackToFollow; // followed track - ClassDef(AliITSUTrackerCooked,1) //ITSU stand-alone tracker + Bool_t fSAonly; // kTRUE if the standalone tracking only + + ClassDef(AliITSUTrackerCooked,2) //ITSU stand-alone tracker }; @@ -75,16 +82,19 @@ class AliITSUTrackerCooked::AliITSUlayer { AliITSUlayer(); ~AliITSUlayer(); - void InsertClusters(TClonesArray *clusters, Bool_t seedingLayer); + void InsertClusters(TClonesArray *clusters, Bool_t seedingLayer, Bool_t sa); void SetR(Double_t r) {fR=r;} void DeleteClusters(); - Int_t - SelectClusters(Float_t zMin,Float_t zMax,Float_t phiMin, Float_t phiMax); + void ResetSelectedClusters() {fI=0;} + void SelectClusters(Float_t phi, Float_t dy, Float_t z, Float_t dz); const AliCluster *GetNextCluster(Int_t &i); void ResetTrack(const AliITSUTrackCooked &t); Int_t FindClusterIndex(Double_t z) const; - Double_t GetR() const {return fR;} + Float_t GetR() const {return fR;} AliCluster *GetCluster(Int_t i) const { return fClusters[i]; } + Float_t GetXRef(Int_t i) const { return fXRef[i]; } + Float_t GetAlphaRef(Int_t i) const { return fAlphaRef[i]; } + Float_t GetClusterPhi(Int_t i) const { return fPhi[i]; } Int_t GetNumberOfClusters() const {return fN;} const AliITSUTrackCooked *GetTrack() const {return fTrack;} @@ -93,13 +103,18 @@ class AliITSUTrackerCooked::AliITSUlayer { AliITSUlayer &operator=(const AliITSUlayer &tr); Int_t InsertCluster(AliCluster *c); - Double_t fR; // mean radius of this layer + Float_t fR; // mean radius of this layer + + AliCluster *fClusters[kMaxClusterPerLayer]; // All clusters + Float_t fXRef[kMaxClusterPerLayer]; // x of the reference plane + Float_t fAlphaRef[kMaxClusterPerLayer]; // alpha of the reference plane + Float_t fPhi[kMaxClusterPerLayer]; // cluster phi + Int_t fN; // Total number of clusters - AliCluster *fClusters[kMaxClusterPerLayer]; //All clusters - Int_t fN; //number of clusters + Int_t fIndex[kMaxSelected]; + Int_t fNsel; // Number of selected clusters + Int_t fI; // Running index for the selected clusters - Int_t fIndex[kMaxSelected]; // Indices of selected clusters - Int_t fNsel; // number of preselected clusters AliITSUTrackCooked *fTrack; // track estimation at this layer };