]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDgtuSim.h
Dump object functionality
[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 AliTRDfeeParam;
22 class TTree;
23 class TList;
24
25 class AliTRDgtuSim : public TObject {
26  public:
27   AliTRDgtuSim(AliRunLoader *rl = 0x0);
28   ~AliTRDgtuSim();
29
30   Bool_t LoadTracklets(AliLoader * const loader);
31   Bool_t LoadTracklets(const AliESDEvent * const esd, Int_t label = -1);
32
33   Bool_t RunGTU(AliLoader *loader, AliESDEvent *esd = 0x0, Int_t label = -1, Int_t outLabel = -1);
34   Bool_t RunGTUFromTrackletFile(TString filename, Int_t event, Int_t noev = 1);
35
36   Bool_t WriteTracksToDataFile(TList *listOfTracks, Int_t event);
37   Bool_t WriteTracksToESD(const TList *const listOfTracks, AliESDEvent *esd);
38   Bool_t WriteTracksToLoader(const TList *const listOfTracks);
39
40  protected:
41   AliRunLoader  *fRunLoader;    //!
42   AliTRDfeeParam *fFeeParam;    //!
43   AliTRDgtuTMU  *fTMU;          // pointer to TMU simulation class
44   TClonesArray  *fTrackletArray;        // array of tracklets
45
46   void AppendBits(ULong64_t &word, Int_t nBits, Int_t val) const { word = (word << nBits) | (val & ~(~0 << nBits)); }
47
48  private:
49   AliTRDgtuSim& operator=(const AliTRDgtuSim &rhs); // not implemented
50   AliTRDgtuSim(const AliTRDgtuSim &rhs); // not implemented
51
52   ClassDef(AliTRDgtuSim, 0);
53 };
54
55 #endif