]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDmodule.h
Missing DATE event types are added to the base raw data header
[u/mrichter/AliRoot.git] / TRD / AliTRDmodule.h
CommitLineData
e3b2b5e5 1#ifndef ALITRDMODULE_H
2#define ALITRDMODULE_H
3
4#include <TObjArray.h>
5
6class AliTRDgtuTrack;
7class AliTRDltuTracklet;
8class AliTRDtrigParam;
9
10class AliTRDmodule : public TObject {
11
12 public:
13
14 enum { kNplan = 6, kNmaxZchan = 100, kNsubZchan = 16, kNmaxTrk = 12 };
15
16 AliTRDmodule(AliTRDtrigParam *trigp);
17 virtual ~AliTRDmodule();
18 AliTRDmodule &operator=(const AliTRDmodule &m);
19 virtual void Copy(TObject &m) const;
20
21 void Reset();
22
23 void AddTracklet(Int_t det,
24 Int_t row,
25 Float_t rowz,
26 Float_t slope,
27 Float_t offset,
28 Float_t time,
29 Int_t ncl,
30 Int_t label,
31 Float_t q);
32
33 TObjArray *Tracklets() {
34 if(!fTracklets) fTracklets = new TObjArray(400); return fTracklets;
35 };
36
37 void ResetTracklets() { if(fTracklets) fTracklets->Delete(); };
38 void SortTracklets() { if(fTracklets) fTracklets->Sort(); };
39 AliTRDltuTracklet *GetTracklet(Int_t pos) const;
40 void RemoveMultipleTracklets();
41 void RemoveTracklet(Int_t pos);
42 Int_t GetNtracklets() const {
43 if (fTracklets) return fTracklets->GetEntriesFast();
44 return 0;
45 };
46 void AddTrack();
47 TObjArray *Tracks() {
48 if(!fTracks) fTracks = new TObjArray(400); return fTracks;
49 };
50
51 void ResetTracks();
52 void SortTracks() { if(fTracks) fTracks->Sort(); };
53 AliTRDgtuTrack *GetTrack(Int_t pos) const;
54 void RemoveMultipleTracks();
55 void RemoveTrack(Int_t pos);
56 Int_t GetNtracks() const {
57 if (fTracks) return fTracks->GetEntriesFast();
58 return 0;
59 };
60 void SortZ(Int_t cha);
61 void InitZLUT();
62 void FindTracks();
63 void FindTracksCombi(Int_t zchan);
64
65 protected:
66
67 Float_t fXprojPlane; //! X (time) coordinate of the
68 // projection plane
69 Float_t fField; //! Magnetic field
70 TObjArray *fTracklets; //! Array of LTU tracklets
71 TObjArray *fTracks; //! Array of GTU tracks
72
73 Int_t fZnchan[kNplan][kNsubZchan]; //! number of LTU tracklets in each
74 // subchannel
75 Int_t fZtrkid[kNplan][kNmaxZchan][kNsubZchan]; //! list of LTU tracklet id's for
76 // each subchannel
77
78 Float_t fDeltaY; // Y (offset) matching window in the GTU
79 Float_t fDeltaS; // Slope matching window in the GTU
80
81 AliTRDltuTracklet *fLTUtrk; //! Current LTU tracklet
82 AliTRDgtuTrack *fGTUtrk; //! Current GTU track
83
84 ClassDef(AliTRDmodule,2)
85
86};
87
88#endif