]>
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; | |
196a8c4f | 27 | static AliHLTUInt32_t SaveAt(AliHLTUInt8_t *const block, const AliTRDseedV1* const inTracklet); |
28 | static AliHLTUInt32_t LoadFrom(AliTRDseedV1 *const outTracklet, const AliHLTUInt8_t *const block); | |
d679dd6c | 29 | |
30 | private: | |
31 | AliHLTTRDTracklet(const AliHLTTRDTracklet&); | |
32 | AliHLTTRDTracklet& operator=(const AliHLTTRDTracklet&); | |
33 | void InitArrays(); | |
d679dd6c | 34 | |
93ce7d1b | 35 | /* Defenitely need */ |
9630a0b8 | 36 | UInt_t fN; // number of clusters attached/used/shared |
93ce7d1b | 37 | Float_t fdX; // length of time bin |
0fae33c8 | 38 | Float_t fYref[2]; // Reference y |
39 | Float_t fZref[2]; // Reference z | |
40 | Float_t fS2Y; // estimated resolution in the r-phi direction | |
41 | Float_t fPt; // Momentum estimate for tracklet [GeV/c] | |
93ce7d1b | 42 | |
d679dd6c | 43 | /* Probably need */ |
9630a0b8 | 44 | Float_t fPad[3]; // local pad definition : length/width/tilt |
93ce7d1b | 45 | Float_t fX0; // X0 position |
46 | Float_t fYfit[2]; // Y fit position +derivation | |
47 | Float_t fZfit[2]; // Z fit position | |
68f9b6bd | 48 | Float_t fC[2]; // Curvature Rieman[0] Vertex[1] |
93ce7d1b | 49 | Float_t fChi2; // Global chi2 |
50 | Float_t fProb[AliPID::kSPECIES];// PID probabilities | |
51 | ||
52 | /* Not needed */ | |
0fae33c8 | 53 | // Float_t fExB; // tg(a_L) @ tracklet location |
54 | // Float_t fVD; // drift velocity @ tracklet location | |
55 | // Float_t fT0; // time 0 @ tracklet location | |
56 | // Float_t fS2PRF; // sigma^2 PRF for xd->0 and phi=a_L | |
57 | // Float_t fDiffL; // longitudinal diffusion coefficient | |
58 | // Float_t fDiffT; // transversal diffusion coefficient | |
59 | // Float_t fX; // radial position of the tracklet | |
60 | // Float_t fY; // r-phi position of the tracklet | |
61 | // Float_t fZ; // z position of the tracklet | |
62 | // Float_t fS2Z; // estimated resolution in the z direction | |
63 | // Float_t fdEdx[AliTRDseedV1::kNslices]; // dE/dx measurements for tracklet | |
64 | // Float_t fRefCov[7]; // covariance matrix of the track in the yz plane + the rest of the diagonal elements | |
65 | // Float_t fCov[3]; // covariance matrix of the tracklet in the xy plane | |
d679dd6c | 66 | |
0fae33c8 | 67 | UChar_t fPos[AliTRDseedV1::kNclusters]; // position of the cluster in the original array |
d679dd6c | 68 | |
0fae33c8 | 69 | Short_t fDet; // TRD detector |
70 | UChar_t fBits; // Bits of the tracklet | |
71 | AliHLTUInt8_t fCount; // Number of clusters saved in the open array | |
72 | AliHLTUInt32_t fSize; // Size of the tracklet with clusters in the memory | |
d679dd6c | 73 | |
93ce7d1b | 74 | #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC) |
196a8c4f | 75 | AliHLTTRDExtCluster fClusters[1]; // Open array of clusters |
93ce7d1b | 76 | #else |
196a8c4f | 77 | AliHLTTRDExtCluster fClusters[0]; // Open array of clusters |
93ce7d1b | 78 | #endif |
d679dd6c | 79 | |
80 | }; | |
81 | ||
82 | #endif |