- Fixed proton current in mesure
This commit is contained in:
@ -14,7 +14,7 @@ NILIB=$(SINQDIR)/sl-linux/lib/cib.o
|
|||||||
include sllinux_def
|
include sllinux_def
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = -I$(HDFROOT)/include -DHDF4 -DHDF5 -DNXXML $(NI) \
|
CFLAGS = -I$(HDFROOT)/include -DNXXML -DHDF4 -DHDF5 $(NI) \
|
||||||
-Ipsi/hardsup -I. \
|
-Ipsi/hardsup -I. \
|
||||||
-Werror -DCYGNUS -DNONINTF -g $(DFORTIFY) \
|
-Werror -DCYGNUS -DNONINTF -g $(DFORTIFY) \
|
||||||
-Wall -Wno-unused -Wno-comment -Wno-switch
|
-Wall -Wno-unused -Wno-comment -Wno-switch
|
||||||
|
23
mesure.c
23
mesure.c
@ -987,10 +987,28 @@ static int ScanReflection(pMesure self, float twoTheta, SConnection *pCon)
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
static double getProtonAverage(pMesure self){
|
||||||
|
int np, i;
|
||||||
|
long *lData = NULL, lSum = 0;
|
||||||
|
|
||||||
|
np = GetScanNP(self->pScanner);
|
||||||
|
lData = (long *)malloc((np+1)*sizeof(long));
|
||||||
|
if(lData == NULL || np == 0){
|
||||||
|
return 0.;
|
||||||
|
}
|
||||||
|
memset(lData,0,(np+1)*sizeof(long));
|
||||||
|
GetScanMonitor(self->pScanner,2,lData, np);
|
||||||
|
for(i = 0; i < np; i++){
|
||||||
|
lSum += lData[i];
|
||||||
|
}
|
||||||
|
return (double)lSum/(double)np;
|
||||||
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static int WriteReflection(pMesure self, float fHKL[3],SConnection *pCon)
|
static int WriteReflection(pMesure self, float fHKL[3],SConnection *pCon)
|
||||||
{
|
{
|
||||||
float fSum, fSigma, fSet[4], fTemp, fPreset, fStep;
|
float fSum, fSigma, fSet[4], fTemp, fPreset, fStep;
|
||||||
|
double prot;
|
||||||
static float fMax = 10.;
|
static float fMax = 10.;
|
||||||
int iRet, i,ii, iLF, iNP;
|
int iRet, i,ii, iLF, iNP;
|
||||||
char pBueffel[512], pNum[10], pTime[132];
|
char pBueffel[512], pNum[10], pTime[132];
|
||||||
@ -1107,8 +1125,9 @@ static int ScanReflection(pMesure self, float twoTheta, SConnection *pCon)
|
|||||||
SNXFormatTime(pBueffel,512);
|
SNXFormatTime(pBueffel,512);
|
||||||
GetScanVarStep(self->pScanner,0,&fStep);
|
GetScanVarStep(self->pScanner,0,&fStep);
|
||||||
fPreset = GetScanPreset(self->pScanner);
|
fPreset = GetScanPreset(self->pScanner);
|
||||||
fprintf(self->fRefl,"%3d %7.4f %9.0f %7.3f %s\n",iNP,fStep,
|
prot = getProtonAverage(self);
|
||||||
fPreset,fTemp,pBueffel);
|
fprintf(self->fRefl,"%3d %7.4f %9.0f %7.3f %12f %s\n",iNP,fStep,
|
||||||
|
fPreset,fTemp,prot, pBueffel);
|
||||||
for(i = 0; i < iNP; i++)
|
for(i = 0; i < iNP; i++)
|
||||||
{
|
{
|
||||||
for(ii = 0; ii < 10 && i < iNP; ii++)
|
for(ii = 0; ii < 10 && i < iNP; ii++)
|
||||||
|
6
nread.c
6
nread.c
@ -689,6 +689,7 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
|||||||
int conCount = 0;
|
int conCount = 0;
|
||||||
char num[50];
|
char num[50];
|
||||||
IPair *options = NULL;
|
IPair *options = NULL;
|
||||||
|
char buffer[1024];
|
||||||
|
|
||||||
self = (pNetRead)pData;
|
self = (pNetRead)pData;
|
||||||
assert(self);
|
assert(self);
|
||||||
@ -707,6 +708,7 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
|||||||
FD_ZERO(&lMask);
|
FD_ZERO(&lMask);
|
||||||
iRet = LLDnodePtr2First(self->iList);
|
iRet = LLDnodePtr2First(self->iList);
|
||||||
iCount = 0;
|
iCount = 0;
|
||||||
|
buffer[0] = '\0';
|
||||||
while(iRet != 0)
|
while(iRet != 0)
|
||||||
{
|
{
|
||||||
LLDnodeDataTo(self->iList,&NItem);
|
LLDnodeDataTo(self->iList,&NItem);
|
||||||
@ -714,6 +716,8 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
|||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
sprintf(num,"%d, type %d:", NItem.pSock->sockid, NItem.eType);
|
||||||
|
strcat(buffer,num);
|
||||||
FD_SET(NItem.pSock->sockid,&lMask);
|
FD_SET(NItem.pSock->sockid,&lMask);
|
||||||
if(NItem.pSock->sockid > iCount)
|
if(NItem.pSock->sockid > iCount)
|
||||||
{
|
{
|
||||||
@ -725,6 +729,8 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
|||||||
|
|
||||||
snprintf(num,50,"%d", conCount);
|
snprintf(num,50,"%d", conCount);
|
||||||
IFSetOption(pSICSOptions,"ConnectionCount",num);
|
IFSetOption(pSICSOptions,"ConnectionCount",num);
|
||||||
|
IFSetOption(pSICSOptions,"ConMask",buffer);
|
||||||
|
|
||||||
|
|
||||||
/* the select itself */
|
/* the select itself */
|
||||||
tmo.tv_usec = self->iReadTimeout;
|
tmo.tv_usec = self->iReadTimeout;
|
||||||
|
@ -112,6 +112,7 @@
|
|||||||
assert(TaskerInit(&self->pTasker));
|
assert(TaskerInit(&self->pTasker));
|
||||||
|
|
||||||
pSICSOptions = IFAddOption(pSICSOptions, "ConnectionCount","0");
|
pSICSOptions = IFAddOption(pSICSOptions, "ConnectionCount","0");
|
||||||
|
pSICSOptions = IFAddOption(pSICSOptions, "ConMask","0");
|
||||||
|
|
||||||
/* initialize the network watcher */
|
/* initialize the network watcher */
|
||||||
NetWatchInit();
|
NetWatchInit();
|
||||||
|
@ -286,7 +286,7 @@ static int sendZippedNodeData(pHdb node, SConnection *pCon){
|
|||||||
}
|
}
|
||||||
memset(iData,0,newValue.arrayLength*sizeof(int));
|
memset(iData,0,newValue.arrayLength*sizeof(int));
|
||||||
for(i = 0; i < newValue.arrayLength; i++){
|
for(i = 0; i < newValue.arrayLength; i++){
|
||||||
iData[i] = htonl((int)newValue.v.floatArray[i]*65536.);
|
iData[i] = htonl((int)(newValue.v.floatArray[i]*65536.));
|
||||||
}
|
}
|
||||||
SCWriteZipped(pCon,path, iData,
|
SCWriteZipped(pCon,path, iData,
|
||||||
newValue.arrayLength*sizeof(int));
|
newValue.arrayLength*sizeof(int));
|
||||||
|
Reference in New Issue
Block a user