6038b2f29593b61391a403fabefe930d1f5af141
[u/mrichter/AliRoot.git] / HLT / src / AliL3FileHandler.h
1 #ifndef ALIL3FILEHANDLER_H
2 #define ALIL3FILEHANDLER_H
3
4 #include "AliTPCParam.h"
5 #include "AliL3MemHandler.h"
6 #include <TObject.h>
7 #include <TFile.h>
8 #include <stdio.h>
9 class AliL3SpacePointData;
10 class AliL3DigitRowData;
11 class AliL3TrackSegmentData;
12 class AliL3TrackArray;
13
14 class AliL3FileHandler:public AliL3MemHandler{
15  private:
16   TFile *fInAli;
17   AliTPCParam *fParam;
18   AliL3Transform *fTransformer;//!
19   Bool_t SetAliInput();
20
21   FILE *fMC;//!
22
23  public:
24   AliL3FileHandler();
25   virtual ~AliL3FileHandler();
26 //  void Init(Int_t s,Int_t p,Int_t* row){fSlice=s;fPatch=p;fRowMin=row[0];fRowMax=row[1];}
27
28   Int_t GetRowMin(){return fRowMin;}
29   Int_t GetRowMax(){return fRowMax;}
30   Int_t GetSlice(){return fSlice;}
31   Int_t GetPatch(){return fPatch;}
32
33   Bool_t SetAliInput(char *name);
34   Bool_t SetAliInput(TFile *file);
35   void CloseAliInput(); 
36   Bool_t IsDigit();
37  
38   Bool_t SetMCOutput(char *name);
39   Bool_t SetMCOutput(FILE *file);
40   void CloseMCOutput();
41
42   //Digit IO
43   Bool_t AliDigits2Binary();
44   AliL3DigitRowData *AliDigits2Memory(UInt_t & nrow); //Allocates Memory
45   Bool_t AliDigits2CompBinary();  
46
47   //Point IO
48   Bool_t AliPoints2Binary();
49   AliL3SpacePointData *AliPoints2Memory(UInt_t & npoint);//Allocates Memory
50
51   ClassDef(AliL3FileHandler,1)   // Level3 
52 };
53
54 #endif