]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDTracklet.h
07177eb4900b6f71d199b89ad474306537424346
[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   Long_t         fUsable;                //  Indication  - usable cluster
48   Float_t        fYfit[2];              //  Y fit position +derivation
49   //Float_t        fYfitR[2];             //  Y fit position +derivation
50   Float_t        fZfit[2];              //  Z fit position
51   //Float_t        fZfitR[2];             //  Z fit position
52   //Float_t        fMeanz;                //  Mean vaue of z
53   //Float_t        fZProb;                //  Max probbable z
54   Int_t          fLabels[3];            //  Labels
55   //Int_t          fN;                    //  Number of associated clusters
56   Int_t          fN2;                   //  Number of not crossed
57   Int_t          fNUsed;                //  Number of used clusters
58   //Int_t          fFreq;                 //  Frequency
59   //Int_t          fNChange;              //  Change z counter
60   //Float_t        fMPads;                //  Mean number of pads per cluster
61
62   Float_t        fC;                    //  Curvature
63   //Float_t        fCC;                   //  Curvature with constrain
64   Float_t        fChi2;                 //  Global chi2
65   //Float_t        fChi2Z;                //  Global chi2
66
67   /* ======= From AliTRDseedV1 ======== */
68
69   /* Defenitely need */
70   Int_t            fDet;                    //  TRD detector
71   Float_t          fMom;                    //  Momentum estimate for  tracklet [GeV/c]
72   Float_t          fdX;                     // length of time bin
73
74   /* Probably need */
75
76 };
77
78 #endif