]>
Commit | Line | Data |
---|---|---|
93ce7d1b | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | ||
d679dd6c | 4 | #ifndef ALIHLTTRDTRACKLET_H |
5 | #define ALIHLTTRDTRACKLET_H | |
93ce7d1b | 6 | //* This file is property of and copyright by the ALICE HLT Project * |
7 | //* ALICE Experiment at CERN, All rights reserved. * | |
8 | //* See cxx source for full Copyright notice * | |
d679dd6c | 9 | |
10 | #include "AliTRDseedV1.h" | |
11 | #include "AliHLTDataTypes.h" | |
12 | #include "AliHLTLogging.h" | |
93ce7d1b | 13 | #include "AliHLTTRDCluster.h" |
d679dd6c | 14 | |
15 | class AliHLTTRDTracklet | |
16 | { | |
17 | public: | |
18 | AliHLTTRDTracklet(); | |
93ce7d1b | 19 | AliHLTTRDTracklet(const AliTRDseedV1* const inTracklet); |
d679dd6c | 20 | |
93ce7d1b | 21 | void CopyDataMembers(const AliTRDseedV1* const inTracklet); |
22 | void ExportTRDTracklet(AliTRDseedV1* const outTracklet) const; | |
23 | AliHLTUInt8_t *GetEndPointer() const // Returns pointer to the end of the tracklet | |
24 | { return ((AliHLTUInt8_t *)this + fSize); }; | |
25 | AliHLTUInt32_t GetSize() const { return fSize; }; | |
26 | void Print(Bool_t printClusters = kTRUE) const; | |
27 | // void ReadClustersFromMemory(void *input); | |
d679dd6c | 28 | |
29 | private: | |
30 | AliHLTTRDTracklet(const AliHLTTRDTracklet&); | |
31 | AliHLTTRDTracklet& operator=(const AliHLTTRDTracklet&); | |
32 | void InitArrays(); | |
d679dd6c | 33 | |
93ce7d1b | 34 | /* Defenitely need */ |
9630a0b8 | 35 | UInt_t fN; // number of clusters attached/used/shared |
93ce7d1b | 36 | Float_t fdX; // length of time bin |
0fae33c8 | 37 | Float_t fYref[2]; // Reference y |
38 | Float_t fZref[2]; // Reference z | |
39 | Float_t fS2Y; // estimated resolution in the r-phi direction | |
40 | Float_t fPt; // Momentum estimate for tracklet [GeV/c] | |
93ce7d1b | 41 | |
d679dd6c | 42 | /* Probably need */ |
9630a0b8 | 43 | Float_t fPad[3]; // local pad definition : length/width/tilt |
93ce7d1b | 44 | Float_t fX0; // X0 position |
45 | Float_t fYfit[2]; // Y fit position +derivation | |
46 | Float_t fZfit[2]; // Z fit position | |
68f9b6bd | 47 | Float_t fC[2]; // Curvature Rieman[0] Vertex[1] |
93ce7d1b | 48 | Float_t fChi2; // Global chi2 |
49 | Float_t fProb[AliPID::kSPECIES];// PID probabilities | |
50 | ||
51 | /* Not needed */ | |
0fae33c8 | 52 | // Float_t fExB; // tg(a_L) @ tracklet location |
53 | // Float_t fVD; // drift velocity @ tracklet location | |
54 | // Float_t fT0; // time 0 @ tracklet location | |
55 | // Float_t fS2PRF; // sigma^2 PRF for xd->0 and phi=a_L | |
56 | // Float_t fDiffL; // longitudinal diffusion coefficient | |
57 | // Float_t fDiffT; // transversal diffusion coefficient | |
58 | // Float_t fX; // radial position of the tracklet | |
59 | // Float_t fY; // r-phi position of the tracklet | |
60 | // Float_t fZ; // z position of the tracklet | |
61 | // Float_t fS2Z; // estimated resolution in the z direction | |
62 | // Float_t fdEdx[AliTRDseedV1::kNslices]; // dE/dx measurements for tracklet | |
63 | // Float_t fRefCov[7]; // covariance matrix of the track in the yz plane + the rest of the diagonal elements | |
64 | // Float_t fCov[3]; // covariance matrix of the tracklet in the xy plane | |
d679dd6c | 65 | |
0fae33c8 | 66 | UChar_t fPos[AliTRDseedV1::kNclusters]; // position of the cluster in the original array |
d679dd6c | 67 | |
0fae33c8 | 68 | Short_t fDet; // TRD detector |
69 | UChar_t fBits; // Bits of the tracklet | |
70 | AliHLTUInt8_t fCount; // Number of clusters saved in the open array | |
71 | AliHLTUInt32_t fSize; // Size of the tracklet with clusters in the memory | |
d679dd6c | 72 | |
93ce7d1b | 73 | #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC) |
0fae33c8 | 74 | AliHLTTRDCluster fClusters[1]; // Open array of clusters |
93ce7d1b | 75 | #else |
0fae33c8 | 76 | AliHLTTRDCluster fClusters[0]; // Open array of clusters |
93ce7d1b | 77 | #endif |
d679dd6c | 78 | |
79 | }; | |
80 | ||
81 | #endif |