ReaderInternal: Internal data format implementation
[u/mrichter/AliRoot.git] / HBTAN / AliHBTReaderITSv2.h
1 #ifndef ALIHBTREADERITSV2_H
2 #define ALIHBTREADERITSV2_H
3
4 #include "AliHBTReader.h"
5
6 #include <TString.h>
7
8 class TFile;
9
10 class AliHBTReaderITSv2: public AliHBTReader
11 {
12   public:    
13     AliHBTReaderITSv2(const Char_t* trackfilename = "AliITStracksV2.root",
14                     const Char_t* clusterfilename = "AliITSclustersV2.root",
15         const Char_t* galicefilename = "galice.root");
16
17     AliHBTReaderITSv2(TObjArray* dirs,
18                     const Char_t* trackfilename = "AliITStracksV2.root",
19                     const Char_t* clusterfilename = "AliITSclustersV2.root",
20         const Char_t* galicefilename = "galice.root");
21     virtual ~AliHBTReaderITSv2();
22     
23     Int_t Read(AliHBTRun*, AliHBTRun*);//reads tracks and particles and puts them in runs
24     
25     AliHBTEvent* GetParticleEvent(Int_t);//returns pointer to event with particles
26     AliHBTEvent* GetTrackEvent(Int_t);//returns pointer to event with particles 
27     Int_t GetNumberOfPartEvents();//returns number of particle events
28     Int_t GetNumberOfTrackEvents();//returns number of track events
29         
30     
31   protected:
32  
33     Int_t OpenFiles(TFile*&,TFile*&,TFile*&,Int_t);//opens files to be read for given event
34     void CloseFiles(TFile*&,TFile*&,TFile*&);//close files
35     
36     AliHBTRun* fParticles; //!simulated particles
37     AliHBTRun* fTracks; //!reconstructed tracks (particles)
38     
39     TString fTrackFileName;//name of the file with tracks
40     TString fClusterFileName;//name of the file with clusters
41     TString fGAliceFileName;//name of the file with galice.root
42   
43     Bool_t fIsRead;//!flag indicating if the data are already read
44
45   private:
46     
47   public:
48     ClassDef(AliHBTReaderITSv2,1)
49 };
50
51 #endif