Making online tracklets usable in offline reconstruction
[u/mrichter/AliRoot.git] / TRD / AliTRDgtuSim.h
1 #ifndef ALITRDGTUSIM_H
2 #define ALITRDGTUSIM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliTRDgtuSim.h 27496 2008-07-22 08:35:45Z cblume $ */
7
8 // --------------------------------------------------------
9 // 
10 // GTU simulation
11 //
12 // --------------------------------------------------------
13
14 #include "TObject.h"
15
16 class AliRunLoader;
17 class AliLoader;
18 class AliESDEvent;
19
20 class AliTRDgtuTMU;
21 class TTree;
22 class TList;
23
24 class AliTRDgtuSim : public TObject {
25  public:
26   AliTRDgtuSim(AliRunLoader *rl = 0x0);
27   ~AliTRDgtuSim();
28
29   Bool_t LoadTracklets(AliLoader *loader);
30
31   Bool_t RunGTU(AliLoader *loader, AliESDEvent *esd = 0x0);
32   Bool_t RunGTUFromTrackletFile(TString filename, Int_t event, Int_t noev = 1);
33
34   TTree* GetTreeOfTracks() { return fTrackTree; }
35   Bool_t WriteTracksToTree(TList *ListOfTracks, Int_t event = 0); 
36   Bool_t WriteTracksToDataFile(TList *ListOfTracks, Int_t event);
37   Bool_t WriteTreesToFile();
38   Bool_t WriteTracksToESD(TList *ListOfTracks, AliESDEvent *esd);
39   Bool_t WriteTracksToLoader();
40
41  protected:
42   AliRunLoader  *fRunLoader;    //!
43   AliTRDgtuTMU  *fTMU;          // pointer to TMU simulation class
44   TClonesArray  *fTrackletArray;        // array of tracklets
45   TTree         *fTrackTree;    // tree to hold the tracks of one event, used for writing in WriteTracksToFile()
46   TTree         *fTrackletTree; // tree to hold the gtu tracklets
47
48  private:
49   AliTRDgtuSim& operator=(const AliTRDgtuSim &rhs); // not implemented
50   AliTRDgtuSim(const AliTRDgtuSim &rhs); // not implemented
51
52   ClassDef(AliTRDgtuSim, 1);
53 };
54
55 #endif