]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliTPCtrackerCA.h
bug fix: reconstruction crash when the output buffer size exceed
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliTPCtrackerCA.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 // ************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project        *
5 // ALICE Experiment at CERN, All rights reserved.                         *
6 // See cxx source for full Copyright notice                               *
7 //                                                                        *
8 //*************************************************************************
9
10 #ifndef ALITPCTRACKERCA_H
11 #define ALITPCTRACKERCA_H
12
13 #include "AliTracker.h"
14
15 class AliTPCParam;
16 class AliESD;
17 class TTree;
18 class AliTPCclusterMI;
19 class AliTPCtrack;
20
21 /**
22  * @class AliTPCtrackerCA
23  *
24  * Interface from HLT TPC tracker AliHLTTPCCAGBTracker to off-line
25  * The reconstruction algorithm is based on the Cellular Automaton method
26  *
27  */
28 class AliTPCtrackerCA : public AliTracker
29 {
30   public:
31     AliTPCtrackerCA();
32     AliTPCtrackerCA( const AliTPCParam *par );
33     AliTPCtrackerCA( const AliTPCtrackerCA & );
34     const AliTPCtrackerCA & operator=( const AliTPCtrackerCA& ) const;
35     virtual ~AliTPCtrackerCA();
36     //
37     int RefitInward ( AliESDEvent *event );
38     int PropagateBack( AliESDEvent *event );
39     //
40     int Clusters2Tracks ( AliESDEvent *esd );
41
42     int LoadClusters ( TTree * tree );
43     void   UnloadClusters() { return ; }
44     AliCluster * GetCluster( int index ) const;
45     bool DoHLTPerformance() const { return fDoHLTPerformance; }
46     bool DoHLTPerformanceClusters() const { return fDoHLTPerformanceClusters; }
47     //
48   protected:
49
50     const AliTPCParam *fkParam;  //* TPC parameters
51     AliTPCclusterMI *fClusters; //* array of clusters
52     unsigned int *fClusterSliceRow;  //* slice and row number for clusters
53     int fNClusters;           //* N clusters
54
55     bool fDoHLTPerformance; //* flag for call AliHLTTPCCAPerformance
56     bool fDoHLTPerformanceClusters; //* flag for call AliHLTTPCCAPerformance with cluster pulls (takes some time to load TPC MC points)
57     double fStatCPUTime; //* Total reconstruction time
58     double fStatRealTime; //* Total reconstruction time
59     int fStatNEvents; //* N of reconstructed events
60
61     ClassDef( AliTPCtrackerCA, 1 )
62 };
63
64
65 #endif //ALITPCTRACKERCA_H
66
67