]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDTracklet.h
little changes
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTracklet.h
CommitLineData
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
15class 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