]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCAMCTrack.h
bug fix: reconstruction crash when the output buffer size exceed
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAMCTrack.h
1 //-*- Mode: C++ -*-
2 // ************************************************************************
3 // This file is property of and copyright by the ALICE HLT Project        *
4 // ALICE Experiment at CERN, All rights reserved.                         *
5 // See cxx source for full Copyright notice                               *
6 //                                                                        *
7 //*************************************************************************
8
9 #ifndef ALIHLTTPCCAMCTRACK_H
10 #define ALIHLTTPCCAMCTRACK_H
11
12 #include "AliHLTTPCCADef.h"
13
14 class TParticle;
15
16
17 /**
18  * @class AliHLTTPCCAMCTrack
19  * store MC track information for AliHLTTPCCAPerformance
20  */
21 class AliHLTTPCCAMCTrack
22 {
23   public:
24
25     AliHLTTPCCAMCTrack();
26     AliHLTTPCCAMCTrack( const TParticle *part );
27
28     void SetTPCPar( float X, float Y, float Z, float Px, float Py, float Pz );
29
30     int     PDG()            const { return fPDG;}
31     const double *Par()            const { return fPar; }
32     const double *TPCPar()         const { return fTPCPar; }
33     double  P()              const { return fP; }
34     double  Pt()             const { return fPt; }
35
36     int     NHits()          const { return fNHits;}
37     int     NMCPoints()      const { return fNMCPoints;}
38     int     FirstMCPointID() const { return fFirstMCPointID;}
39     int     NReconstructed() const { return fNReconstructed; }
40     int     Set()            const { return fSet; }
41     int     NTurns()         const { return fNTurns; }
42
43     void SetP ( float v )          { fP = v; }
44     void SetPt( float v )          { fPt = v; }
45     void SetPDG( int v )         { fPDG = v; }
46     void SetPar( int i, double v )             { fPar[i] = v; }
47     void SetTPCPar( int i, double v )          { fTPCPar[i] = v; }
48     void SetNHits( int v )         { fNHits = v; }
49     void SetNMCPoints( int v )      { fNMCPoints = v; }
50     void SetFirstMCPointID( int v ) { fFirstMCPointID = v;}
51     void SetNReconstructed( int v ) { fNReconstructed = v; }
52     void SetSet( int v )           { fSet = v; }
53     void SetNTurns( int v )        { fNTurns = v; }
54
55   protected:
56
57     int    fPDG;            //* particle pdg code
58     double fPar[7];         //* x,y,z,ex,ey,ez,q/p
59     double fTPCPar[7];      //* x,y,z,ex,ey,ez,q/p at TPC entrance (x=y=0 means no information)
60     double fP, fPt;         //* momentum and transverse momentum
61     int    fNHits;          //* N TPC clusters
62     int    fNMCPoints;      //* N MC points
63     int    fFirstMCPointID; //* id of the first MC point in the points array
64     int    fNReconstructed; //* how many times is reconstructed
65     int    fSet;            //* set of tracks 0-OutSet, 1-ExtraSet, 2-RefSet
66     int    fNTurns;         //* N of turns in the current sector
67
68 };
69
70 #endif //AliHLTTPCCAMCTrack