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 */
6 ///////////////////////////////////////////////////////
7 // Tracklet object (MCM/TRIGGER) //
8 ///////////////////////////////////////////////////////
12 const Int_t kNclsPads = 3;
13 const Int_t kNtimeBins = 30;
14 const Int_t kNdict = 3;
20 class AliTRDmcmTracklet : public TObject {
25 AliTRDmcmTracklet(Int_t det, Int_t row, Int_t n);
26 virtual ~AliTRDmcmTracklet();
28 void AddCluster(Int_t icol, Int_t itb, Float_t *adc, Int_t *track) {
29 if (fNclusters >= kNtimeBins) return;
30 for (Int_t icl = 0; icl < kNclsPads; icl++) {
31 //fADC[fNclusters][icl] = (Int_t)adc[icl];
32 fADC[fNclusters][icl] = adc[icl];
34 fTrack[fNclusters][0] = track[0];
35 fTrack[fNclusters][1] = track[1];
36 fTrack[fNclusters][2] = track[2];
37 fTime[fNclusters] = itb;
38 fCol[fNclusters] = icol;
42 Float_t *GetClusterADC(Int_t icl) { return fADC[icl]; };
43 Int_t GetClusterTime(Int_t icl) { return fTime[icl]; };
44 Int_t GetClusterCol(Int_t icl) { return fCol[icl]; };
46 TGraph *GetTrackletGraph() { return fGPos; };
47 TGraph *GetClusAmpGraph() { return fGAmp; };
49 virtual void MakeTrackletGraph(AliTRDgeometry *geo = 0, Float_t field = 0);
50 virtual void MakeClusAmpGraph();
52 Float_t GetClusY(Float_t *adc, Int_t pla);
54 Int_t GetNumber() { return fN; };
56 void CookLabel(Float_t frac);
57 Int_t GetLabel() { return fTrackLabel; };
59 Int_t GetNclusters() { return fNclusters; };
60 Int_t GetDetector() { return fDetector; };
61 Int_t GetRow() { return fRow; };
62 Float_t GetOffset() { return fOffset; };
63 Float_t GetSlope() { return fSlope; };
64 Float_t GetTime0() { return fTime0; };
65 Float_t GetRowz() { return fRowz; };
66 Float_t GetPt() { return fPt; };
67 Float_t GetdQdl() { return fdQdl; };
69 Float_t GetOmegaTau(Float_t vdrift, Float_t field);
73 Int_t fDetector; // TRD detector number (0 ... 539)
74 Int_t fRow; // Row number in the detector
75 Float_t fADC[kNtimeBins][kNclsPads]; // Array of ADC values in a pad group
76 Int_t fTrack[kNtimeBins][kNdict]; //! Array of track dictionary values
77 Int_t fTrackLabel; // Cooked track label
78 Int_t fTime[kNtimeBins]; // Array of time bin values
79 Int_t fCol[kNtimeBins]; // Array of pad column values
80 Int_t fNclusters; // Number of clusters in the tracklet
82 Int_t fN; // Tracklet number
84 TGraph *fGPos; //! Positions
85 TGraph *fGAmp; //! Amplitudes
87 Float_t fTime0; // X position at the entrance window
88 Float_t fRowz; // Z position of the row center
89 Float_t fSlope; // Slope [deg]
90 Float_t fOffset; // Offset
91 Float_t fPt; // Transverse momentum
92 Float_t fdQdl; // Charge per unit length
94 ClassDef(AliTRDmcmTracklet,1) // Track segment for the TRD (Tracklet)