]>
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 | ||
30 | void AddCluster(Int_t icol, Int_t itb, Float_t *adc, Int_t *track); | |
31 | void MakeTrackletGraph(AliTRDgeometry *geo = 0, Float_t field = 0); | |
32 | void MakeClusAmpGraph(); | |
33 | void CookLabel(Float_t frac); | |
34 | ||
35 | Int_t GetNclusters() const { return fNclusters; }; | |
36 | Int_t GetDetector() const { return fDetector; }; | |
37 | Int_t GetRow() const { return fRow; }; | |
38 | Float_t GetOffset() const { return fOffset; }; | |
39 | Float_t GetSlope() const { return fSlope; }; | |
40 | Float_t GetTime0() const { return fTime0; }; | |
41 | Float_t GetRowz() const { return fRowz; }; | |
42 | Float_t GetPt() const { return fPt; }; | |
43 | Float_t GetdQdl() const { return fdQdl; }; | |
44 | Int_t GetLabel() const { return fTrackLabel; }; | |
45 | Int_t GetNumber() const { return fN; }; | |
46 | Float_t GetOmegaTau(Float_t vdrift, Float_t field) const; | |
47 | Float_t GetClusY(Float_t *adc, Int_t pla) const; | |
48 | TGraph *GetTrackletGraph() const { return fGPos; }; | |
49 | TGraph *GetClusAmpGraph() const { return fGAmp; }; | |
50 | Float_t *GetClusterADC(Int_t icl) { return fADC[icl]; }; | |
51 | Int_t GetClusterTime(Int_t icl) const { return fTime[icl]; }; | |
52 | Int_t GetClusterCol(Int_t icl) const { return fCol[icl]; }; | |
0ee00e25 | 53 | |
54 | protected: | |
55 | ||
56 | Int_t fDetector; // TRD detector number (0 ... 539) | |
57 | Int_t fRow; // Row number in the detector | |
58 | Float_t fADC[kNtimeBins][kNclsPads]; // Array of ADC values in a pad group | |
59 | Int_t fTrack[kNtimeBins][kNdict]; //! Array of track dictionary values | |
60 | Int_t fTrackLabel; // Cooked track label | |
61 | Int_t fTime[kNtimeBins]; // Array of time bin values | |
62 | Int_t fCol[kNtimeBins]; // Array of pad column values | |
63 | Int_t fNclusters; // Number of clusters in the tracklet | |
64 | ||
65 | Int_t fN; // Tracklet number | |
66 | ||
67 | TGraph *fGPos; //! Positions | |
68 | TGraph *fGAmp; //! Amplitudes | |
69 | ||
70 | Float_t fTime0; // X position at the entrance window | |
71 | Float_t fRowz; // Z position of the row center | |
72 | Float_t fSlope; // Slope [deg] | |
73 | Float_t fOffset; // Offset | |
74 | Float_t fPt; // Transverse momentum | |
75 | Float_t fdQdl; // Charge per unit length | |
76 | ||
e3b2b5e5 | 77 | ClassDef(AliTRDmcmTracklet,2) // Track segment for the TRD (Tracklet) |
0ee00e25 | 78 | |
79 | }; | |
80 | ||
81 | #endif |