* See cxx source for full Copyright notice */
/* $Id$ */
+//
+// this is a class
+// AliComplexCluster
+// by M. Ivanov
+//
#include "TObject.h"
#include "TMath.h"
#include "AliTPCclusterMI.h"
+//
class AliComplexCluster : public TObject {
-public:
friend class AliTPC;
friend class AliTPCClusterFinder;
friend class AliClusters;
+ friend class AliTPCFast;
+public:
AliComplexCluster() {
fTracks[0]=fTracks[1]=fTracks[2]=0;
virtual ~AliComplexCluster() {;}
Bool_t IsSortable() const;
Int_t Compare(const TObject *o) const;
+ // the following getters are needed by HLT
+ // please dont remove... C. Loizides
+ Int_t GetTrack(Int_t i)const {return fTracks[i];} //labels of overlapped tracks
+ Float_t GetX()const {return fX;}
+ Float_t GetY()const {return fY;}
+ Float_t GetQ()const {return fQ;}
+ Float_t GetSigmaX2()const {return fSigmaX2;}
+ Float_t GetSigmaY2()const {return fSigmaY2;}
+ Float_t GetSigmaXY()const {return fSigmaXY;}
+ Float_t GetArea()const {return fArea;}
+ Float_t GetMax()const {return fMax;}
private:
Int_t fTracks[3];//labels of overlapped tracks
Float_t fX ; //Y of cluster
// Cluster manager
};
-class AliDigitCluster : public AliComplexCluster {
-public:
- friend class AliTPCClusterFinder;
-private:
- Int_t fNx; //number of accepted x bins
- Int_t fNy; //number of accepted y bins
- Float_t fMaxX; //maximum x bin
- Float_t fMaxY; //maximum y bin
-
- ClassDef(AliDigitCluster,1) // Tclusters
-};
-
class AliTPCTrackerPoint {
+ friend class AliTPCtrackerMI;
+ friend class AliTPCseed;
public:
- Char_t fIsShared; // indicate sharing of the point between several tracks
AliTPCTrackerPoint(){fTX=0; fTY=0; fTZ=0; fTAngleZ=0; fTAngleY=0; fIsShared = 0;}
Float_t GetX() const {return (fTX*0.01);}
UShort_t fSigmaY; // shape Y - normalised shape - normaliziation 1 - precision 2 percent
UShort_t fErrZ; // z error estimate - in mm - 50 mum precision
UShort_t fErrY; // y error estimate - in mm - 50 mum precision
+ Char_t fIsShared; // indicate sharing of the point between several tracks
ClassDef(AliTPCTrackerPoint,1)
};
class AliTPCClusterPoint {
public:
AliTPCClusterPoint(){fCZ=fCY=fSigmaZ=fSigmaY=fQ=fMax=fCType=0;}
- inline Float_t GetZ() const {return (fCZ*0.01);}
- inline Float_t GetY() const {return (fCY*0.01);}
- inline Float_t GetSigmaZ() const {return (fSigmaZ*0.02);}
- inline Float_t GetSigmaY() const {return (fSigmaY*0.02);}
- inline Int_t GetType() const {return fCType;}
- inline Int_t GetMax() const {return fMax;}
- inline Float_t GetQ() const {return fQ;}
+ Float_t GetZ() const {return (fCZ*0.01);}
+ Float_t GetY() const {return (fCY*0.01);}
+ Float_t GetSigmaZ() const {return (fSigmaZ*0.02);}
+ Float_t GetSigmaY() const {return (fSigmaY*0.02);}
+ Int_t GetType() const {return fCType;}
+ Int_t GetMax() const {return fMax;}
+ Float_t GetQ() const {return fQ;}
//
void SetY(Float_t y){ fCY = Short_t(TMath::Nint(y*100.));}
class AliTPCExactPoint : public TObject{
+ friend class AliTPCtrackerMI;
public:
AliTPCExactPoint(){fEZ=fEY=fEAngleZ=fEAngleY=fEAmp=fEPrim=fTrackID=0;}
private:
Int_t fTrackID; // id of the track
Int_t fRow; // row
Int_t fSec; //sector
- friend class AliTPCtrackerMI;
ClassDef(AliTPCExactPoint,1)
};
class AliTPCTrackPoint: public TObject{
- public:
friend class AliTPCtrackerMI;
+ public:
AliTPCTrackPoint(){}
// AliTPCClusterPoint & GetCPoint(){return fCPoint;}
AliTPCTrackerPoint & GetTPoint(){return fTPoint;}
};
class AliTPCTrackPoint2: public AliTPCTrackPoint{
- public:
friend class AliTPCtrackerMI;
+ public:
AliTPCTrackPoint2(){}
private:
Float_t fGX; //global poition of the point
class AliTPCTrackPointRef: public AliTPCTrackPoint{
- public:
friend class AliTPCtrackerMI;
+ public:
AliTPCExactPoint & GetExactPoint(){return fEPoint;}
AliTPCExactPoint & GetNearestPoint(){return fNPoint;}
private: