Subversion Repositories f9daq

Rev

Rev 209 | Rev 248 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 209 Rev 221
Line 144... Line 144...
144
 
144
 
145
  h3[h3d]->minx = minx;
145
  h3[h3d]->minx = minx;
146
  h3[h3d]->miny = miny;
146
  h3[h3d]->miny = miny;
147
  h3[h3d]->minz = minz;
147
  h3[h3d]->minz = minz;
148
 
148
 
149
  h3[h3d]->stepx = (nx>1)?(maxx-minx)/(nx-1):0;
149
  h3[h3d]->stepx = (nx>1)?(maxx-minx)/(nx):0;
150
  h3[h3d]->stepy = (nx>1)?(maxy-miny)/(ny-1):0;
150
  h3[h3d]->stepy = (nx>1)?(maxy-miny)/(ny):0;
151
  h3[h3d]->stepz = (nx>1)?(maxz-minz)/(nz-1):0;
151
  h3[h3d]->stepz = (nx>1)?(maxz-minz)/(nz):0;
152
 
152
 
153
  h3[h3d]->size = h3[h3d]->nx*h3[h3d]->ny*h3[h3d]->nz*sizeof(double);
153
  h3[h3d]->size = h3[h3d]->nx*h3[h3d]->ny*h3[h3d]->nz*sizeof(double);
154
  h3[h3d]->data = (double *) malloc(h3[h3d]->size);
154
  h3[h3d]->data = (double *) malloc(h3[h3d]->size);
155
  h3[h3d]->len=sizeof(H3D)-sizeof(double *)+h3[h3d]->size;
155
  h3[h3d]->len=sizeof(H3D)-sizeof(double *)+h3[h3d]->size;
156
  H3D_Clear(h3d);
156
  H3D_Clear(h3d);
Line 202... Line 202...
202
  }
202
  }
203
  return hid;
203
  return hid;
204
}
204
}
205
 
205
 
206
double  _VI_FUNC H3D_GetMaxX(int h){
206
double  _VI_FUNC H3D_GetMaxX(int h){
207
  return h3[h]->minx+(h3[h]->nx-1)*h3[h]->stepx;
207
  return h3[h]->minx+(h3[h]->nx)*h3[h]->stepx;
208
}
208
}
209
 
209
 
210
double  _VI_FUNC H3D_GetMaxY(int h){
210
double  _VI_FUNC H3D_GetMaxY(int h){
211
  return h3[h]->miny+(h3[h]->ny-1)*h3[h]->stepy;
211
  return h3[h]->miny+(h3[h]->ny)*h3[h]->stepy;
212
}
212
}
213
 
213
 
214
double  _VI_FUNC H3D_GetMaxZ(int h){
214
double  _VI_FUNC H3D_GetMaxZ(int h){
215
  return h3[h]->minz+(h3[h]->nz-1)*h3[h]->stepz;
215
  return h3[h]->minz+(h3[h]->nz)*h3[h]->stepz;
216
}
216
}
217
 
217
 
218
double _VI_FUNC  H3D_GetXBinCenter(int h3d,int xbin) {
218
double _VI_FUNC  H3D_GetXBinCenter(int h3d,int xbin) {
219
  return h3[h3d]->minx+xbin*h3[h3d]->stepx;
219
  return h3[h3d]->minx+(xbin+0.5)*h3[h3d]->stepx;
220
}
220
}
221
 
221
 
222
double _VI_FUNC  H3D_GetYBinCenter(int h3d,int ybin) {
222
double _VI_FUNC  H3D_GetYBinCenter(int h3d,int ybin) {
223
  return h3[h3d]->miny+ybin*h3[h3d]->stepy;
223
  return h3[h3d]->miny+(ybin+0.5)*h3[h3d]->stepy;
224
}
224
}
225
 
225
 
226
double _VI_FUNC  H3D_GetZBinCenter(int h3d,int zbin) {
226
double _VI_FUNC  H3D_GetZBinCenter(int h3d,int zbin) {
227
  return h3[h3d]->minz+zbin*h3[h3d]->stepz;
227
  return h3[h3d]->minz+(zbin+0.5)*h3[h3d]->stepz;
228
}
228
}
229
 
229
 
230
 
230
 
231
int _VI_FUNC  H3D_Write2File(int h3d,FILE *fp) {
231
int _VI_FUNC  H3D_Write2File(int h3d,FILE *fp) {
232
 
232
 
Line 390... Line 390...
390
 
390
 
391
 
391
 
392
 
392
 
393
  if (H3D_GetNbinsY(histogram)==1|| H3D_GetNbinsX(histogram)==1) {
393
  if (H3D_GetNbinsY(histogram)==1|| H3D_GetNbinsX(histogram)==1) {
394
    if (H3D_GetNbinsY(histogram)==1) {
394
    if (H3D_GetNbinsY(histogram)==1) {
395
      H1D_Init(499,"projection","projection", H3D_GetNbinsX(histogram), H3D_GetMinX(histogram),H3D_GetStepX(histogram));
395
      H1D_Init(499,"projection","projection", H3D_GetNbinsX(histogram), H3D_GetMinX(histogram),H3D_GetMaxX(histogram));
396
      for (int i=0; i < H3D_GetNbinsX(histogram); i++ ) H1D_SetBinContent(499,i,H3D_GetBinContent(histogram,i,0,slice));
396
      for (int i=0; i < H3D_GetNbinsX(histogram); i++ ) H1D_SetBinContent(499,i,H3D_GetBinContent(histogram,i,0,slice));
397
    } else {
397
    } else {
398
      H1D_Init(499,"projection","projection", H3D_GetNbinsY(histogram), H3D_GetMinY(histogram),H3D_GetStepY(histogram));
398
      H1D_Init(499,"projection","projection", H3D_GetNbinsY(histogram), H3D_GetMinY(histogram),H3D_GetMaxY(histogram));
399
      for (int i=0; i < H3D_GetNbinsY(histogram); i++ ) H1D_SetBinContent(499,i,H3D_GetBinContent(histogram,0,i,slice));
399
      for (int i=0; i < H3D_GetNbinsY(histogram); i++ ) H1D_SetBinContent(499,i,H3D_GetBinContent(histogram,0,i,slice));
400
    }
400
    }
401
    H1D_Draw(499, panel, control, plothandle);
401
    H1D_Draw(499, panel, control, plothandle);
402
  } else {
402
  } else {
403
 
403
 
Line 407... Line 407...
407
                                       H3D_GetSliceXYData(histogram, slice),
407
                                       H3D_GetSliceXYData(histogram, slice),
408
                                       H3D_GetNbinsX(histogram),
408
                                       H3D_GetNbinsX(histogram),
409
                                       H3D_GetNbinsY(histogram),
409
                                       H3D_GetNbinsY(histogram),
410
                                       VAL_DOUBLE,
410
                                       VAL_DOUBLE,
411
                                       H3D_GetStepY(histogram),
411
                                       H3D_GetStepY(histogram),
412
                                       H3D_GetMinY(histogram),
412
                                       H3D_GetYBinCenter(histogram,0),
413
                                       H3D_GetStepX(histogram),
413
                                       H3D_GetStepX(histogram),
414
                                       H3D_GetMinX(histogram),
414
                                       H3D_GetXBinCenter(histogram,0),
415
                                       colormap->array,
415
                                       colormap->array,
416
                                       colormap->HiColor,
416
                                       colormap->HiColor,
417
                                       colormap->numberofColors, 1, 0);
417
                                       colormap->numberofColors, 1, 0);
418
  }
418
  }
419
  ProcessSystemEvents ();
419
  ProcessSystemEvents ();