]>
Commit | Line | Data |
---|---|---|
a1408c4b | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | #ifndef ALIHLTGLOBALBARRELTRACK_H | |
4 | #define ALIHLTGLOBALBARRELTRACK_H | |
5 | //* This file is property of and copyright by the ALICE HLT Project * | |
6 | //* ALICE Experiment at CERN, All rights reserved. * | |
7 | //* See cxx source for full Copyright notice * | |
8 | ||
9 | /** @file AliHLTGlobalBarrelTrack.h | |
10 | @author Matthias Richter | |
11 | @date 2009-06-24 | |
12 | @brief An AliKalmanTrack implementation for global HLT barrel tracks. | |
13 | */ | |
14 | ||
15 | #include "AliKalmanTrack.h" | |
16 | #include "AliHLTDataTypes.h" | |
17 | #include "AliHLTExternalTrackParam.h" | |
18 | #include <vector> | |
19 | using namespace std; | |
20 | ||
21 | /** | |
22 | * @class AliHLTGlobalBarrelTrack | |
23 | * Representation of global HLT barrel tracks. | |
24 | * | |
25 | * @ingroup alihlt_global_components | |
26 | */ | |
27 | class AliHLTGlobalBarrelTrack : public AliKalmanTrack | |
28 | { | |
29 | public: | |
30 | /** standard constructor */ | |
31 | AliHLTGlobalBarrelTrack(); | |
32 | /** copy constructor */ | |
33 | AliHLTGlobalBarrelTrack(const AliHLTGlobalBarrelTrack& t); | |
093b64dc | 34 | /** copy constructor */ |
35 | AliHLTGlobalBarrelTrack(const AliHLTExternalTrackParam& p); | |
7941f004 | 36 | /** copy constructor */ |
37 | AliHLTGlobalBarrelTrack(const AliExternalTrackParam& p); | |
093b64dc | 38 | |
a1408c4b | 39 | /** assignment operator */ |
093b64dc | 40 | template <class c> |
41 | AliHLTGlobalBarrelTrack& operator=(const c& t); | |
a1408c4b | 42 | /** destructor */ |
43 | ~AliHLTGlobalBarrelTrack(); | |
44 | ||
9b775d2d | 45 | /// inherited from AliKalmanTrack |
46 | Int_t GetClusterIndex(Int_t i) const { | |
8f3528aa | 47 | return (i<(int)fPoints.size()) ?fPoints[i] :0; |
9b775d2d | 48 | } |
49 | ||
1d36223d | 50 | /// inherited from AliKalmanTrack, dummy implementation |
51 | virtual Int_t GetNumberOfTracklets() const {return 0;} | |
52 | /// inherited from AliKalmanTrack, dummy implementation | |
53 | virtual Int_t GetTrackletIndex(Int_t) const {return -1;} | |
54 | /// inherited from AliKalmanTrack, dummy implementation | |
55 | virtual Double_t GetPIDsignal() const {return 0.;} | |
56 | ||
a1408c4b | 57 | /// Get the x position of the last assigned point |
58 | Double_t GetLastPointX() const {return fLastX;} | |
59 | /// Get the y position of the last assigned point | |
60 | Double_t GetLastPointY() const {return fLastY;} | |
093b64dc | 61 | /// return Track ID |
62 | Int_t TrackID() const {return fTrackID;} | |
2a24cbbe | 63 | /// return Track ID, inherited for AliExternalTrackParam |
64 | Int_t GetID() const {return fTrackID;} | |
a1408c4b | 65 | |
66 | /// Get the number of associated points | |
67 | UInt_t GetNumberOfPoints() const; | |
68 | ||
69 | /// Get the list of associated points | |
70 | const UInt_t* GetPoints() const; | |
71 | ||
72 | /// Set the list of associated points | |
73 | int SetPoints(const UInt_t* pArray, UInt_t arraySize); | |
74 | ||
d8cddd2e | 75 | static int ConvertTrackDataArray(const AliHLTTracksData* pTracks, unsigned sizeInByte, vector<AliHLTGlobalBarrelTrack> &tgtArray); |
a1408c4b | 76 | |
093b64dc | 77 | /// inherited from AliKalmanTrack, dummy implementation |
a1408c4b | 78 | Double_t GetPredictedChi2(const AliCluster*) const {return 0.0;} |
79 | ||
093b64dc | 80 | /// inherited from AliKalmanTrack, dummy implementation |
a1408c4b | 81 | Bool_t PropagateTo(Double_t, Double_t, Double_t) {return kFALSE;} |
82 | ||
093b64dc | 83 | /// inherited from AliKalmanTrack, dummy implementation |
a1408c4b | 84 | Bool_t Update(const AliCluster*, Double_t, Int_t) {return kFALSE;} |
85 | ||
093b64dc | 86 | /// Inherited from TObject, prints the track parameters |
87 | virtual void Print(Option_t* option = "") const; | |
88 | ||
5dc6c74b | 89 | Double_t GetPathLengthTo( Double_t x, Double_t b ) const; |
90 | ||
a1408c4b | 91 | protected: |
92 | ||
93 | private: | |
9b775d2d | 94 | |
a1408c4b | 95 | /// array of points |
96 | vector<UInt_t> fPoints; // | |
97 | ||
98 | /// x position of the last assigned point | |
99 | Double_t fLastX; // | |
100 | /// y position of the last assigned point | |
101 | Double_t fLastY; // | |
102 | ||
093b64dc | 103 | /// track Id for identification during the reconstruction |
104 | Int_t fTrackID; // | |
105 | ||
a1408c4b | 106 | ClassDef(AliHLTGlobalBarrelTrack, 0) |
107 | }; | |
108 | #endif |