1 #ifndef ALIHBTREADERINTERNAL_H
2 #define ALIHBTREADERINTERNAL_H
3 //_________________________________________________________________________
4 ///////////////////////////////////////////////////////////////////////////
6 // class AliHBTReaderInternal //
8 // Multi file reader for Internal Data Format //
10 // This reader reads data created by itself //
11 // (method AliHBTReaderInternal::Write) //
13 // Piotr.Skowronski@cern.ch //
14 // more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html //
16 ///////////////////////////////////////////////////////////////////////////
18 #include "AliHBTReader.h"
26 class AliHBTReaderInternal: public AliHBTReader
29 AliHBTReaderInternal();
30 AliHBTReaderInternal(const char *filename);
31 AliHBTReaderInternal(TObjArray* dirs, const char *filename);
32 virtual ~AliHBTReaderInternal();
36 Bool_t ReadsTracks() const {return kTRUE;}
37 Bool_t ReadsParticles() const {return kTRUE;}
39 static Int_t Write(AliHBTReader* reader,const char* outfile = "data.root", Bool_t multcheck = kFALSE);//reads tracks from runs and writes them to file
43 TString fFileName;//name of the file with tracks
44 TBranch* fPartBranch;//!branch with particles
45 TBranch* fTrackBranch;//!branch with tracks
48 TClonesArray* fPartBuffer;//!buffer array that tree is read to
49 TClonesArray* fTrackBuffer;//!
51 Int_t ReadNext();//reads next event
52 Int_t OpenNextFile();//opens file to be read for given event
53 static Bool_t FindIndex(TClonesArray* arr,Int_t idx);
55 ClassDef(AliHBTReaderInternal,2)