3 Important macro to get certain Aliroot parameters. They are stored
4 in a file "Init.cxx". Compare the contents of the class AliL3Transform
5 with the result of this macro to check that there are no differences.
8 void Make_Init(char *file, char *tofile="Init.cxx"){
10 TFile * rootf = new TFile(file,"READ");
13 cerr<<"no file: "<<file<<endl;
17 AliTPCParam* par = (AliTPCParam*)rootf->Get("75x40_100x60");
20 cerr<<"no AliTPCParam 75x40_100x60 in file: "<<file<<endl;
24 int fNTimeBins = par->GetMaxTBin()+1;
25 int fNRowLow = par->GetNRowLow();
26 int fNRowUp = par->GetNRowUp();
27 int fNRow= fNRowLow + fNRowUp;
28 int fNSectorLow = par->GetNInnerSector();
29 int fNSectorUp = par->GetNOuterSector();
30 int fNSector = fNSectorLow + fNSectorUp;
31 int fNSlice = fNSectorLow;
33 FILE *f = fopen(tofile,"w");
34 fprintf(f,"void AliL3Transform::Init(){\n");
36 fprintf(f," //sector:\n");
37 fprintf(f," fNTimeBins = %d ;\n",fNTimeBins);
38 fprintf(f," fNRowLow = %d ;\n",fNRowLow);
39 fprintf(f," fNRowUp = %d ;\n",fNRowUp);
40 fprintf(f," fNSectorLow = %d ;\n",fNSectorLow);
41 fprintf(f," fNSectorUp = %d ;\n",fNSectorUp);
42 fprintf(f," fNSector = %d ;\n",fNSector);
43 fprintf(f," fPadPitchWidthLow = %f ;\n",par->GetPadPitchWidth(0));
44 fprintf(f," fPadPitchWidthUp = %f ;\n",par->GetPadPitchWidth(fNSectorLow));
45 fprintf(f," fZWidth = %.20f ;\n",par->GetZWidth());
46 fprintf(f," fZSigma = %.20f ;\n",par->GetZSigma());
48 fprintf(f,"\n //slices:\n");
49 fprintf(f," fNSlice = %d ;\n",fNSectorLow);
50 fprintf(f," fNRow = %d ;\n",fNRow);
52 //rotation shift put in by hand -> Constantin
53 fprintf(f," fNRotShift = 0.5 ;\n");
55 fprintf(f," fPi = %.15f ;\n",TMath::Pi());
56 fprintf(f," for(Int_t i=0;i<36;i++){\n");
57 fprintf(f," fCos[i] = cos(2*fPi/9*(i+0.5));\n");
58 fprintf(f," fSin[i] = sin(2*fPi/9*(i+0.5));\n");
61 for(Int_t i=0;i<fNRow;i++){
63 if( i < fNRowLow){sec =0;row =i;}
64 else{sec = fNSectorLow;row =i-fNRowLow;}
65 fprintf(f," fX[%d] = %3.15f ;\n",i,par->GetPadRowRadii(sec,row));
67 for(Int_t i=0;i<fNRow;i++){
69 if( i < fNRowLow){sec =0;row =i;}
70 else{sec = fNSectorLow;row =i-fNRowLow;}
71 fprintf(f," fNPads[%d] = %d ;\n",i,par->GetNPads(sec,row));