]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDtrackV1.h
Copy arrays in assignment instead of the pointer; avoid double delete.
[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();
bb56afff 33 Bool_t CookLabel(Float_t wrong);
0906e73e 34 Float_t GetMomentum(Int_t plane) const;
0906e73e 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
87a7fa94 42 void MakeBackupTrack();
eb38ed55 43 void SetNumberOfClusters();
0906e73e 44 void SetOwner(Bool_t own = kTRUE);
45 void SetTracklet(AliTRDseedV1 *trklt, Int_t plane, Int_t index);
46 Bool_t Update(AliTRDseedV1 *tracklet, Double_t chi2);
eb38ed55 47 Bool_t Update(const AliTRDcluster *c, Double_t chi2, Int_t index, Double_t h01)
48 { return AliTRDtrack::Update(c,chi2,index,h01); };
49 Bool_t Update(const AliCluster *, Double_t, Int_t) { return kFALSE; };
0906e73e 50 void UpdateESDtrack(AliESDtrack *t);
d9950a5a 51
d9950a5a 52 ClassDef(AliTRDtrackV1, 1) // development TRD track
0906e73e 53
d9950a5a 54};
55
d9950a5a 56
57#endif
58
59