Line data Source code
1 : #ifndef ALITRDGTUTMU_H
2 : #define ALITRDGTUTMU_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /* $Id: AliTRDgtuTMU.h 27496 2008-07-22 08:35:45Z cblume $ */
7 :
8 : //--------------------------------------------------------------------
9 : //
10 : // This class simulates the tracklet processing in a TMU
11 : //
12 : //--------------------------------------------------------------------
13 :
14 : #include "TObject.h"
15 :
16 : #include "AliTRDtrackletGTU.h"
17 : #include "AliTRDgtuParam.h"
18 :
19 : class TTree;
20 : class TList;
21 : class TClonesArray;
22 : class TBranch;
23 : class AliTRDtrackGTU;
24 : class AliESDEvent;
25 :
26 : class AliTRDgtuTMU : public TObject {
27 : public:
28 : AliTRDgtuTMU(Int_t stack = -1, Int_t sector = -1);
29 : ~AliTRDgtuTMU();
30 :
31 : Bool_t SetSector(Int_t sector);
32 : Bool_t SetStack(Int_t stack);
33 :
34 : Bool_t AddTracklet(AliTRDtrackletGTU *tracklet, Int_t link);
35 :
36 : Bool_t RunTMU(TList *ListOfTracks = 0x0, AliESDEvent *esd = 0x0, Int_t outLabel = -1);
37 : Bool_t Reset();
38 :
39 : // ----- successive stages of the processing in the TMU -----
40 : Bool_t RunInputUnit(Int_t layer);
41 : Bool_t RunZChannelUnit(Int_t layer);
42 : Bool_t RunTrackFinder(Int_t zchannel, TList* ListOfTracks);
43 : Bool_t RunTrackMerging(TList* ListOfTracks);
44 : Bool_t RunTrackReconstruction(TList* ListOfTracks);
45 :
46 : Bool_t CalculateTrackParams(AliTRDtrackGTU *track);
47 : Bool_t Uniquifier(const TList* inlist, TList *outlist);
48 : Bool_t CalculatePID(AliTRDtrackGTU *track);
49 :
50 : protected:
51 : TObjArray **fTracklets; // holding all tracklets per link
52 : TObjArray **fTrackletsPostInput; // holding all tracklets of a layer
53 : // after sorting/calculation in input units
54 : TList **fZChannelTracklets; // holding all tracklets for layer and z-channel
55 : TClonesArray *fTrackArray; // array of tracks
56 : TList **fTracks; // lists of tracks
57 : AliTRDgtuParam *fGtuParam; // pointer to the instance of the GtuParam class
58 :
59 : Int_t fStack; // Stack of this TMU
60 : Int_t fSector; // Sector of this TMU
61 :
62 : private:
63 : AliTRDgtuTMU(const AliTRDgtuTMU &rhs); // not implemented
64 : AliTRDgtuTMU& operator=(const AliTRDgtuTMU &rhs); // not implemented
65 :
66 10654 : ClassDef(AliTRDgtuTMU, 1);
67 : };
68 :
69 : #endif
|