]>
Commit | Line | Data |
---|---|---|
0ee00e25 | 1 | #ifndef ALITRDMCMTRACKLET_H |
2 | #define ALITRDMCMTRACKLET_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /////////////////////////////////////////////////////// | |
e3b2b5e5 | 7 | // // |
8 | // Tracklet object (MCM/LTU) // | |
9 | // // | |
0ee00e25 | 10 | /////////////////////////////////////////////////////// |
11 | ||
12 | #include <TObject.h> | |
13 | ||
0ee00e25 | 14 | class TGraph; |
15 | ||
16 | class AliTRDgeometry; | |
17 | ||
18 | class AliTRDmcmTracklet : public TObject { | |
19 | ||
20 | public: | |
21 | ||
e3b2b5e5 | 22 | enum { kNclsPads = 3, kNtimeBins = 30, kNdict = 3 }; |
23 | ||
0ee00e25 | 24 | AliTRDmcmTracklet(); |
25 | AliTRDmcmTracklet(Int_t det, Int_t row, Int_t n); | |
26 | virtual ~AliTRDmcmTracklet(); | |
e3b2b5e5 | 27 | AliTRDmcmTracklet &operator=(const AliTRDmcmTracklet &t); |
28 | virtual void Copy(TObject &t) const; | |
29 | ||
3fcb9908 | 30 | void Reset(); |
31 | ||
e3b2b5e5 | 32 | void AddCluster(Int_t icol, Int_t itb, Float_t *adc, Int_t *track); |
33 | void MakeTrackletGraph(AliTRDgeometry *geo = 0, Float_t field = 0); | |
34 | void MakeClusAmpGraph(); | |
35 | void CookLabel(Float_t frac); | |
36 | ||
3fcb9908 | 37 | void SetRow(Int_t row) { fRow = row; }; |
38 | void SetDetector(Int_t det) { fDetector = det; }; | |
39 | void SetN(Int_t n) { fN = n; }; | |
40 | ||
e3b2b5e5 | 41 | Int_t GetNclusters() const { return fNclusters; }; |
42 | Int_t GetDetector() const { return fDetector; }; | |
43 | Int_t GetRow() const { return fRow; }; | |
44 | Float_t GetOffset() const { return fOffset; }; | |
45 | Float_t GetSlope() const { return fSlope; }; | |
46 | Float_t GetTime0() const { return fTime0; }; | |
47 | Float_t GetRowz() const { return fRowz; }; | |
48 | Float_t GetPt() const { return fPt; }; | |
49 | Float_t GetdQdl() const { return fdQdl; }; | |
50 | Int_t GetLabel() const { return fTrackLabel; }; | |
51 | Int_t GetNumber() const { return fN; }; | |
52 | Float_t GetOmegaTau(Float_t vdrift, Float_t field) const; | |
53 | Float_t GetClusY(Float_t *adc, Int_t pla) const; | |
54 | TGraph *GetTrackletGraph() const { return fGPos; }; | |
55 | TGraph *GetClusAmpGraph() const { return fGAmp; }; | |
56 | Float_t *GetClusterADC(Int_t icl) { return fADC[icl]; }; | |
57 | Int_t GetClusterTime(Int_t icl) const { return fTime[icl]; }; | |
58 | Int_t GetClusterCol(Int_t icl) const { return fCol[icl]; }; | |
0ee00e25 | 59 | |
60 | protected: | |
61 | ||
62 | Int_t fDetector; // TRD detector number (0 ... 539) | |
63 | Int_t fRow; // Row number in the detector | |
64 | Float_t fADC[kNtimeBins][kNclsPads]; // Array of ADC values in a pad group | |
65 | Int_t fTrack[kNtimeBins][kNdict]; //! Array of track dictionary values | |
66 | Int_t fTrackLabel; // Cooked track label | |
67 | Int_t fTime[kNtimeBins]; // Array of time bin values | |
68 | Int_t fCol[kNtimeBins]; // Array of pad column values | |
69 | Int_t fNclusters; // Number of clusters in the tracklet | |
70 | ||
71 | Int_t fN; // Tracklet number | |
72 | ||
73 | TGraph *fGPos; //! Positions | |
74 | TGraph *fGAmp; //! Amplitudes | |
75 | ||
76 | Float_t fTime0; // X position at the entrance window | |
77 | Float_t fRowz; // Z position of the row center | |
78 | Float_t fSlope; // Slope [deg] | |
79 | Float_t fOffset; // Offset | |
80 | Float_t fPt; // Transverse momentum | |
81 | Float_t fdQdl; // Charge per unit length | |
82 | ||
e3b2b5e5 | 83 | ClassDef(AliTRDmcmTracklet,2) // Track segment for the TRD (Tracklet) |
0ee00e25 | 84 | |
85 | }; | |
86 | ||
87 | #endif |