]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCAMCPoint.h
Qmax for merged clusters fixed
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAMCPoint.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 ALIHLTTPCCAMCPOINT_H
10 #define ALIHLTTPCCAMCPOINT_H
11
12 #include "AliHLTTPCCADef.h"
13
14
15 /**
16  * @class AliHLTTPCCAMCPoint
17  * store MC point information for AliHLTTPCCAPerformance
18  */
19 class AliHLTTPCCAMCPoint
20 {
21   public:
22
23     AliHLTTPCCAMCPoint();
24
25     float  X()           const { return fX; }
26     float  Y()           const { return fY; }
27     float  Z()           const { return fZ; }
28     float  Sx()          const { return fSx; }
29     float  Sy()          const { return fSy; }
30     float  Sz()          const { return fSz; }
31     float  Time()        const { return fTime; }
32     int    ISlice()      const { return fISlice; }
33     int    TrackID()     const { return fTrackID; }
34
35     void SetX( float v )           { fX = v; }
36     void SetY( float v )           { fY = v; }
37     void SetZ( float v )           { fZ = v; }
38     void SetSx( float v )          { fSx = v; }
39     void SetSy( float v )          { fSy = v; }
40     void SetSz( float v )          { fSz = v; }
41     void SetTime( float v )        { fTime = v; }
42     void SetISlice( int v )      { fISlice = v; }
43     void SetTrackID( int v )     { fTrackID = v; }
44
45     static bool Compare( const AliHLTTPCCAMCPoint &p1, const AliHLTTPCCAMCPoint &p2 ) {
46       if ( p1.fTrackID != p2.fTrackID ) return ( p1.fTrackID < p2.fTrackID );
47       if ( p1.fISlice != p2.fISlice ) return ( p1.fISlice < p2.fISlice );
48       return ( p1.Sx() < p2.Sx() );
49     }
50
51     static bool CompareSlice( const AliHLTTPCCAMCPoint &p, int slice ) {
52       return ( p.ISlice() < slice );
53     }
54
55     static bool CompareX( const AliHLTTPCCAMCPoint &p, float X ) {
56       return ( p.Sx() < X );
57     }
58
59   protected:
60
61     float fX;         //* global X position
62     float fY;         //* global Y position
63     float fZ;         //* global Z position
64     float fSx;        //* slice X position
65     float fSy;        //* slice Y position
66     float fSz;        //* slice Z position
67     float fTime;      //* time
68     int   fISlice;    //* slice number
69     int   fTrackID;   //* mc track number
70 };
71
72 #endif //ALIHLTTPCCAMCPOINT_H