#ifndef LOOK_HEADER_H #define LOOK_HEADER_H #include extern "C" { // 2. Booking and filling void bhs_ (const int *, const int *, const int *, const float *, const float *); void shs_ (const int *, const int *, const float *); void bhsw_ (const int *, const int *, const int *, const float *, const float *); void shsw_ (const int *, const int *, const float *, const float *); void bhd_ (const int *, const int *, const int *, const float *, const float *, const int *, const float *, const float *); void shd_ (const int *, const int *, const float *, const float *); void bhdw_ (const int *, const int *, const int *, const float *, const float *, const int *, const float *, const float *); void shdw_ (const int *, const int *, const float *, const float *, const float *); void sxy_ (const int *, const int *, const float *, const float *); void sxyz_ (const int *, const int *, const float *, const float *, const float *); // 3. Areas in the LOOK data base void sarea_ (char *, const int *, const int); void retar_ (); void lockar_ (char *, const int *, const int *, const int); // 4. Text and graphical representation void stext_ (const int *, const int *, char *, const int); void sattr_ (char *, const int *, const int *, char *, const int, const int); void setdat_ (char *, char *, const int, const int); //5. Printout on line printers void setprp_ (const int *, const int *); void prntf_ (const int *, const int *); void prndex_ (); void prntaf_ (); void lpeaks_ (const int *, const int *); //6. Access to the data void nextdf_ (char *, const int *, const int *, const int); int gparm_ (char *, const int *, const int *, int *, int *, int *, const int); int ghbins_ (char *, const int *, const int *, int *, float *, float *, int *, float *, float *, const int); float centin_ (const int *, const int *, const float *, const float *); int ghstat_ (char *, const int *, const int *, int *, float *, float *, float [4], float [4], const int); void ghnent_ (char *, const int *, const int *, int [], const int); int gdata_ (char *, const int *, const int *, int *, float [], const int *, const int); void rwdata_ (char *, const int *, const int *, const int); int fdata_ (char *, const int *, const int *, const int *, int *, float [], const int *, const int); int copyfg_ (const int *, const int *, int *); int copydf_ (const int *, const int *, const int *, const int *, int *); void copytx_ (const int *, const int *); //7. Global filling void purgdf_ (char *, const int *, const int *, const int); void resetd_ (char *, const int *, const int *, const int); void purgef_ (const int *); void resetf_ (const int *); void ahdata_ (char *, const int *, const int *, const int *, const int *, const float [], const int); void ahstat_ (char *, const int *, const int *, const int *, const float *, const float *, const float [4], const float [4], const int); void ahnent_ (char *, const int *, const int *, const int *, const int); void avdata_ (char *, const int *, const int *, const int *, const float [], const int); //8. Histogram operations //9. Fitting //10. Input/output of distributions void lstore_ (const int *, char *, const int *, const int); } // 2. Booking and filling inline void bhs (const int ifg, const int inr, const int nx, const float xa, const float xb) {bhs_ (&ifg, &inr, &nx, &xa , &xb);}; inline void shs (const int ifg, const int inr, const float x) {shs_ (&ifg, &inr, &x);}; inline void bhsw (const int ifg, const int inr, const int nx, const float xa, const float xb) {bhsw_ (&ifg, &inr, &nx, &xa , &xb);}; inline void shsw (const int ifg, const int inr, const float x, const float w=1) {shsw_ (&ifg, &inr, &x, &w);}; inline void bhd (const int ifg, const int inr, const int nx, const float xa, const float xb, const int ny, const float ya, const float yb) {bhd_ (&ifg, &inr, &nx, &xa, &xb, &ny, &ya, &yb);}; inline void shd (const int ifg, const int inr, const float x, const float y) {shd_ (&ifg, &inr, &x, &y);}; inline void bhdw (const int ifg, const int inr, const int nx, const float xa, const float xb, const int ny, const float ya, const float yb) {bhdw_ (&ifg, &inr, &nx, &xa, &xb, &ny, &ya, &yb);}; inline void shdw (const int ifg, const int inr, const float x, const float y, const float w=1) {shdw_ (&ifg, &inr, &x, &y, &w);}; inline void sxy (const int ifg, const int inr, const float x, const float y) {sxy_ (&ifg, &inr, &x, &y);}; inline void sxyz (const int ifg, const int inr, const float x, const float y, const float z) {sxyz_ (&ifg, &inr, &x, &y, &z);}; // 3. Areas in the LOOK data base inline void sarea (char *arname, const int ivers=0) {sarea_ (arname, &ivers, strlen (arname));}; inline void retar () {retar_();}; inline void lockar (char *arname, const int ivers, const int key=0) {lockar_ (arname, &ivers, &key, strlen (arname));}; // 4. Text and graphical representation inline void stext (const int ifg, const int ipos, char *text) {stext_ (&ifg, &ipos, text, strlen (text));}; inline void sattr (char *datype, const int ifg, const int inr, char *attrib) {sattr_ (datype, &ifg, &inr, attrib, strlen (datype), strlen (attrib));}; inline void setdat (char *datype, char *attrib) {setdat_ (datype, attrib, strlen (datype), strlen (attrib));}; //5. Printout on line printers inline void setprp (const int lunp=6, const int mpr=68) {setprp_ (&lunp, &mpr);}; inline void prntf (const int ifga=0, const int ifgb=0) {prntf_ (&ifga, &ifgb);}; inline void prndex () {prndex_ ();}; inline void prntaf () {prntaf_ ();}; inline void lpeaks (const int ifga, const int ifgb) {lpeaks_ (&ifga, &ifgb);}; //6. Access to the data void nextdf (char *datype, const int ifg, const int inr) {nextdf_ (datype, &ifg, &inr, strlen (datype));}; inline int gparm (char *datype, const int ifg, const int inr, int &nvec, int &nent, int &nwords) {gparm_ (datype, &ifg, &inr, &nvec, &nent, &nwords, strlen (datype)); return nvec;}; inline int ghbins (char *datype, const int ifg, const int inr, int &nx, float &xa, float &xb, int &ny, float &ya, float &yb) {ghbins_ (datype, &ifg, &inr, &nx, &xa, &xb, &ny, &ya, &yb, strlen (datype)); return nx;}; inline float centin (const int i, const int n, const float a, const float b) {return centin_ (&i, &n, &a, &b);}; inline int ghstat (char *datype, const int ifg, const int inr, int &nent, float &sumw, float &rneff, float xstat[4], float ystat[4]) {ghstat_ (datype, &ifg, &inr, &nent, &sumw, &rneff, xstat, ystat, strlen (datype)); return nent;}; inline void ghnent (char *datype, const int ifg, const int inr, int nents[]) {ghnent_ (datype, &ifg, &inr, nents, strlen (datype));}; inline int gdata (char *datype, const int ifg, const int inr, int &nr, float array[], int &ndim) {gdata_ (datype, &ifg, &inr, &nr, array, &ndim, strlen (datype)); return nr == ndim;}; inline void rwdata (char *datype, const int ifg, const int inr=0) {rwdata_ (datype, &ifg, &inr, strlen (datype));}; inline int fdata (char *datype, const int ifg, const int idat, const int inr, int &nr, float array[], int &ndim) {fdata_ (datype, &ifg, &inr, &idat, &nr, array, &ndim, strlen (datype)); return nr == ndim;}; //7. Global filling inline void purgdf (char *datype, const int ifg, const int inr=0) {purgdf_ (datype, &ifg, &inr, strlen (datype));}; inline void resetd (char *datype, const int ifg, const int inr=0) {resetd_ (datype, &ifg, &inr, strlen (datype));}; inline void purgef (const int ifg) {purgef_ (&ifg);}; inline void resetf (const int ifg) {resetf_ (&ifg);}; inline void ahdata (char *datype, const int ifg, const int inr, const int idat, const int nr, float array[]) {ahdata_ (datype, &ifg, &inr, &idat, &nr, array, strlen (datype));}; inline void ahstat (char *datype, const int ifg, const int inr, const int nent, const float sumw, const float rneff, const float xstat[4], const float ystat [4]) {ahstat_ (datype, &ifg, &inr, &nent, &sumw, &rneff, xstat, ystat, strlen (datype));}; inline void ahnent (char *datype, const int ifg, const int inr, const int nents) {ahnent_ (datype, &ifg, &inr, &nents, strlen (datype));}; inline void avdata (char *datype, const int ifg, const int inr, const int nr, float array[]) {avdata_ (datype, &ifg, &inr, &nr, array, strlen (datype));}; inline int copyfg (const int ifg1, const int ifg2, int &ier) {copyfg_ (&ifg1, &ifg2, &ier); return ier;}; inline int copyfg (const int ifg1, const int ifg2) {int ier; copyfg_ (&ifg1, &ifg2, &ier); return ier;}; inline int copydf (const int ifg1, const int inr1, const int ifg2, const int inr2, int &ier) {copydf_ (&ifg1, &inr1, &ifg2, &inr2, &ier); return ier;}; inline int copydf (const int ifg1, const int inr1, const int ifg2, const int inr2) {int ier; copydf_ (&ifg1, &inr1, &ifg2, &inr2, &ier); return ier;}; inline void copytx (const int ifg1, const int ifg2) {copytx_ (&ifg1, &ifg2);}; //8. Histogram operations //9. Fitting //10. Input/output of distributions inline void lstore (const int lun, char *dsname, const int moda=0) {lstore_ (&lun, dsname, &moda, strlen (dsname));}; #endif