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 *
7 //*************************************************************************
9 #ifndef ALIHLTTPCCAMCPOINT_H
10 #define ALIHLTTPCCAMCPOINT_H
12 #include "AliHLTTPCCADef.h"
16 * @class AliHLTTPCCAMCPoint
17 * store MC point information for AliHLTTPCCAPerformance
19 class AliHLTTPCCAMCPoint
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; }
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; }
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() );
51 static bool CompareSlice( const AliHLTTPCCAMCPoint &p, int slice ) {
52 return ( p.ISlice() < slice );
55 static bool CompareX( const AliHLTTPCCAMCPoint &p, float X ) {
56 return ( p.Sx() < X );
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
68 int fISlice; //* slice number
69 int fTrackID; //* mc track number
72 #endif //ALIHLTTPCCAMCPOINT_H