]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDtrackV1.h
added protection
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackV1.h
CommitLineData
d9950a5a 1#ifndef ALITRDTRACKV1_H
2#define ALITRDTRACKV1_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
0906e73e 8///////////////////////////////////////////////////////////////////////////////
9// //
10// Represents a reconstructed TRD track //
11// //
12///////////////////////////////////////////////////////////////////////////////
d9950a5a 13
14#ifndef ALITRDTRACK_H
15#include "AliTRDtrack.h"
16#endif
17
18class AliTRDseedV1;
19class AliESDtrack;
d9950a5a 20
21class AliTRDtrackV1 : public AliTRDtrack
22{
0906e73e 23
24 public:
d9950a5a 25 AliTRDtrackV1();
26 AliTRDtrackV1(AliTRDseedV1 *trklts, const Double_t p[5], const Double_t cov[15], Double_t x, Double_t alpha);
27 AliTRDtrackV1(const AliESDtrack &ref);
0906e73e 28 AliTRDtrackV1(const AliTRDtrackV1 &ref);
29 AliTRDtrackV1 &operator=(const AliTRDtrackV1 &ref) { *(new(this) AliTRDtrackV1(ref));
30 return *this; }
d9950a5a 31
0906e73e 32 Bool_t CookPID();
33 Float_t GetMomentum(Int_t plane) const;
34 inline Int_t GetNumberOfClusters() const;
35 Double_t GetPredictedChi2(const AliTRDseedV1 *tracklet) const;
36 Double_t GetPredictedChi2(const AliCluster* /*c*/) const { return 0.0; }
d9950a5a 37 const AliTRDseedV1* GetTracklet(Int_t plane) const {return plane >=0 && plane <6 ? &fTracklet[plane] : 0x0;}
0906e73e 38 Int_t* GetTrackletIndexes() {return &fTrackletIndex[0];}
39
40 Bool_t IsOwner() const;
41
42 void SetOwner(Bool_t own = kTRUE);
43 void SetTracklet(AliTRDseedV1 *trklt, Int_t plane, Int_t index);
44 Bool_t Update(AliTRDseedV1 *tracklet, Double_t chi2);
45 Bool_t Update(const AliTRDcluster*, Double_t, Int_t, Double_t) { return kFALSE; };
46 Bool_t Update(const AliCluster *, Double_t, Int_t) { return kFALSE; };
47 void UpdateESDtrack(AliESDtrack *t);
d9950a5a 48
0906e73e 49 protected:
d9950a5a 50 AliTRDrecoParam *fRecoParam; // reconstruction parameters
0906e73e 51
d9950a5a 52 ClassDef(AliTRDtrackV1, 1) // development TRD track
0906e73e 53
d9950a5a 54};
55
56//___________________________________________________________
57inline Int_t AliTRDtrackV1::GetNumberOfClusters() const
58{
59/* Int_t ntrklts = GetNumberOfTracklets();
60 printf("AliTRDtrackV1::GetNumberOfClusters() %d\n", ntrklts);
61 return ntrklts;*/
62 Int_t ncls = 0;
63 for(int ip=0; ip<6; ip++)
64 if(fTrackletIndex[ip] >= 0) ncls+=fTracklet[ip].GetN();
65
66 return ncls;
67}
68
69// //___________________________________________________________
70// inline Int_t AliTRDtrackV1::GetNumberOfTracklets() const
71// {
72// Int_t ntrklt = 0;
73// for(int ip=0; ip<6; ip++) if(fTrackletIndex[ip] >= 0) ntrklt++;
74// return ntrklt;
75// }
76
77#endif
78
79