1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 ///////////////////////////////////////////////////////////////////////////////
19 // TRD chamber local track (LTU, tracklet) //
22 ///////////////////////////////////////////////////////////////////////////////
26 #include "AliTRDltuTracklet.h"
28 ClassImp(AliTRDltuTracklet)
30 //_____________________________________________________________________________
31 AliTRDltuTracklet::AliTRDltuTracklet(Int_t det,
42 // AliTRDltuTracklet constructor
57 //_____________________________________________________________________________
58 AliTRDltuTracklet::~AliTRDltuTracklet()
66 //_____________________________________________________________________________
67 Float_t AliTRDltuTracklet::GetPt(Float_t field) const
69 // transverse momentum calculation
70 // curvature R = (fX*fX + fY*fY) / (2 * sin(alpha))
71 // alpha = angle deviation from "infinite momentum"
73 // consistent with AliTRDmcmTracklet::GetPt(...)
75 Float_t infSlope = TMath::ATan(fY/fX)/TMath::Pi()*180.0;
76 Float_t alpha = fSlope - infSlope;
77 Float_t r = TMath::Sqrt(fX*fX + fY*fY)/(2.0*TMath::Sin(alpha/180.0*TMath::Pi()));
79 Float_t pt = 0.3 * field * 0.01 * r;
85 //_____________________________________________________________________________
86 Int_t AliTRDltuTracklet::Compare(const TObject * o) const
89 // compare two LTU tracklets according to the intercept point Y1
92 AliTRDltuTracklet *ltutrk = (AliTRDltuTracklet*)o;
94 if (fRow != ltutrk->fRow) return +1;
95 if (fDetector != ltutrk->fDetector) return +1;
97 if (fY < ltutrk->fY) return -1;
98 if (fY == ltutrk->fY) return 0;
104 //_____________________________________________________________________________
105 Float_t AliTRDltuTracklet::GetYproj(Float_t xpl) const
108 // y-projection (bending plane) onto the median plane
113 yproj = fY + TMath::Tan(fSlope/180.0*TMath::Pi()) * (xpl - fX);
119 //_____________________________________________________________________________
120 Float_t AliTRDltuTracklet::GetZproj(Float_t xpl) const
123 // z-projection (using pad row center) onto the median plane
128 zproj = fRowz * xpl / fX;