405697483d402b2fdd763795d6768980d6caa9d5
[u/mrichter/AliRoot.git] / TPC / Upgrade / AliToyMCTrack.h
1 #ifndef TOYMCTRACK_H
2 #define TOYMCTRACK_H
3
4 #include <AliExternalTrackParam.h>
5 #include <TClonesArray.h>
6 #include <AliTPCclusterMI.h>
7 // #include <AliCluster.h>
8
9 class AliTrackPoint;
10
11 class AliToyMCTrack : public AliExternalTrackParam {
12  
13  public:
14   AliToyMCTrack();
15   AliToyMCTrack(Double_t x, Double_t alpha, 
16              const Double_t param[5], 
17              const Double_t covar[15]);
18   AliToyMCTrack(Double_t xyz[3],Double_t pxpypz[3],
19              Double_t cv[21],Short_t sign);
20   AliToyMCTrack(const AliExternalTrackParam &param);
21   AliToyMCTrack(const AliToyMCTrack &track);
22   AliToyMCTrack& operator=(const AliToyMCTrack &track);
23   virtual ~AliToyMCTrack() {}
24   
25   Int_t GetNumberOfSpacePoints()     const { return fSpacePoints.GetEntriesFast(); }
26   Int_t GetNumberOfDistSpacePoints() const { return fDistortedSpacePoints.GetEntriesFast(); }
27   Int_t GetNumberOfITSPoints() const { return fITSPoints.GetEntriesFast(); }
28   Int_t GetNumberOfTRDPoints() const { return fTRDPoints.GetEntriesFast(); }
29
30   const AliTPCclusterMI* GetSpacePoint(Int_t spoint) const { return static_cast<AliTPCclusterMI*> (fSpacePoints.At(spoint)); }
31   const AliTPCclusterMI* GetDistortedSpacePoint(Int_t dspoint) const { return static_cast<AliTPCclusterMI*> (fDistortedSpacePoints.At(dspoint)); }
32   AliTPCclusterMI* AddSpacePoint(const AliTPCclusterMI &spoint);
33   AliTPCclusterMI* AddDistortedSpacePoint(const AliTPCclusterMI &dspoint);
34
35   const AliTrackPoint* GetITSPoint(Int_t spoint) const { return static_cast<AliTrackPoint*> (fITSPoints.At(spoint)); }
36   const AliTrackPoint* GetTRDPoint(Int_t spoint) const { return static_cast<AliTrackPoint*> (fTRDPoints.At(spoint)); }
37   
38   AliTrackPoint* AddITSPoint(const AliTrackPoint &spoint);
39   AliTrackPoint* AddTRDPoint(const AliTrackPoint &spoint);
40
41   
42  private:
43
44   TClonesArray fSpacePoints;
45   TClonesArray fDistortedSpacePoints;
46   TClonesArray fITSPoints;
47   TClonesArray fTRDPoints;
48  
49   ClassDef(AliToyMCTrack,2)
50 };
51
52 #endif