]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTReader.h
User stepping methods added (E. Futo)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTReader.h
1 #ifndef ALIHBTREADER_H
2 #define ALIHBTREADER_H
3
4 #include <TNamed.h>
5
6 //Reader Base class (reads particles and tracks and
7 //puts it to the AliHBTRun objects
8 //Piotr.Skowronski@cern.ch
9
10 class AliHBTRun;
11 class AliHBTEvent;
12 class AliHBTParticleCut;
13 class TObjArray;
14 class AliHBTParticle;
15 class TString;
16
17 class AliHBTReader: public TNamed
18 {
19   public:
20     AliHBTReader();
21     AliHBTReader(TObjArray*);
22     virtual ~AliHBTReader();
23     //in the future this class is will read global tracking
24     virtual Int_t Read(AliHBTRun* particles, AliHBTRun *tracks) = 0;
25     
26     virtual AliHBTEvent* GetParticleEvent(Int_t) = 0;
27     virtual AliHBTEvent* GetTrackEvent(Int_t) = 0;
28     virtual Int_t GetNumberOfPartEvents() = 0;
29     virtual Int_t GetNumberOfTrackEvents() = 0;
30     
31     void AddParticleCut(AliHBTParticleCut* cut);
32     
33     void SetDirs(TObjArray* dirs){fDirs = dirs;} //sets array directories names
34
35   protected:
36     
37     TObjArray *fCuts;//array with particle cuts
38     TObjArray *fDirs;//arry with directories to read data from
39
40     Bool_t Pass(AliHBTParticle*);
41     Bool_t Pass(Int_t pid);
42
43     TString& GetDirName(Int_t);
44     
45   private:
46   
47   public:
48     ClassDef(AliHBTReader,2)//version 2 - TNamed as parental class
49     
50 };
51
52 #endif