Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TRD / AliTRDgtuTMU.h
... / ...
CommitLineData
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
19class TTree;
20class TList;
21class TClonesArray;
22class TBranch;
23class AliTRDtrackGTU;
24class AliESDEvent;
25
26class 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
50protected:
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 ClassDef(AliTRDgtuTMU, 1);
67};
68
69#endif