]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDTracklet.h
- Move to the new attaching cluster to tracklet procedure in the stand
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTracklet.h
1 #ifndef ALIHLTTRDTRACKLET_H
2 #define ALIHLTTRDTRACKLET_H
3
4 #include "AliTRDseedV1.h"
5 #include "AliHLTDataTypes.h"
6 #include "AliHLTLogging.h"
7 class AliHLTTRDCluster;
8
9 class AliHLTTRDTracklet
10 {
11  public:
12   AliHLTTRDTracklet();
13   AliHLTTRDTracklet(AliTRDseedV1* inTracklet);
14   
15   void ExportTRDTracklet(AliTRDseedV1* outTracklet);
16   void AddClusters();
17   void CopyDataMembers();
18   AliHLTUInt8_t *GetEndPointer() // Returns pointer to the end of the tracklet
19     { return ((AliHLTUInt8_t *) this + fSize); };
20   AliHLTUInt32_t GetSize(){ return fSize; };
21   void Print(Bool_t printClusters = kTRUE);
22   void ReadClustersFromMemory(void *input);
23   
24  private:
25   AliHLTTRDTracklet(const AliHLTTRDTracklet&);
26   AliHLTTRDTracklet& operator=(const AliHLTTRDTracklet&);
27   void InitArrays();
28   
29   AliTRDseedV1* fTRDtracklet;
30   AliHLTUInt32_t fSize; // Size of the tracklet with clusters in the memory
31   
32   /* Defenitely need */
33   AliHLTTRDCluster *fClusters[AliTRDseedV1::kNTimeBins]; // Clusters
34   Float_t        fYref[2];              //  Reference y
35   Float_t        fZref[2];              //  Reference z
36   //Float_t        fSigmaY;               //  "Robust" sigma in Y - constant fit
37   Float_t        fSigmaY2;              //  "Robust" sigma in Y - line fit
38
39   /* Probably need */
40   Float_t        fTilt;                 //  Tilting angle
41   Float_t        fPadLength;            //  Pad length
42   Float_t        fX0;                   //  X0 position
43 //  Float_t        fX[knTimebins];        //! X position
44 //  Float_t        fY[knTimebins];        //! Y position
45 //  Float_t        fZ[knTimebins];        //! Z position
46   Int_t          fIndexes[AliTRDseedV1::kNTimeBins];  //! Indexes
47   Float_t        fYfit[2];              //  Y fit position +derivation
48   //Float_t        fYfitR[2];             //  Y fit position +derivation
49   Float_t        fZfit[2];              //  Z fit position
50   //Float_t        fZfitR[2];             //  Z fit position
51   //Float_t        fMeanz;                //  Mean vaue of z
52   //Float_t        fZProb;                //  Max probbable z
53   Int_t          fLabels[3];            //  Labels
54   //Int_t          fN;                    //  Number of associated clusters
55   Int_t          fN2;                   //  Number of not crossed
56   Int_t          fNUsed;                //  Number of used clusters
57   //Int_t          fFreq;                 //  Frequency
58   //Int_t          fNChange;              //  Change z counter
59   //Float_t        fMPads;                //  Mean number of pads per cluster
60
61   Float_t        fC;                    //  Curvature
62   //Float_t        fCC;                   //  Curvature with constrain
63   Float_t        fChi2;                 //  Global chi2
64   //Float_t        fChi2Z;                //  Global chi2
65
66   /* ======= From AliTRDseedV1 ======== */
67
68   /* Defenitely need */
69   Int_t            fDet;                    //  TRD detector
70   Float_t          fMom;                    //  Momentum estimate for  tracklet [GeV/c]
71   Float_t          fdX;                     // length of time bin
72
73   /* Probably need */
74
75 };
76
77 #endif