Rev 251 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 230 | f9daq | 1 | #include <TH1D.h> |
| 2 | #include <TStyle.h> |
||
| 3 | #include <TPad.h> |
||
| 4 | #include "mH1D.h" |
||
| 5 | |||
| 6 | double H1DGetBinContent(H1D *h1d,int atx){ |
||
| 7 | |||
| 8 | if (!h1d) return 0; |
||
| 9 | if (h1d->nx <= atx) return 0; |
||
| 10 | if (atx < h1d->size ) return h1d->data[atx]; |
||
| 11 | |||
| 12 | |||
| 13 | return 0; |
||
| 14 | } |
||
| 15 | |||
| 16 | |||
| 17 | int H1Dload(char *fname){ |
||
| 18 | |||
| 19 | FILE *fp= fopen(fname ,"rb"); |
||
| 20 | if (!fp) return -1; |
||
| 21 | H1D *h = new H1D; |
||
| 22 | int size=sizeof(H1D); |
||
| 23 | int nb1 = fread(h,1, size,fp); |
||
| 24 | if (size + h->size !=h->len ) printf("WRONG HEADER ! Check sizeof H2D on CVI\n"); |
||
| 25 | |||
| 26 | size=h->size; |
||
| 27 | h->data = new double[size]; |
||
| 28 | int nb = fread(h->data,1, size,fp); |
||
| 29 | printf("hdr nb=%d : sizeof(HDR)=%d +datasize=%d == len=%d\t",nb1,sizeof(H1D), h->size, h->len); |
||
| 30 | printf("data nb=%d size=%d\n",nb,size); |
||
| 251 | f9daq | 31 | fclose(fp); |
| 230 | f9daq | 32 | TH1D *h1d = new TH1D(h->name, h->title, |
| 33 | h->nx, h->minx-0.5*h->stepx,h->minx+(h->nx-0.5)*h->stepx ); |
||
| 34 | h1d->SetTitle(h->title); |
||
| 35 | h1d->SetTitle(""); |
||
| 36 | h1d->GetXaxis()->SetTitle(h->titlex); |
||
| 37 | h1d->GetYaxis()->SetTitle(h->titley); |
||
| 246 | f9daq | 38 | printf("TH1D name='%s' title='%s' x='%s' y='%s'\nnx=%d min=%f max=%f \n",h->name, h->title,h->titlex, h->titley, |
| 230 | f9daq | 39 | h->nx, h->minx,h->minx+h->nx*h->stepx); |
| 40 | |||
| 41 | |||
| 42 | //h2d->ls(); |
||
| 43 | //h2d->Print(); |
||
| 44 | |||
| 45 | for (int ix=0;ix<h->nx;ix++){ |
||
| 46 | |||
| 47 | double g=H1DGetBinContent(h,ix); |
||
| 48 | h1d->SetBinContent(ix+1, g); |
||
| 49 | // if (g>0) printf("i %d j %d v %g\n",ix+1,iy+1,g); |
||
| 50 | |||
| 51 | } |
||
| 52 | |||
| 53 | gStyle->SetOptStat(0); |
||
| 247 | f9daq | 54 | gStyle->SetOptFit(1); |
| 230 | f9daq | 55 | h1d->Draw("colz"); |
| 246 | f9daq | 56 | |
| 230 | f9daq | 57 | char hname[100]; |
| 58 | sprintf(hname,"%s.pdf",fname); |
||
| 59 | gPad->SaveAs(hname); |
||
| 246 | f9daq | 60 | h1d->FitPanel(); |
| 251 | f9daq | 61 | gPad->SaveAs(fname); |
| 230 | f9daq | 62 | return 0; |
| 63 | } |