#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_ */