31e0d6f71a21f50e7dcdfcdbdeb448e19971f27d
[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 "AliSimDigits.h"
7 #include <TObject.h>
8 #include <TFile.h>
9 #include <TTree.h>
10 #include <stdio.h>
11
12 class AliL3SpacePointData;
13 class AliL3DigitRowData;
14 class AliL3TrackSegmentData;
15 class AliL3TrackArray;
16
17 class AliL3FileHandler:public AliL3MemHandler{
18  private:
19   TFile *fInAli;
20   AliTPCParam *fParam;
21   Bool_t SetAliInput();
22   Int_t fLastIndex;
23   AliSimDigits *fDigits;
24   TTree *fDigitsTree;
25   FILE *fMC;//!
26   
27   Bool_t GetDigitsTree(Int_t event);
28   
29  public:
30   AliL3FileHandler();
31   virtual ~AliL3FileHandler();
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(Int_t event=0);
44   AliL3DigitRowData *AliDigits2Memory(UInt_t & nrow,Int_t event=0); //Allocates Memory
45   Bool_t AliDigits2CompBinary(Int_t event=0);  
46   void AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_digitsfile);
47
48   //Point IO
49   Bool_t AliPoints2Binary();
50   AliL3SpacePointData *AliPoints2Memory(UInt_t & npoint);//Allocates Memory
51
52   ClassDef(AliL3FileHandler,1)   //Filehandler class
53 };
54
55 #endif