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 AliHBTReaderInternal(const AliHBTReaderInternal& in);
34 virtual ~AliHBTReaderInternal();
36 AliHBTReaderInternal& operator=(const AliHBTReaderInternal& in);
40 Bool_t ReadsTracks() const {return kTRUE;}
41 Bool_t ReadsParticles() const {return kTRUE;}
43 static Int_t Write(AliHBTReader* reader,const char* outfile = "data.root", Bool_t multcheck = kFALSE);//reads tracks from runs and writes them to file
47 TString fFileName;//name of the file with tracks
48 TBranch* fPartBranch;//!branch with particles
49 TBranch* fTrackBranch;//!branch with tracks
52 TClonesArray* fPartBuffer;//!buffer array that tree is read to
53 TClonesArray* fTrackBuffer;//!
55 Int_t ReadNext();//reads next event
56 Int_t OpenNextFile();//opens file to be read for given event
57 static Bool_t FindIndex(TClonesArray* arr,Int_t idx);
59 ClassDef(AliHBTReaderInternal,2)