]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/util/AliHLTGlobalBarrelTrack.h
adding copy constructor to create AliHLTGlobalBarrelTrack from AliHLTExternalTrackParam
[u/mrichter/AliRoot.git] / HLT / BASE / util / AliHLTGlobalBarrelTrack.h
CommitLineData
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>
19using namespace std;
20
21/**
22 * @class AliHLTGlobalBarrelTrack
23 * Representation of global HLT barrel tracks.
24 *
25 * @ingroup alihlt_global_components
26 */
27class 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