StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AliHLTTPCCAGBTrack.h
1 //-*- Mode: C++ -*-
2 // $Id: AliHLTTPCCAGBTrack.h,v 1.1 2016/02/05 23:27:27 fisyak Exp $
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 ALIHLTTPCCAGBTRACK_H
11 #define ALIHLTTPCCAGBTRACK_H
12 
13 
14 #include "AliHLTTPCCADef.h"
15 #include "AliHLTTPCCATrackParam.h"
16 #if 0
17 namespace std
18 {
19  template<typename T> struct char_traits;
20  template<typename _CharT, typename _Traits> class basic_istream;
21  typedef basic_istream<char, char_traits<char> > istream;
22  template<typename _CharT, typename _Traits> class basic_ostream;
23  typedef basic_ostream<char, char_traits<char> > ostream;
24 } // namespace std
25 #endif
26 
32 {
33  friend std::istream &operator>>( std::istream &, AliHLTTPCCAGBTrack & );
34  friend std::ostream &operator<<( std::ostream &, const AliHLTTPCCAGBTrack & );
35  public:
36 
37  AliHLTTPCCAGBTrack(): fFirstHitRef( 0 ), fNHits( 0 ), fInnerParam(), fOuterParam(), fAlpha( 0 ), fNDeDx(0), fDeDx( 0 ) { ; }
38 
39  int NHits() const { return fNHits; }
40  int FirstHitRef() const { return fFirstHitRef; }
41  const AliHLTTPCCATrackParam &Param() const { return InnerParam(); }
42  const AliHLTTPCCATrackParam &InnerParam() const { return fInnerParam; }
43  const AliHLTTPCCATrackParam &OuterParam() const { return fOuterParam; }
44  float Alpha() const { return fAlpha; }
45  int NDeDx() const { return fNDeDx; }
46  float DeDx() const { return fDeDx; }
47 
48 
49  void SetNHits( int v ) { fNHits = v; }
50  void SetFirstHitRef( int v ) { fFirstHitRef = v; }
51  void SetInnerParam( const AliHLTTPCCATrackParam &v ) { fInnerParam = v; }
52  void SetOuterParam( const AliHLTTPCCATrackParam &v ) { fOuterParam = v; }
53  void SetAlpha( float v ) { fAlpha = v; }
54  void SetNDeDx( int n) { fNDeDx = n; }
55  void SetDeDx( float v ) { fDeDx = v; }
56 
57 
58  static bool ComparePNClusters( const AliHLTTPCCAGBTrack *a, const AliHLTTPCCAGBTrack *b ) {
59  return ( a->fNHits > b->fNHits );
60  }
61 
62  protected:
63 
64  int fFirstHitRef; // index of the first hit reference in track->hit reference array
65  int fNHits; // number of track hits
66  AliHLTTPCCATrackParam fInnerParam; // fitted track parameters
67  AliHLTTPCCATrackParam fOuterParam;
68  float fAlpha; //* Alpha angle of the parametrerisation
69  int fNDeDx;
70  float fDeDx; //* DE/DX
71 };
72 
73 std::istream &operator>>( std::istream &, AliHLTTPCCAGBTrack & );
74 std::ostream &operator<<( std::ostream &, const AliHLTTPCCAGBTrack & );
75 
76 #endif