X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDtracker.h;h=b9fecd1ca0773fd04300315dfda2ffdfadc69ca5;hb=88cb7938ca21d4a80991d4e7aa564008c29340f7;hp=4dbc91d36acda9ed607c2f6936bab662458da69d;hpb=5443e65ea0e4ba7bbf3dd08d9893a31c9dd8a539;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDtracker.h b/TRD/AliTRDtracker.h index 4dbc91d36ac..b9fecd1ca07 100644 --- a/TRD/AliTRDtracker.h +++ b/TRD/AliTRDtracker.h @@ -4,12 +4,18 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ +/* $Id$ */ + #include "AliTracker.h" +#include "TObjArray.h" +#include "AliBarrelTrack.h" + +#include +#include class TFile; class TParticle; class TParticlePDG; -class TObjArray; class AliTRDgeometry; class AliTRDparameter; @@ -19,11 +25,11 @@ class AliTRDmcTrack; const unsigned kMAX_LAYERS_PER_SECTOR = 1000; const unsigned kMAX_TIME_BIN_INDEX = 216; // (30 drift + 6 ampl) * 6 planes -const unsigned kMAX_CLUSTER_PER_TIME_BIN = 3500; +const unsigned kMAX_CLUSTER_PER_TIME_BIN = 7000; const unsigned kZONES = 5; const Int_t kTRACKING_SECTORS = 18; -class AliTRDtracker : public AliTracker { +class AliTRDtracker : public AliTracker { public: @@ -33,36 +39,43 @@ class AliTRDtracker : public AliTracker { Int_t Clusters2Tracks(const TFile *in, TFile *out); Int_t PropagateBack(const TFile *in, TFile *out); - AliCluster *GetCluster(Int_t index) const { return NULL; }; + Int_t PropagateBack();//Almost empty see .cxx for more comments + Int_t Clusters2Tracks();//Almost empty see .cxx for more comments + + Int_t LoadClusters() {LoadEvent(); return 0;}; + void UnloadClusters() {UnloadEvent();}; + AliCluster *GetCluster(Int_t index) const { return (AliCluster*) fClusters->UncheckedAt(index); }; virtual void CookLabel(AliKalmanTrack *t,Float_t wrong) const; virtual void UseClusters(const AliKalmanTrack *t, Int_t from=0) const; - void SetEventNumber(Int_t event) { fEvent = event; } void SetAddTRDseeds() { fAddTRDseeds = kTRUE; } + void SetNoTilt() { fNoTilt = kTRUE; } + + Double_t GetTiltFactor(const AliTRDcluster* c); void ReadClusters(TObjArray *array, const Char_t *filename); Int_t CookSectorIndex(Int_t gs) { return kTRACKING_SECTORS - 1 - gs; } - Float_t GetSeedGap() const {return fSeedGap;} + Float_t GetSeedGap() const {return fgkSeedGap;} Int_t GetMaxGap() const {return fMaxGap;} Int_t GetTimeBinsPerPlane() const {return fTimeBinsPerPlane;} - Float_t GetSeedStep() const {return fSeedStep;} - Float_t GetSeedDepth() const {return fSeedDepth;} - Float_t GetSkipDepth() const {return fSkipDepth;} - Double_t GetMaxChi2() const {return fMaxChi2;} - Float_t GetMaxSeedC() const {return fMaxSeedC;} - Float_t GetMaxSeedTan() const {return fMaxSeedTan;} - Double_t GetSeedErrorSY() const {return fSeedErrorSY;} - Double_t GetSeedErrorSY3() const {return fSeedErrorSY3;} - Double_t GetSeedErrorSZ() const {return fSeedErrorSZ;} - Float_t GetLabelFraction() const {return fLabelFraction;} - Float_t GetWideRoad() const {return fWideRoad;} - - Float_t GetMinClustersInTrack() const {return fMinClustersInTrack;} - Float_t GetMinClustersInSeed() const {return fMinClustersInSeed;} - Float_t GetMaxSeedDeltaZ() const {return fMaxSeedDeltaZ;} - Float_t GetMaxSeedVertexZ() const {return fMaxSeedVertexZ;} + Float_t GetSeedStep() const {return fgkSeedStep;} + Float_t GetSeedDepth() const {return fgkSeedDepth;} + Float_t GetSkipDepth() const {return fgkSkipDepth;} + Double_t GetMaxChi2() const {return fgkMaxChi2;} + Float_t GetMaxSeedC() const {return fgkMaxSeedC;} + Float_t GetMaxSeedTan() const {return fgkMaxSeedTan;} + Double_t GetSeedErrorSY() const {return fgkSeedErrorSY;} + Double_t GetSeedErrorSY3() const {return fgkSeedErrorSY3;} + Double_t GetSeedErrorSZ() const {return fgkSeedErrorSZ;} + Float_t GetLabelFraction() const {return fgkLabelFraction;} + Float_t GetWideRoad() const {return fgkWideRoad;} + + Float_t GetMinClustersInTrack() const {return fgkMinClustersInTrack;} + Float_t GetMinClustersInSeed() const {return fgkMinClustersInSeed;} + Float_t GetMaxSeedDeltaZ() const {return fgkMaxSeedDeltaZ;} + Float_t GetMaxSeedVertexZ() const {return fgkMaxSeedVertexZ;} // x <-> timebin conversions useful in analysis macros Double_t GetX(Int_t sec, Int_t plane, Int_t local_tb) const; @@ -78,7 +91,7 @@ class AliTRDtracker : public AliTracker { // ***************** internal class ******************* public: AliTRDpropagationLayer(Double_t x, Double_t dx, Double_t rho, - Double_t x0, Int_t tb_index); + Double_t x0, Int_t tb_index); ~AliTRDpropagationLayer() { if(fTimeBinIndex >= 0) { delete[] fClusters; delete[] fIndex; } @@ -93,7 +106,7 @@ class AliTRDtracker : public AliTracker { Double_t GetX0() const { return fX0; } Int_t GetTimeBinIndex() const { return fTimeBinIndex; } void GetPropagationParameters(Double_t y, Double_t z, - Double_t &dx, Double_t &rho, Double_t &x0, + Double_t &dx, Double_t &rho, Double_t &x0, Bool_t &lookForCluster) const; Int_t Find(Double_t y) const; void SetZmax(Int_t cham, Double_t center, Double_t w) @@ -104,9 +117,11 @@ class AliTRDtracker : public AliTracker { Double_t GetZc(Int_t c) const { return fZc[c]; } void SetHole(Double_t Zmax, Double_t Ymax, - Double_t rho = 1.29e-3, Double_t x0 = 36.66, - Double_t Yc = 0, Double_t Zc = 0); - + Double_t rho = 1.29e-3, Double_t x0 = 36.66, + Double_t Yc = 0, Double_t Zc = 0); + + Bool_t IsSensitive() {return (fTimeBinIndex>=0)? kTRUE: kFALSE;} + void Clear() {for(Int_t i=0; i