Line data Source code
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 0 : 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 940 : ClassDef(AliTRDgtuSim, 0);
53 : };
54 :
55 : #endif
|