]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDseed.h
Adding multiplicity cut (Marek)
[u/mrichter/AliRoot.git] / TRD / AliTRDseed.h
index ff2bff417c060b3a42e73550a3960d2b305483d6..3d703a6dcea2bedece3b14c0b0fe76176efe7547 100644 (file)
 class AliTRDcluster;
 
 class AliTRDseed : public TObject {
-
- public:
-       enum { knTimebins = 35 };
+public:
+       enum {
+    knTimebins = 70 // maximum number of clusters/tracklet
+    ,kNtb = 35       // maximum clusters/pad row
+  };
 
   AliTRDseed(); 
   AliTRDseed(const AliTRDseed &s);
-  ~AliTRDseed() {};
+  virtual ~AliTRDseed() {};
 
-  AliTRDseed      &operator=(const AliTRDseed &s)           { *(new(this) AliTRDseed(s)); 
-                                                              return *this;          }
+  AliTRDseed      &operator=(const AliTRDseed &s);
 
   static  Float_t  FitRiemanTilt(AliTRDseed *seed, Bool_t error);
           void     UseClusters();
@@ -40,6 +41,8 @@ class AliTRDseed : public TObject {
           Float_t  GetTilt() const                          { return fTilt;          }
           Float_t  GetPadLength() const                     { return fPadLength;     }
           Float_t  GetX0() const                            { return fX0;            }
+          Float_t  GetY0() const                            { return fYfit[0];       }
+          Float_t  GetZ0() const                            { return fZfit[0];       }
           Float_t  GetX(Int_t i) const                      { return fX[i];          }
           Float_t  GetY(Int_t i) const                      { return fY[i];          }
           Float_t  GetZ(Int_t i) const                      { return fZ[i];          }
@@ -56,15 +59,16 @@ class AliTRDseed : public TObject {
           Float_t  GetMeanz() const                         { return fMeanz;         }
           Float_t  GetZProb() const                         { return fZProb;         }
           Int_t    GetLabels(Int_t i) const                 { return fLabels[i];     }
+               Float_t  GetMPads() const                         { return fMPads;         }
+               Int_t    GetNbClusters() const                    { return fN;             }
           Int_t    GetN2() const                            { return fN2;            }
+          Int_t    GetNChange() const                       { return fNChange;       }
           Int_t    GetNUsed() const                         { return fNUsed;         }
           Int_t    GetFreq() const                          { return fFreq;          }
           Float_t  GetC() const                             { return fC;             }
           Float_t  GetCC() const                            { return fCC;            }
           Float_t  GetChi2() const                          { return fChi2;          }
           Float_t  GetChi2Z() const                         { return fChi2Z;         }
-          Int_t    GetNTimeBins() const                   { return fgTimeBins; }
-          Int_t    GetNTimeBinsRange() const              { return fTimeBinsRange; }
 
                                
           void     SetTilt(Float_t tilt)                    { fTilt        = tilt;   }
@@ -74,7 +78,7 @@ class AliTRDseed : public TObject {
           void     SetY(Int_t i, Float_t y)                 { fY[i]        = y;      }
           void     SetZ(Int_t i, Float_t z)                 { fZ[i]        = z;      }
           void     SetIndexes(Int_t i, Int_t idx)           { fIndexes[i]  = idx;    }
-          void     SetClusters(Int_t i, AliTRDcluster *c)   { fClusters[i] = c;      }
+          void     SetClusters(Int_t i, AliTRDcluster * const c)   { fClusters[i] = c;      }
           void     SetUsable(Int_t i, Bool_t usable)        { fUsable[i]   = usable; }
           void     SetYref(Int_t i, Float_t yref)           { fYref[i]     = yref;   }
           void     SetZref(Int_t i, Float_t zref)           { fZref[i]     = zref;   }
@@ -87,6 +91,9 @@ class AliTRDseed : public TObject {
           void     SetMeanz(Float_t meanz)                  { fMeanz       = meanz;  }
           void     SetZProb(Float_t zprob)                  { fZProb       = zprob;  }
           void     SetLabels(Int_t i, Int_t label)          { fLabels[i]   = label;  }
+          void     SetMPads(Float_t mPads)                  { fMPads       = mPads;  }
+          void     SetN(Int_t n)                            { fN           = n;      }
+          void     SetNChange(Int_t n)                      { fNChange     = n;      }
           void     SetN2(Int_t n2)                          { fN2          = n2;     }
           void     SetNUsed(Int_t nused)                    { fNUsed       = nused;  }
           void     SetFreq(Int_t freq)                      { fFreq        = freq;   }
@@ -94,16 +101,11 @@ class AliTRDseed : public TObject {
           void     SetCC(Float_t cc)                        { fCC          = cc;     }
           void     SetChi2(Float_t chi2)                    { fChi2        = chi2;   }
           void     SetChi2Z(Float_t chi2z)                  { fChi2Z       = chi2z;  }
-  static  void     SetNTimeBins(Int_t nTB)                { fgTimeBins  = nTB; }
-          void     SetNTimeBinsRange(Int_t nTB)           { fTimeBinsRange  = nTB; }
 
  protected:
 
           void     Copy(TObject &o) const;
           
-  static  Int_t          fgTimeBins;            //  Local copy of the total number of TB
-          Int_t          fTimeBinsRange;        //  Number of time bins in the geometrical range of the detector
-          Int_t          fTimeBin0;             //  Time bin corresponding to t0
           Float_t        fTilt;                 //  Tilting angle
           Float_t        fPadLength;            //  Pad length
           Float_t        fX0;                   //  X0 position
@@ -111,7 +113,7 @@ class AliTRDseed : public TObject {
           Float_t        fY[knTimebins];        //! Y position
           Float_t        fZ[knTimebins];        //! Z position
           Int_t          fIndexes[knTimebins];  //! Indexes
-          AliTRDcluster *fClusters[knTimebins]; //  Clusters
+          AliTRDcluster *fClusters[knTimebins]; // Clusters
           Bool_t         fUsable[knTimebins];   //  Indication  - usable cluster
           Float_t        fYref[2];              //  Reference y
           Float_t        fZref[2];              //  Reference z