]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/util/AliHLTGlobalBarrelTrack.h
Preparing the RootSchemaEvolutionComponent to run at 2kHz
[u/mrichter/AliRoot.git] / HLT / BASE / util / AliHLTGlobalBarrelTrack.h
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);
34   /** copy constructor */
35   AliHLTGlobalBarrelTrack(const AliHLTExternalTrackParam& p);
36   /** copy constructor */
37   AliHLTGlobalBarrelTrack(const AliExternalTrackParam& p);
38
39   /** assignment operator */
40   template <class c>
41   AliHLTGlobalBarrelTrack& operator=(const c& t);
42   /** destructor */
43   ~AliHLTGlobalBarrelTrack();
44
45   /// inherited from AliKalmanTrack
46   Int_t GetClusterIndex(Int_t i) const { 
47     return (i<(int)fPoints.size()) ?fPoints[i] :0;
48   } 
49
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
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;}
61   /// return Track ID
62   Int_t TrackID() const {return fTrackID;}
63   /// return Track ID, inherited for AliExternalTrackParam
64   Int_t GetID() const {return fTrackID;}
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
75   static int ConvertTrackDataArray(const AliHLTTracksData* pTracks, unsigned sizeInByte, vector<AliHLTGlobalBarrelTrack> &tgtArray);
76
77   /// inherited from AliKalmanTrack, dummy implementation
78   Double_t GetPredictedChi2(const AliCluster*) const {return 0.0;}
79
80   /// inherited from AliKalmanTrack, dummy implementation
81   Bool_t PropagateTo(Double_t, Double_t, Double_t) {return kFALSE;}
82
83   /// inherited from AliKalmanTrack, dummy implementation
84   Bool_t Update(const AliCluster*, Double_t, Int_t) {return kFALSE;}
85
86   /// Inherited from TObject, prints the track parameters
87   virtual void Print(Option_t* option = "") const;
88
89   Double_t GetPathLengthTo( Double_t x, Double_t b ) const;
90
91  protected:
92
93  private:
94
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
103   /// track Id for identification during the reconstruction
104   Int_t   fTrackID; //
105
106   ClassDef(AliHLTGlobalBarrelTrack, 0)
107 };
108 #endif