Add Jochens GTU simulation code
[u/mrichter/AliRoot.git] / TRD / AliTRDgtuTMU.h
CommitLineData
52c19022 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
20class TTree;
21class TBranch;
22class AliTRDtrackGTU;
23class AliESDEvent;
24
25class 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(AliTRDtrackletBase *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
49protected:
50 TObjArray **fTracklets; // holding all tracklets from one detector (i. e. one chamber)
51 TList **fZChannelTracklets; // holding all tracklets for layer and z-channel
52 TList **fTracks;
53 AliTRDgtuParam *fGtuParam; // pointer to the instance of the GtuParam class
54
55 Int_t fStack; // Stack of this TMU
56 Int_t fSector; // Sector of this TMU
57
58 private:
59 AliTRDgtuTMU(const AliTRDgtuTMU &rhs); // not implemented
60 AliTRDgtuTMU& operator=(const AliTRDgtuTMU &rhs); // not implemented
61
62 ClassDef(AliTRDgtuTMU, 1);
63};
64
65#endif