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 | } |