]>
Commit | Line | Data |
---|---|---|
e3b2b5e5 | 1 | #ifndef ALITRDMODULE_H |
2 | #define ALITRDMODULE_H | |
6d50f529 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
e3b2b5e5 | 5 | |
6d50f529 | 6 | /* $Id$ */ |
7 | ||
8 | /////////////////////////////////////////////////////////////////////////////// | |
9 | // // | |
10 | // TRD module class // | |
11 | // // | |
12 | /////////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | #include <TObject.h> | |
e3b2b5e5 | 15 | |
16 | class AliTRDgtuTrack; | |
17 | class AliTRDltuTracklet; | |
18 | class AliTRDtrigParam; | |
19 | ||
20 | class AliTRDmodule : public TObject { | |
21 | ||
22 | public: | |
23 | ||
24 | enum { kNplan = 6, kNmaxZchan = 100, kNsubZchan = 16, kNmaxTrk = 12 }; | |
25 | ||
6d50f529 | 26 | AliTRDmodule(); |
27 | AliTRDmodule(const AliTRDmodule &m); | |
e3b2b5e5 | 28 | AliTRDmodule(AliTRDtrigParam *trigp); |
6d50f529 | 29 | virtual ~AliTRDmodule(); |
30 | AliTRDmodule &operator=(const AliTRDmodule &m); | |
31 | ||
32 | virtual void Copy(TObject &m) const; | |
33 | ||
34 | Int_t GetNtracklets() const; | |
35 | Int_t GetNtracks() const; | |
36 | ||
37 | void Reset(); | |
38 | void AddTracklet(Int_t det, Int_t row, Float_t rowz, Float_t slope, Float_t offset | |
39 | , Float_t time, Int_t ncl, Int_t label, Float_t q); | |
40 | void AddTrack(); | |
41 | ||
42 | void ResetTracklets(); | |
43 | void ResetTracks(); | |
44 | void SortTracklets(); | |
45 | void SortTracks(); | |
46 | void RemoveMultipleTracklets(); | |
47 | void RemoveMultipleTracks(); | |
48 | void RemoveTracklet(Int_t pos); | |
49 | void RemoveTrack(Int_t pos); | |
50 | void SortZ(Int_t cha); | |
51 | void InitZLUT(); | |
52 | void FindTracks(); | |
53 | void FindTracksCombi(Int_t zchan); | |
54 | ||
55 | TObjArray *Tracklets(); | |
56 | TObjArray *Tracks(); | |
57 | AliTRDltuTracklet *GetTracklet(Int_t pos) const; | |
58 | AliTRDgtuTrack *GetTrack(Int_t pos) const; | |
e3b2b5e5 | 59 | |
60 | protected: | |
61 | ||
6d50f529 | 62 | Float_t fXprojPlane; //! X (time) coordinate of the projection plane |
63 | Float_t fField; //! Magnetic field | |
64 | TObjArray *fTracklets; //! Array of LTU tracklets | |
65 | TObjArray *fTracks; //! Array of GTU tracks | |
e3b2b5e5 | 66 | |
6d50f529 | 67 | Int_t fZnchan[kNplan][kNsubZchan]; //! Number of LTU tracklets in each subchannel |
68 | Int_t fZtrkid[kNplan][kNmaxZchan][kNsubZchan]; //! List of LTU tracklet id's for each subchannel | |
e3b2b5e5 | 69 | |
6d50f529 | 70 | Float_t fDeltaY; // Y (offset) matching window in the GTU |
71 | Float_t fDeltaS; // Slope matching window in the GTU | |
e3b2b5e5 | 72 | |
6d50f529 | 73 | AliTRDltuTracklet *fLTUtrk; //! Current LTU tracklet |
74 | AliTRDgtuTrack *fGTUtrk; //! Current GTU track | |
e3b2b5e5 | 75 | |
6d50f529 | 76 | ClassDef(AliTRDmodule,2) // TRD module class |
e3b2b5e5 | 77 | |
78 | }; | |
79 | ||
80 | #endif |