Transition to NewIO
[u/mrichter/AliRoot.git] / HBTAN / AliHBTReader.h
CommitLineData
1b446896 1#ifndef ALIHBTREADER_H
2#define ALIHBTREADER_H
3
2de2e2c6 4#include <TNamed.h>
1b446896 5
6//Reader Base class (reads particles and tracks and
0fdcc83d 7//puts it to the AliHBTRun objects
1b446896 8//Piotr.Skowronski@cern.ch
9
10class AliHBTRun;
11class AliHBTEvent;
12class AliHBTParticleCut;
13class TObjArray;
14class AliHBTParticle;
0fdcc83d 15class TString;
88cb7938 16
2de2e2c6 17class AliHBTReader: public TNamed
1b446896 18{
19 public:
20 AliHBTReader();
0fdcc83d 21 AliHBTReader(TObjArray*);
1b446896 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
1b446896 31 void AddParticleCut(AliHBTParticleCut* cut);
4e7d5d5f 32
33 void SetDirs(TObjArray* dirs){fDirs = dirs;} //sets array directories names
0fdcc83d 34
88cb7938 35 virtual AliHBTEvent* GetNextParticleEvent(){return 0x0;}
36 virtual AliHBTEvent* GetNextTrackEvent(){return 0x0;}
37
1b446896 38 protected:
39
0fdcc83d 40 TObjArray *fCuts;//array with particle cuts
41 TObjArray *fDirs;//arry with directories to read data from
1b446896 42
43 Bool_t Pass(AliHBTParticle*);
44 Bool_t Pass(Int_t pid);
0fdcc83d 45
46 TString& GetDirName(Int_t);
1b446896 47
48 private:
49
50 public:
2de2e2c6 51 ClassDef(AliHBTReader,2)//version 2 - TNamed as parental class
52
1b446896 53};
54
55#endif