#ifndef ALITRDSEED_H
-#define ALITRDSEED_H
-
+#define ALITRDSEED_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
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; }
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]; }
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 GetChi2() const { return fChi2; }
Float_t GetChi2Z() const { return fChi2Z; }
+
void SetTilt(Float_t tilt) { fTilt = tilt; }
void SetPadLength(Float_t len) { fPadLength = len; }
void SetX0(Float_t x0) { fX0 = x0; }
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; }
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; }
void Copy(TObject &o) const;
- Float_t fTilt; // Tilting angle
- Float_t fPadLength; // Pad length
- Float_t fX0; // X0 position
- Float_t fX[knTimebins]; //! X position
- Float_t fY[knTimebins]; //! Y position
- Float_t fZ[knTimebins]; //! Z position
- Int_t fIndexes[knTimebins];//! Indexes
+ Float_t fTilt; // Tilting angle
+ Float_t fPadLength; // Pad length
+ Float_t fX0; // X0 position
+ Float_t fX[knTimebins]; //! X position
+ Float_t fY[knTimebins]; //! Y position
+ Float_t fZ[knTimebins]; //! Z position
+ Int_t fIndexes[knTimebins]; //! Indexes
AliTRDcluster *fClusters[knTimebins]; // Clusters
- Bool_t fUsable[knTimebins]; //! Indication - usable cluster
- Float_t fYref[2]; // Reference y
- Float_t fZref[2]; // Reference z
- Float_t fYfit[2]; // Y fit position +derivation
- Float_t fYfitR[2]; // Y fit position +derivation
- Float_t fZfit[2]; // Z fit position
- Float_t fZfitR[2]; // Z fit position
- Float_t fSigmaY; // "Robust" sigma in Y - constant fit
- Float_t fSigmaY2; // "Robust" sigma in Y - line fit
- Float_t fMeanz; // Mean vaue of z
- Float_t fZProb; // Max probbable z
- Int_t fLabels[2]; // Labels
- Int_t fN; // Number of associated clusters
- Int_t fN2; // Number of not crossed
- Int_t fNUsed; // Number of used clusters
- Int_t fFreq; // Frequency
- Int_t fNChange; // Change z counter
- Float_t fMPads; // Mean number of pads per cluster
-
- Float_t fC; // Curvature
- Float_t fCC; // Curvature with constrain
- Float_t fChi2; // Global chi2
- Float_t fChi2Z; // Global chi2
-
- ClassDef(AliTRDseed,1) // Seed for a local TRD track
+ Bool_t fUsable[knTimebins]; // Indication - usable cluster
+ Float_t fYref[2]; // Reference y
+ Float_t fZref[2]; // Reference z
+ Float_t fYfit[2]; // Y fit position +derivation
+ Float_t fYfitR[2]; // Y fit position +derivation
+ Float_t fZfit[2]; // Z fit position
+ Float_t fZfitR[2]; // Z fit position
+ Float_t fSigmaY; // "Robust" sigma in Y - constant fit
+ Float_t fSigmaY2; // "Robust" sigma in Y - line fit
+ Float_t fMeanz; // Mean vaue of z
+ Float_t fZProb; // Max probbable z
+ Int_t fLabels[2]; // Labels
+ Int_t fN; // Number of associated clusters
+ Int_t fN2; // Number of not crossed
+ Int_t fNUsed; // Number of used clusters
+ Int_t fFreq; // Frequency
+ Int_t fNChange; // Change z counter
+ Float_t fMPads; // Mean number of pads per cluster
+
+ Float_t fC; // Curvature
+ Float_t fCC; // Curvature with constrain
+ Float_t fChi2; // Global chi2
+ Float_t fChi2Z; // Global chi2
+
+ ClassDef(AliTRDseed,1) // Seed for a local TRD track
};