// ************************************************************************ // 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 ALIHLTTPCCATRACKLINEARISATIONARBB_H #define ALIHLTTPCCATRACKLINEARISATIONARBB_H #include "AliHLTTPCCATrackParamArBB.h" /** * @class AliHLTTPCCATrackLinearisation * * AliHLTTPCCATrackLinearisation class describes the parameters which are used * to linearise the transport equations for the track trajectory. * * The class is used during track (re)fit, when the AliHLTTPCTrackParam track is only * partially fitted, and there is some apriory knowledge about trajectory. * This apriory knowledge is used to linearise the transport equations. * * In case the track is fully fitted, the best linearisation point is * the track trajectory itself (AliHLTTPCCATrackLinearisation = AliHLTTPCTrackParam ). * */ class AliHLTTPCCATrackLinearisationArBB { public: AliHLTTPCCATrackLinearisationArBB() {} AliHLTTPCCATrackLinearisationArBB( AliHLTTPCCATrackParamArBB t ) { f32 MaxSin = .999f; f32 MinSin = -.999f; fSinPhi = arbb::min( MaxSin, arbb::max( MinSin, t.fP[2] )); fCosPhi = t.fSignCosPhi * arbb::sqrt( 1.f - t.fP[2] * t.fP[2] ); fDzDs = t.fP[3]; fQPt = t.fP[4]; } dense SinPhi() const { return fSinPhi; } dense CosPhi() const { return fCosPhi; } dense DzDs() const { return fDzDs; } dense QPt() const { return fQPt; } public: dense fSinPhi; // SinPhi dense fCosPhi; // CosPhi dense fDzDs; // DzDs dense fQPt; // QPt }; #endif