Little bugfix for new aliroot version 3.08.
[u/mrichter/AliRoot.git] / HLT / exa / binary.C
1 // $Id$
2
3 /**
4    Macro for converting AliRoot digits into L3 RawData. 
5    Binary creates for each patch its own file. 
6    Singlepatch uses one file per slice (sp=kTRUE). 
7 */
8
9 binary(char* in,int first, int last,char *path=".",Bool_t sp=kFALSE){
10
11   if(sp) {
12     singlepatch(in,first,last,path);
13     return;
14   }
15
16   char name[256];
17   const Int_t npatch = 6;
18   AliL3Logger l;
19   //l.UnSet(AliL3Logger::kDebug);
20   //l.UnSet(AliL3Logger::kAll);
21   //l.Set(AliL3Logger::kInformational);
22   l.UseStderr();
23   //l.UseStream();
24
25   //read init file
26   AliL3Transform::Init(path);
27
28   AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
29   fFileHandler->SetAliInput(in);
30
31   for(int slice=first; slice<=last; slice++){
32     for(int patch=0;patch<npatch;patch++){
33       cerr<<"reading slice: "<<slice<<" patch: "<<patch<<" and storing to: "<<path<<"/digits_"<<slice<<"_"<<patch<<".raw"<<endl;
34       fFileHandler->Free();
35       fFileHandler->Init(slice,patch);      
36       sprintf(name,"%s/digits_%d_%d.raw",path,slice,patch);
37       fFileHandler->SetBinaryOutput(name);
38       fFileHandler->AliDigits2CompBinary();
39       fFileHandler->CloseBinaryOutput();      
40       cerr<<" done"<<endl;
41     }      
42   }
43   fFileHandler->CloseAliInput();
44 }
45  
46 void singlepatch(char* in,int first=0, int last=0,char *path=".",int event=0)
47 {
48   AliL3Logger l;
49   //l.UnSet(AliL3Logger::kDebug);
50   //l.UnSet(AliL3Logger::kAll);
51   //l.Set(AliL3Logger::kInformational);
52   l.UseStderr();
53   //l.UseStream();
54   
55   //read init file
56   AliL3Transform::Init(path);
57
58   char name[256];
59   AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
60   fFileHandler->SetAliInput(in);
61
62   Int_t srow[2] = {0,175};
63   int patch=0;
64   for(int slice=first; slice<=last; slice++)
65     {
66       cerr<<"reading slice: "<<slice;
67       fFileHandler->Free();
68       fFileHandler->Init(slice,patch,srow);
69       sprintf(name,"%s/digits_%d_%d.raw",path,slice,patch);
70       fFileHandler->SetBinaryOutput(name);
71       fFileHandler->AliDigits2CompBinary(event);
72       fFileHandler->CloseBinaryOutput();      
73       cerr<<" done"<<endl;
74     }
75   fFileHandler->CloseAliInput();
76   
77 }
78
79 void make_init_file(Char_t *f,Char_t *path="./"){
80   AliL3Transform::MakeInitFile(f,path);
81 }