- Fixes to HM code for AMOR TOF
- A couple of TAS fixes - o2t was fixed to work with any drivable - FOCUS was mended to include beam monitor in data file
This commit is contained in:
48
nxdata.c
48
nxdata.c
@@ -195,7 +195,7 @@
|
||||
if(pVar)
|
||||
{
|
||||
iStat = NXputattr(pFile,"instrument",pVar->text,
|
||||
strlen(pVar->text)+1,DFNT_INT8);
|
||||
strlen(pVar->text)+1,NX_CHAR);
|
||||
if(iStat == NX_ERROR)
|
||||
{
|
||||
SCWrite(pCon,"ERROR: writing instrument attribute to Nexus file",eError);
|
||||
@@ -444,7 +444,7 @@
|
||||
SCWrite(pCon,pBueffel,eError);
|
||||
return 0;
|
||||
}
|
||||
return SNputdata1att(hfil,dataname, DFNT_FLOAT32,1,&fVal,"Units",units);
|
||||
return SNputdata1att(hfil,dataname, NX_FLOAT32,1,&fVal,"Units",units);
|
||||
}
|
||||
#ifdef NONINTF
|
||||
extern float nintf(float f);
|
||||
@@ -518,14 +518,14 @@
|
||||
if(pMot)
|
||||
{
|
||||
iStat = MotorGetSoftPosition(pMot,pCon,&fStart);
|
||||
iStat = SNputdata1att(Nfil,"kollimator1",DFNT_FLOAT32,1,
|
||||
iStat = SNputdata1att(Nfil,"kollimator1",NX_FLOAT32,1,
|
||||
&fStart,"Units","degrees");
|
||||
}
|
||||
pMot = FindMotor(pSics,"CEX2");
|
||||
if(pMot)
|
||||
{
|
||||
iStat = MotorGetSoftPosition(pMot,pCon,&fStart);
|
||||
iStat = SNputdata1att(Nfil,"kollimator2",DFNT_FLOAT32,1,
|
||||
iStat = SNputdata1att(Nfil,"kollimator2",NX_FLOAT32,1,
|
||||
&fStart,"Units","degrees");
|
||||
}
|
||||
NXclosegroup(Nfil); /* leave kollimator */
|
||||
@@ -543,7 +543,7 @@
|
||||
if(pVar)
|
||||
{
|
||||
VarGetFloat(pVar,&fVal);
|
||||
SNputdata1att(Nfil,"lambda",DFNT_FLOAT32,1,&fVal,
|
||||
SNputdata1att(Nfil,"lambda",NX_FLOAT32,1,&fVal,
|
||||
"Units","Angstroem");
|
||||
NXopendata(Nfil,"lambda");
|
||||
NXgetdataID(Nfil,&lWave);
|
||||
@@ -600,7 +600,7 @@
|
||||
pPell = (pSelVar)pCom->pData;
|
||||
assert(iHasType(pPell,"SicsSelVar"));
|
||||
fVal = GetSelValue(pPell,pCon);
|
||||
iStat = SNputdata1(Nfil,"lambda",DFNT_FLOAT32,1,&fVal);
|
||||
iStat = SNputdata1(Nfil,"lambda",NX_FLOAT32,1,&fVal);
|
||||
if(!iStat)
|
||||
{
|
||||
return 0;
|
||||
@@ -613,11 +613,11 @@
|
||||
if(iStat)
|
||||
/* skip if not readable, error has been reported lower down */
|
||||
{
|
||||
SNputdata1att(Nfil,"theta",DFNT_FLOAT32,1,&fTh,
|
||||
SNputdata1att(Nfil,"theta",NX_FLOAT32,1,&fTh,
|
||||
"Units","degrees");
|
||||
SNputdata1att(Nfil,"two_theta",DFNT_FLOAT32, 1,&f2Th,
|
||||
SNputdata1att(Nfil,"two_theta",NX_FLOAT32, 1,&f2Th,
|
||||
"Units","degrees");
|
||||
SNputdata1att(Nfil,"curvature",DFNT_FLOAT32, 1,&fB1,
|
||||
SNputdata1att(Nfil,"curvature",NX_FLOAT32, 1,&fB1,
|
||||
"Units","mm");
|
||||
}
|
||||
/* more monochromatic motors */
|
||||
@@ -667,12 +667,12 @@
|
||||
fVal = GetHistPreset(pHist);
|
||||
if(eCount == eTimer)
|
||||
{
|
||||
iStat = SNputdata1(Nfil,"Preset",DFNT_FLOAT32,1, &fVal);
|
||||
iStat = SNputdata1(Nfil,"Preset",NX_FLOAT32,1, &fVal);
|
||||
}
|
||||
else
|
||||
{
|
||||
fVal = nintf(fVal);
|
||||
iStat = SNputdata1(Nfil,"Preset",DFNT_FLOAT32,1, &fVal);
|
||||
iStat = SNputdata1(Nfil,"Preset",NX_FLOAT32,1, &fVal);
|
||||
}
|
||||
if(!iStat)
|
||||
{
|
||||
@@ -690,11 +690,11 @@
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
iStat = SNputdata1(Nfil,"Monitor",DFNT_INT32,1, &iVal);
|
||||
iStat = SNputdata1(Nfil,"Monitor",NX_INT32,1, &iVal);
|
||||
iVal = GetHistMonitor(pHist, 0, pCon);
|
||||
SNputdata1(Nfil,"beam_monitor",DFNT_INT32,1, &iVal);
|
||||
SNputdata1(Nfil,"beam_monitor",NX_INT32,1, &iVal);
|
||||
iVal = GetHistMonitor(pHist, 4, pCon);
|
||||
SNputdata1(Nfil,"proton_monitor",DFNT_INT32,1, &iVal);
|
||||
SNputdata1(Nfil,"proton_monitor",NX_INT32,1, &iVal);
|
||||
NXopendata(Nfil,"Monitor");
|
||||
NXgetdataID(Nfil,&lMoni);
|
||||
NXclosedata(Nfil);
|
||||
@@ -707,7 +707,7 @@
|
||||
return 0;
|
||||
}
|
||||
fVal = pVar->fVal;
|
||||
iStat = SNputdata1(Nfil,"Step",DFNT_FLOAT32,1, &fVal);
|
||||
iStat = SNputdata1(Nfil,"Step",NX_FLOAT32,1, &fVal);
|
||||
if(!iStat)
|
||||
{
|
||||
return 0;
|
||||
@@ -727,7 +727,7 @@
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
iStat = SNputdata1(Nfil,"no_of_steps",DFNT_INT32,1, &iVal);
|
||||
iStat = SNputdata1(Nfil,"no_of_steps",NX_INT32,1, &iVal);
|
||||
if(iStat < 1)
|
||||
{
|
||||
return 0;
|
||||
@@ -747,7 +747,7 @@
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
iStat = SNputdata1(Nfil,"Counts",DFNT_INT32,iVal, lData);
|
||||
iStat = SNputdata1(Nfil,"Counts",NX_INT32,iVal, lData);
|
||||
if(!iStat)
|
||||
{
|
||||
return 0;
|
||||
@@ -763,7 +763,7 @@
|
||||
pMot = FindMotor(pSics,"a4");
|
||||
assert(pMot);
|
||||
iStat = MotorGetSoftPosition(pMot,pCon,&fStart);
|
||||
iStat = SNputdata1att(Nfil,"two_theta_start",DFNT_FLOAT32,1,
|
||||
iStat = SNputdata1att(Nfil,"two_theta_start",NX_FLOAT32,1,
|
||||
&fStart,"Units","degrees");
|
||||
if(!iStat)
|
||||
{
|
||||
@@ -772,7 +772,7 @@
|
||||
|
||||
/* create 2Theta array and store it */
|
||||
fTheta = NULL;
|
||||
fTheta = (float32 *)malloc(iVal*sizeof(DFNT_FLOAT32));
|
||||
fTheta = (float *)malloc(iVal*sizeof(NX_FLOAT32));
|
||||
if(!fTheta)
|
||||
{
|
||||
return 0;
|
||||
@@ -781,7 +781,7 @@
|
||||
{
|
||||
fTheta[i] = fStart + i*fVal;
|
||||
}
|
||||
iStat = SNputdata1att(Nfil,"two_theta",DFNT_FLOAT32,iVal,
|
||||
iStat = SNputdata1att(Nfil,"two_theta",NX_FLOAT32,iVal,
|
||||
fTheta,"Units","degrees");
|
||||
if(!iStat)
|
||||
{
|
||||
@@ -819,7 +819,7 @@
|
||||
pVar = FindVariable(pSics,"sample_mur");
|
||||
if(pVar)
|
||||
{
|
||||
SNputdata1att(Nfil,"sample_mur",DFNT_FLOAT32, 1,&pVar->fVal,
|
||||
SNputdata1att(Nfil,"sample_mur",NX_FLOAT32, 1,&pVar->fVal,
|
||||
"Units","???");
|
||||
}
|
||||
/* write sample environment here */
|
||||
@@ -834,9 +834,9 @@
|
||||
if(pLog)
|
||||
{
|
||||
VarlogGetMean(pLog,&fMean,&fStdDev);
|
||||
SNputdata1att(Nfil,"temperature_mean",DFNT_FLOAT32, 1,&fMean,
|
||||
SNputdata1att(Nfil,"temperature_mean",NX_FLOAT32, 1,&fMean,
|
||||
"Units","K");
|
||||
SNputdata1att(Nfil,"temperature_stddev",DFNT_FLOAT32, 1,
|
||||
SNputdata1att(Nfil,"temperature_stddev",NX_FLOAT32, 1,
|
||||
&fStdDev,"Units","K");
|
||||
}
|
||||
fVal = pDrive->GetValue(pCom->pData,pCon);
|
||||
@@ -845,7 +845,7 @@
|
||||
{
|
||||
VarGetFloat((pSicsVariable)pDum,&fVal);
|
||||
}
|
||||
SNputdata1att(Nfil,"sample_temperature",DFNT_FLOAT32, 1,&fVal,
|
||||
SNputdata1att(Nfil,"sample_temperature",NX_FLOAT32, 1,&fVal,
|
||||
"Units","K");
|
||||
}
|
||||
NXclosegroup(Nfil); /* sample Vgroup */
|
||||
|
||||
Reference in New Issue
Block a user