#ifndef _H1D_H_
 
#define _H1D_H_
 
 
 
/* 2d histogramming */
 
#define H1D_ID 0x11
 
#pragma pack(4)
 
typedef struct {
 
  unsigned int id,len;
 
  unsigned int nx;
 
  int nentries;
 
  unsigned int size;
 
  double min;
 
  double max;
 
  double minx;
 
  double stepx;
 
 
 
  char name[20];
 
  char title[100];
 
  char titlex[40];
 
  char titley[40];
 
 
 
  double *data;
 
} H1D;
 
#pragma pack()
 
 
 
 
 
 
 
 
 
double H1DGetYBinCenter(int h2d,int ybin);
 
double H1DGetYBinCenter(int h2d,int xbin);
 
 
 
int H1DClear(int h2d);
 
int H1DPrint(int h2d);
 
int H1DExist(int h2d);
 
int H1DGetBin(int h2d, double value);
 
int H1DFill(int h2d,double x, double val);
 
int H1DFillBin(int h2d,int x, double val);
 
int H1DSetBinContent(int h2d,int x, double val);
 
double H1DGetBinContent(int h2d,int atx);
 
int H1DInit(int h2d,char *name, char *title,int nx, double minx, double stepx);
 
int H1DWrite(int h2d,const char *fname,const char*opt);
 
int H1DWrite2File(int h2d,FILE *fp);
 
int H1DSetTitle(int h2d,char *title);
 
int H1DSetTitleX(int h2d,char *title);
 
int H1DSetTitleY(int h2d,char *title);
 
int H1DSetName(int h2d,char *title);
 
 
 
char * H1DGetTitleX(int h1d);
 
 
 
char * H1DGetTitleY(int h1d);
 
 
 
char * H1DGetTitle(int h1d);
 
 
 
 
 
 
 
int H1DGetNbinsX(int h);
 
 
 
double H1DGetMinX(int h);
 
 
 
double H1DGetStepX(int h);
 
double H1DGetMin(int h);
 
double H1DGetMax(int h);
 
double * H1DGetData(int h);
 
 
 
#endif /* _H1D_H_ */