First V0 MC Analysis from H.Ricaud
[u/mrichter/AliRoot.git] / TRD / AliTRDmodule.h
CommitLineData
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
16class AliTRDgtuTrack;
17class AliTRDltuTracklet;
e3b2b5e5 18
19class 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