]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDgtuTMU.h
Helper classes for Et em corrections from Marcelo
[u/mrichter/AliRoot.git] / TRD / AliTRDgtuTMU.h
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 #include "TList.h"
16
17 #include "AliTRDtrackletGTU.h"
18 #include "AliTRDgtuParam.h"
19
20 class TTree;
21 class TBranch;
22 class AliTRDtrackGTU;
23 class AliESDEvent;
24
25 class AliTRDgtuTMU : public TObject {
26  public:
27   AliTRDgtuTMU(Int_t stack = -1, Int_t sector = -1);
28   ~AliTRDgtuTMU();
29
30   Bool_t SetSector(Int_t sector);
31   Bool_t SetStack(Int_t stack);
32
33   Bool_t AddTracklet(AliTRDtrackletGTU *tracklet, Int_t link);
34   Bool_t WriteTrackletsToTree(TTree *trklTree);
35
36   Bool_t RunTMU(TList *ListOfTracks = 0x0, AliESDEvent *esd = 0x0);
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(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   TList **fTracks; // lists of tracks
56   AliTRDgtuParam *fGtuParam; // pointer to the instance of the GtuParam class
57
58   Int_t fStack;                 // Stack of this TMU
59   Int_t fSector;                // Sector of this TMU
60
61  private:
62   AliTRDgtuTMU(const AliTRDgtuTMU &rhs);              // not implemented
63   AliTRDgtuTMU& operator=(const AliTRDgtuTMU &rhs);   // not implemented
64
65   ClassDef(AliTRDgtuTMU, 1);
66 };
67
68 #endif