]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDmcmTracklet.h
Add histos from all analyses to the output
[u/mrichter/AliRoot.git] / TRD / AliTRDmcmTracklet.h
CommitLineData
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 14class TGraph;
15
16class AliTRDgeometry;
17
18class 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);
6d50f529 26 AliTRDmcmTracklet(const AliTRDmcmTracklet &t);
27 virtual ~AliTRDmcmTracklet();
e3b2b5e5 28 AliTRDmcmTracklet &operator=(const AliTRDmcmTracklet &t);
6d50f529 29 virtual void Copy(TObject &t) const;
30
31 void Reset();
32
33 void AddCluster(Int_t icol, Int_t itb, Float_t *adc, Int_t *track);
34 void MakeTrackletGraph(AliTRDgeometry *geo = 0, Float_t field = 0);
35 void MakeClusAmpGraph();
36 void CookLabel(Float_t frac);
37
38 void SetRow(Int_t row) { fRow = row; };
39 void SetDetector(Int_t det) { fDetector = det; };
40 void SetN(Int_t n) { fN = n; };
41
42 Int_t GetNclusters() const { return fNclusters; };
43 Int_t GetDetector() const { return fDetector; };
44 Int_t GetRow() const { return fRow; };
45 Float_t GetOffset() const { return fOffset; };
46 Float_t GetSlope() const { return fSlope; };
47 Float_t GetTime0() const { return fTime0; };
48 Float_t GetRowz() const { return fRowz; };
49 Float_t GetPt() const { return fPt; };
50 Float_t GetdQdl() const { return fdQdl; };
51 Int_t GetLabel() const { return fTrackLabel; };
52 Int_t GetNumber() const { return fN; };
e3b2b5e5 53 Float_t GetOmegaTau(Float_t vdrift, Float_t field) const;
54 Float_t GetClusY(Float_t *adc, Int_t pla) const;
6d50f529 55 TGraph *GetTrackletGraph() const { return fGPos; };
56 TGraph *GetClusAmpGraph() const { return fGAmp; };
57 Float_t *GetClusterADC(Int_t icl) { return fADC[icl]; };
58 Int_t GetClusterTime(Int_t icl) const { return fTime[icl]; };
59 Int_t GetClusterCol(Int_t icl) const { return fCol[icl]; };
0ee00e25 60
61 protected:
f162af62 62 // Geometry
63 AliTRDgeometry *fGeo; //! The TRD geometry
0ee00e25 64
65 Int_t fDetector; // TRD detector number (0 ... 539)
66 Int_t fRow; // Row number in the detector
67 Float_t fADC[kNtimeBins][kNclsPads]; // Array of ADC values in a pad group
68 Int_t fTrack[kNtimeBins][kNdict]; //! Array of track dictionary values
69 Int_t fTrackLabel; // Cooked track label
70 Int_t fTime[kNtimeBins]; // Array of time bin values
71 Int_t fCol[kNtimeBins]; // Array of pad column values
72 Int_t fNclusters; // Number of clusters in the tracklet
73
6d50f529 74 Int_t fN; // Tracklet number
0ee00e25 75
76 TGraph *fGPos; //! Positions
77 TGraph *fGAmp; //! Amplitudes
78
6d50f529 79 Float_t fTime0; // X position at the entrance window
80 Float_t fRowz; // Z position of the row center
81 Float_t fSlope; // Slope [deg]
82 Float_t fOffset; // Offset
83 Float_t fPt; // Transverse momentum
84 Float_t fdQdl; // Charge per unit length
0ee00e25 85
f162af62 86 ClassDef(AliTRDmcmTracklet,3) // Track segment for the TRD (Tracklet)
0ee00e25 87
88};
89
90#endif