//-*- Mode: C++ -*- // $Id: AliHLTTPCCAGBTrack.h,v 1.2 2010/08/02 16:45:28 ikulakov Exp $ // ************************************************************************ // This file is property of and copyright by the ALICE HLT Project * // ALICE Experiment at CERN, All rights reserved. * // See cxx source for full Copyright notice * // * //************************************************************************* #ifndef ALIHLTTPCCAGBTRACK_H #define ALIHLTTPCCAGBTRACK_H #include "AliHLTTPCCADef.h" #include "AliHLTTPCCATrackParam.h" namespace std { template struct char_traits; template class basic_istream; typedef basic_istream > istream; template class basic_ostream; typedef basic_ostream > ostream; } // namespace std /** * @class AliHLTTPCCAGBTrack * * */ class AliHLTTPCCAGBTrack { friend std::istream &operator>>( std::istream &, AliHLTTPCCAGBTrack & ); friend std::ostream &operator<<( std::ostream &, const AliHLTTPCCAGBTrack & ); public: AliHLTTPCCAGBTrack(): fFirstHitRef( 0 ), fNHits( 0 ), fInnerParam(), fOuterParam(), fDeDx( 0 ) {} int NHits() const { return fNHits; } int FirstHitRef() const { return fFirstHitRef; } const AliHLTTPCCATrackParam &Param() const { return InnerParam(); } const AliHLTTPCCATrackParam &InnerParam() const { return fInnerParam; } const AliHLTTPCCATrackParam &OuterParam() const { return fOuterParam; } float DeDx() const { return fDeDx; } void SetNHits( int v ) { fNHits = v; } void SetFirstHitRef( int v ) { fFirstHitRef = v; } void SetInnerParam( const AliHLTTPCCATrackParam &v ) { fInnerParam = v; } void SetOuterParam( const AliHLTTPCCATrackParam &v ) { fOuterParam = v; } void SetDeDx( float v ) { fDeDx = v; } static bool ComparePNClusters( const AliHLTTPCCAGBTrack *a, const AliHLTTPCCAGBTrack *b ) { return ( a->fNHits > b->fNHits ); } protected: int fFirstHitRef; // index of the first hit reference in track->hit reference array int fNHits; // number of track hits AliHLTTPCCATrackParam fInnerParam; // fitted track parameters AliHLTTPCCATrackParam fOuterParam; float fDeDx; //* DE/DX }; std::istream &operator>>( std::istream &, AliHLTTPCCAGBTrack & ); std::ostream &operator<<( std::ostream &, const AliHLTTPCCAGBTrack & ); #endif