]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliL3FileHandler.h
Switched on slow merging.
[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 //  void Init(Int_t s,Int_t p,Int_t* row){fSlice=s;fPatch=p;fRowMin=row[0];fRowMax=row[1];}
33
34   Int_t GetRowMin(){return fRowMin;}
35   Int_t GetRowMax(){return fRowMax;}
36   Int_t GetSlice(){return fSlice;}
37   Int_t GetPatch(){return fPatch;}
38
39   Bool_t SetAliInput(char *name);
40   Bool_t SetAliInput(TFile *file);
41   void CloseAliInput(); 
42   Bool_t IsDigit();
43  
44   Bool_t SetMCOutput(char *name);
45   Bool_t SetMCOutput(FILE *file);
46   void CloseMCOutput();
47
48   //Digit IO
49   Bool_t AliDigits2Binary(Int_t event=0);
50   AliL3DigitRowData *AliDigits2Memory(UInt_t & nrow,Int_t event=0); //Allocates Memory
51   Bool_t AliDigits2CompBinary(Int_t event=0);  
52   void AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_digitsfile);
53
54   //Point IO
55   Bool_t AliPoints2Binary();
56   AliL3SpacePointData *AliPoints2Memory(UInt_t & npoint);//Allocates Memory
57
58   ClassDef(AliL3FileHandler,1)   //Filehandler class
59 };
60
61 #endif