]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDseedV1.h
corrected test macro: use AliHLTEsdManager::New/Delete;suppress debug messages
[u/mrichter/AliRoot.git] / TRD / AliTRDseedV1.h
index c8055ab54d077dbcca357c0e57c3c21159993165..c4a47505d591bfd1ad668e74dcb2560142a283b7 100644 (file)
@@ -27,11 +27,9 @@ class TTreeSRedirector;
 
 class AliRieman;
 
-class AliTRDstackLayer;
+class AliTRDtrackingChamber;
 class AliTRDcluster;
-class AliTRDrecoParam;
-class AliTRDtrack;
-
+class AliTRDtrackV1;
 class AliTRDseedV1 : public AliTRDseed
 {
 
@@ -41,46 +39,47 @@ class AliTRDseedV1 : public AliTRDseed
          knSlices = 10
        };
 
-       AliTRDseedV1(Int_t layer = -1, AliTRDrecoParam *p=0x0);
+       AliTRDseedV1(Int_t plane = -1);
        ~AliTRDseedV1();
        AliTRDseedV1(const AliTRDseedV1 &ref);
        AliTRDseedV1& operator=(const AliTRDseedV1 &ref);
 
-       Bool_t  AttachClustersIter(AliTRDstackLayer *layer, Float_t quality, Bool_t kZcorr = kFALSE
+       Bool_t  AttachClustersIter(AliTRDtrackingChamber *chamber, Float_t quality, Bool_t kZcorr = kFALSE
                                  , AliTRDcluster *c=0x0);
-       Bool_t  AttachClusters(AliTRDstackLayer *layer, Bool_t kZcorr = kFALSE);
+       Bool_t  AttachClusters(AliTRDtrackingChamber *chamber, Bool_t kZcorr = kFALSE);
        void    CookdEdx(Int_t nslices);
-       static  Float_t FitRiemanTilt(AliTRDseedV1 * cseed, Bool_t terror);
+       void    Draw(Option_t* o = "");
        Bool_t  Fit();
 
-              void      Init(AliTRDtrack *track);
+       Bool_t  Init(AliTRDtrackV1 *track);
        inline void      Init(const AliRieman *fit);
+       Bool_t    IsOwner() const          { return TestBit(1);}
+       Bool_t    IsRowCross() const       { return TestBit(2);}
+
+       inline Float_t   GetChi2Z(const Float_t z = 999.) const;
+       inline Float_t   GetChi2Y(const Float_t y = 999.) const;
+       void      GetCovAt(Double_t x, Double_t *cov) const;
+       Double_t* GetCrossXYZ() { return &fCross[0];}
+       Double_t  GetCrossSz2() const { return fCross[3];}
+       Float_t*  GetdEdx() {return &fdEdx[0];}
+       Float_t   GetdQdl(Int_t ic) const;
+       Double_t  GetMomentum() const {return fMom;}
+       Int_t     GetN() const {return fN2;}
+       Float_t   GetQuality(Bool_t kZcorr) const;
+       Int_t     GetPlane() const         { return fPlane;    }
+       Double_t* GetProbability();
+       Double_t  GetSnp() const           { return fSnp;}
+       Double_t  GetTgl() const           { return fTgl;}
+       Double_t  GetYat(Double_t x) const { return fYfitR[0] + fYfitR[1] * (x - fX0);}
+       Double_t  GetZat(Double_t x) const { return fZfitR[0] + fZfitR[1] * (x - fX0);}
+       
+       void      Print(Option_t *o = "") const;
        
-       inline Float_t   GetChi2Z(const Float_t z = 0.) const;
-       inline Float_t   GetChi2Y(const Float_t y = 0.) const;
-              void      GetCovAt(Double_t x, Double_t *cov) const;
-              Float_t*  GetdEdx() {return &fdEdx[0];}
-              Float_t   GetdQdl(Int_t ic) const;
-              Double_t  GetMomentum() const {return fMom;}
-              Int_t     GetN() const {return fN2;}
-              Float_t   GetQuality(Bool_t kZcorr) const;
-              Int_t     GetPlane() const                       { return fPlane;    }
-              Double_t* GetProbability();
-              Double_t  GetSnp() const {return fSnp;}
-              Double_t  GetTgl() const {return fTgl;}
-              Double_t  GetYat(Double_t x) const {return fYfitR[0] + fYfitR[1] * (x - fX0);}
-              Double_t  GetZat(Double_t x) const {return fZfitR[0] + fZfitR[1] * (x - fX0);}
-                                
-              Bool_t    IsOwner() const {return fOwner;}
-         void      Print(Option_t * /*o*/) const          { }
-              void      Print();
-              
-              void      SetMomentum(Double_t mom) {fMom = mom;}
-              void      SetOwner(Bool_t own = kTRUE);
-              void      SetPlane(Int_t p)                      { fPlane     = p;   }
-              void      SetRecoParam(AliTRDrecoParam *p)       { fRecoParam = p;   }
-              void      SetSnp(Double_t snp) {fSnp = snp;}
-              void      SetTgl(Double_t tgl) {fTgl = tgl;}
+       void      SetMomentum(Double_t mom) {fMom = mom;}
+       void      SetOwner(Bool_t own = kTRUE);
+       void      SetPlane(Int_t p)                      { fPlane     = p;   }
+       void      SetSnp(Double_t snp) {fSnp = snp;}
+       void      SetTgl(Double_t tgl) {fTgl = tgl;}
 
  protected:
 
@@ -89,14 +88,13 @@ class AliTRDseedV1 : public AliTRDseed
  private:
 
        Int_t            fPlane;                  //  TRD plane
-       Bool_t           fOwner;                  //  Toggle ownership of clusters
        Float_t          fMom;                    //  Momentum estimate for tracklet [GeV/c]
        Float_t          fSnp;                    // sin of track with respect to x direction in XY plane       
        Float_t          fTgl;                    // tg of track with respect to x direction in XZ plane        
        Float_t          fdX;                     // length of time bin
        Float_t          fdEdx[knSlices];         //  dE/dx measurements for tracklet
+       Double_t         fCross[4];            // spatial parameters of the pad row crossing
        Double_t         fProb[AliPID::kSPECIES]; //  PID probabilities
-       AliTRDrecoParam *fRecoParam;              //! Local copy of the reco params 
 
        ClassDef(AliTRDseedV1, 1)                 //  New TRD seed 
 
@@ -105,7 +103,7 @@ class AliTRDseedV1 : public AliTRDseed
 //____________________________________________________________
 inline Float_t AliTRDseedV1::GetChi2Z(const Float_t z) const
 {
-       Float_t z1  = (z == 0.) ? fMeanz : z;
+       Float_t z1  = (z == 999.) ? fMeanz : z;
        Float_t chi = fZref[0] - z1;
        return chi*chi;
 }
@@ -113,7 +111,7 @@ inline Float_t AliTRDseedV1::GetChi2Z(const Float_t z) const
 //____________________________________________________________
 inline Float_t AliTRDseedV1::GetChi2Y(const Float_t y) const
 {
-       Float_t y1  = (y == 0.) ? fYfitR[0] : y;
+       Float_t y1  = (y == 999.) ? fYfitR[0] : y;
        Float_t chi = fYref[0] - y1;
        return chi*chi;
 }
@@ -129,3 +127,4 @@ inline void AliTRDseedV1::Init(const AliRieman *rieman)
 
 #endif
 
+