warning fixed
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackGTU.h
CommitLineData
52c19022 1#ifndef ALITRDTRACKGTU_H
2#define ALITRDTRACKGTU_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliTRDtrackGTU.h 27496 2008-07-22 08:35:45Z cblume $ */
7
8//---------------------------------------------------------------
9//
10// TRD track as calculated in the GTU (for L1 contribution)
11//
12//---------------------------------------------------------------
13
14#include "TClonesArray.h"
15
16#include "AliTRDtrackletGTU.h"
17#include "AliESDTrdTrack.h"
18
19class AliTRDtrackGTU : public TObject {
20 public:
21 AliTRDtrackGTU();
22 ~AliTRDtrackGTU();
23
24// ----- Track properties
25 Int_t GetPtInt() const { return fPt; }
26 Float_t GetPt() const { return (Float_t) fPt / 128.; }
27 Int_t GetPID() const { return fPID; }
28 Int_t GetSector() const { return fSector; }
29 Int_t GetStack() const { return fStack; }
30
31 AliESDTrdTrack* CreateTrdTrack() const;
32
33// ----- compositing tracklets
34 Int_t GetNTracklets() const;
35 Int_t GetTrackletMask() const { return fTrackletMask; }
36 Bool_t IsTrackletInLayer(Int_t layer) const;
37 Int_t GetTrackletIndex(Int_t layer) { return IsTrackletInLayer(layer) ? ((AliTRDtrackletGTU*) (*fTracklets)[layer])->GetIndex() : -1; }
38 AliTRDtrackletGTU* GetTracklet(Int_t layer);
39
40// ----- Quantities used internally for the calculation
41 Float_t GetA() const { return fA; }
42 Float_t GetB() const { return fB; }
43 Float_t GetC() const { return fC; }
44 Int_t GetZChannel() const { return fZChannel; }
45 Int_t GetZSubChannel();
46 Int_t GetRefLayerIdx() const { return fRefLayerIdx; }
47 Int_t GetYapprox();
48
49
50 void AddTracklet(AliTRDtrackletGTU *tracklet, Int_t layer);
51
52 void SetStack(Int_t stack) { fStack = stack; }
53 void SetSector(Int_t sector) { fSector = sector; }
54 void SetPtInt(Int_t pt) { fPt = pt; }
55 void SetPID(Int_t pid) { fPID = pid; }
56
57 void SetZChannel(Int_t zch) { fZChannel = zch; }
58 void SetRefLayerIdx(Int_t reflayer) { fRefLayerIdx = reflayer; }
59// void SetInnerIntPoint(Float_t *x);
60// void SetOuterIntPoint(Float_t *x);
61 void SetFitParams(Float_t a, Float_t b, Float_t c);
62
63 protected:
64
65 Int_t fStack;
66 Int_t fSector;
67
68 Int_t fPt; // pt in integer representation
69 Int_t fPID;
70
71 TClonesArray *fTracklets;
72 Int_t fTrackletMask;
73 Int_t fNTracklets;
74
75 Int_t fRefLayerIdx;
76 Int_t fZChannel;
77 Int_t fZSubChannel;
78
79 Float_t fA;
80 Float_t fB;
81 Float_t fC;
82
83 private:
84 AliTRDtrackGTU(const AliTRDtrackGTU &rhs); // not implemented
85 AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs); // not implemented
86
87 ClassDef(AliTRDtrackGTU, 1);
88};
89
90#endif