- 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:
cvs
2002-07-19 15:09:21 +00:00
parent e0c5afcf6d
commit bde19bb973
38 changed files with 604 additions and 249 deletions

View File

@@ -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 */