3 #ifndef ALIL3FILEHANDLER_H
4 #define ALIL3FILEHANDLER_H
6 #include "AliL3MemHandler.h"
10 #include <AliSimDigits.h>
11 #include <AliTPCParam.h>
13 #include <AliRunLoader.h>
20 class AliL3SpacePointData;
21 class AliL3DigitRowData;
22 class AliL3TrackSegmentData;
23 class AliL3TrackArray;
25 class AliL3FileHandler:public AliL3MemHandler{
29 AliRunLoader *fInAli;//!
30 Bool_t fUseRunLoader; //use runloader
35 AliTPCParam *fParam;//!
36 AliSimDigits *fDigits;//!
38 TTree *fDigitsTree;//!
41 Bool_t fIndexCreated; //is index created
42 Int_t fIndex[36][159]; //stores index over digitstree
43 //for faster access w/o ASVVERSION
44 Bool_t fUseStaticIndex; //take static index
45 static Bool_t fgStaticIndexCreated; //global index created
46 static Int_t fgStaticIndex[36][159]; //global index
48 virtual Bool_t SetAliInput();
49 Bool_t GetDigitsTree(Int_t event);
50 Bool_t CreateIndex(); //create the index
53 AliL3FileHandler(Bool_t b=kFALSE);
56 void FreeDigitsTree();
57 static void CleanStaticIndex();
58 static Int_t SaveStaticIndex(Char_t *prefix=0,Int_t event=0);
59 static Int_t LoadStaticIndex(Char_t *prefix=0,Int_t event=0);
61 Bool_t SetAliInput(Char_t *name);
62 Bool_t SetAliInput(TFile *file);
64 Bool_t SetAliInput(AliRunLoader *runLoader);
68 Bool_t IsDigit(Int_t event);
70 Bool_t SetMCOutput(Char_t *name);
71 Bool_t SetMCOutput(FILE *file);
75 Bool_t AliDigits2Binary(Int_t event=0,Bool_t altro=kFALSE);
76 AliL3DigitRowData *AliDigits2Memory(UInt_t & nrow,Int_t event=0); //Allocates Memory
77 AliL3DigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t eventmerge=kFALSE);
79 Bool_t AliDigits2CompBinary(Int_t event=0,Bool_t altro=kFALSE);
80 void AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_digitsfile);
83 Bool_t AliPoints2Binary(Int_t eventn=0);
84 AliL3SpacePointData *AliPoints2Memory(UInt_t & npoint,Int_t eventn=0);//Allocates Memory
86 ClassDef(AliL3FileHandler,1) //Filehandler class