Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 229 → Rev 230

/cvi/RedPitaya/soccli/H1Dload.cxx
0,0 → 1,59
#include <TH1D.h>
#include <TStyle.h>
#include <TPad.h>
#include "mH1D.h"
 
double H1DGetBinContent(H1D *h1d,int atx){
if (!h1d) return 0;
if (h1d->nx <= atx) return 0;
if (atx < h1d->size ) return h1d->data[atx];
 
return 0;
}
 
 
int H1Dload(char *fname){
 
FILE *fp= fopen(fname ,"rb");
if (!fp) return -1;
H1D *h = new H1D;
int size=sizeof(H1D);
int nb1 = fread(h,1, size,fp);
if (size + h->size !=h->len ) printf("WRONG HEADER ! Check sizeof H2D on CVI\n");
 
size=h->size;
h->data = new double[size];
int nb = fread(h->data,1, size,fp);
printf("hdr nb=%d : sizeof(HDR)=%d +datasize=%d == len=%d\t",nb1,sizeof(H1D), h->size, h->len);
printf("data nb=%d size=%d\n",nb,size);
 
TH1D *h1d = new TH1D(h->name, h->title,
h->nx, h->minx-0.5*h->stepx,h->minx+(h->nx-0.5)*h->stepx );
h1d->SetTitle(h->title);
h1d->SetTitle("");
h1d->GetXaxis()->SetTitle(h->titlex);
h1d->GetYaxis()->SetTitle(h->titley);
printf("TH1D name=%s %s %s %s\nnx=%d %f %f \n",h->name, h->title,h->titlex, h->titley,
h->nx, h->minx,h->minx+h->nx*h->stepx);
 
//h2d->ls();
//h2d->Print();
 
for (int ix=0;ix<h->nx;ix++){
double g=H1DGetBinContent(h,ix);
h1d->SetBinContent(ix+1, g);
// if (g>0) printf("i %d j %d v %g\n",ix+1,iy+1,g);
 
}
 
gStyle->SetOptStat(0);
h1d->Draw("colz");
char hname[100];
sprintf(hname,"%s.pdf",fname);
gPad->SaveAs(hname);
return 0;
}
/cvi/RedPitaya/soccli/mH1D.h
0,0 → 1,79
#ifndef _H1D_H_
#define _H1D_H_
 
#ifdef _CVI_
#include <cvidef.h>
#include <ivi.h>
#include <userint.h>
#else
#define _VI_FUNC /* */
#endif
 
#include <stdio.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 _VI_FUNC H1D_GetYBinCenter(int h2d,int ybin);
double _VI_FUNC H1D_GetYBinCenter(int h2d,int xbin);
 
int _VI_FUNC H1D_Clear(int h2d);
int _VI_FUNC H1D_Print(int h2d);
int _VI_FUNC H1D_Exist(int h2d);
int _VI_FUNC H1D_GetBin(int h2d, double value);
int _VI_FUNC H1D_Fill(int h2d,double x, double val);
int _VI_FUNC H1D_FillBin(int h2d,int x, double val);
int _VI_FUNC H1D_SetBinContent(int h2d,int x, double val);
double _VI_FUNC H1D_GetBinContent(int h2d,int atx);
int _VI_FUNC H1D_Init(int h2d,char *name, char *title,int nx, double minx, double maxx);
int _VI_FUNC H1D_Write(int h2d,const char *fname,const char*opt);
int _VI_FUNC H1D_Write2File(int h2d,FILE *fp);
int _VI_FUNC H1D_SetTitle(int h2d,char *title);
int _VI_FUNC H1D_SetTitleX(int h2d,char *title);
int _VI_FUNC H1D_SetTitleY(int h2d,char *title);
int _VI_FUNC H1D_SetName(int h2d,char *title);
 
char * _VI_FUNC H1D_GetTitleX(int h1d);
 
char * _VI_FUNC H1D_GetTitleY(int h1d);
 
char * _VI_FUNC H1D_GetTitle(int h1d);
 
 
 
int _VI_FUNC H1D_GetNbinsX(int h);
 
double _VI_FUNC H1D_GetMinX(int h);
double _VI_FUNC H1D_GetMaxX(int h);
 
double _VI_FUNC H1D_GetStepX(int h);
double _VI_FUNC H1D_GetMin(int h);
double _VI_FUNC H1D_GetMax(int h);
double * _VI_FUNC H1D_GetData(int h);
int _VI_FUNC H1D_Draw(int histogram,int panel, int control, int *plothandle) ;
 
#endif /* _H1D_H_ */
/cvi/RedPitaya/soccli/thisroot.bat
0,0 → 1,25
@echo off
set MPATH=%~dp0
rem set MPATH=%CD%
 
cd "\"
FOR /D %%x in ("Program Files*") do (
cd /D %%x
if exist "Microsoft SDKs\Windows\v7.1A\Include" set INCLUDE=%INCLUDE%;%CD%%%x\Microsoft SDKs\Windows\v7.1A\Include
For /D %%G in ("Microsoft Visual Studio*") do set VC=%%x\%%G
cd "\"
)
 
echo call "%VC%\VC\vcvarsall.bat" x86
call "%VC%\VC\vcvarsall.bat" x86
 
 
cd "\"
FOR /D %%G IN ("root*") DO SET ROOTSYS=c:\%%G
 
echo ROOTSYS= "%ROOTSYS%"
echo INCLUDE="%INCLUDE%"
 
echo Visual C Development environment
echo nmake -f Makefile.win32
cd /D "%MPATH%"