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