]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDmodule.h
Working prints removed
[u/mrichter/AliRoot.git] / TRD / AliTRDmodule.h
1 #ifndef ALITRDMODULE_H
2 #define ALITRDMODULE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //  TRD module class                                                         //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
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
26   AliTRDmodule();
27   AliTRDmodule(const AliTRDmodule &m);
28   AliTRDmodule(AliTRDtrigParam *trigp);
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;
59
60  protected:
61
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
66
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
69
70           Float_t            fDeltaY;                                  //  Y (offset) matching window in the GTU
71           Float_t            fDeltaS;                                  //  Slope matching window in the GTU
72
73           AliTRDltuTracklet *fLTUtrk;                                  //! Current LTU tracklet
74           AliTRDgtuTrack    *fGTUtrk;                                  //! Current GTU track
75
76   ClassDef(AliTRDmodule,2)                                             //  TRD module class
77
78 };
79
80 #endif