- 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

@@ -353,7 +353,7 @@
{
SinqHMDriv *pInternal;
pICountable pCountInt = NULL;
int status, iMode;
int status, iMode, nHist;
char pError[132];
assert(self);
@@ -369,9 +369,20 @@
pInternal->pCounter->pDriv->fPreset = self->fCountPreset;
}
/* first zero the HM */
status = SINQHMZero(pInternal->pMaster,-1,0,self->iRank*self->iLength);
if(self->eHistMode == ePSD && self->iTimeChan > 2){
/*
this is special for AMOR and should be replaced by -1, -1, -1
logic ASAP
*/
nHist = (self->iDims[0]*self->iDims[1] + 2) *self->iTimeChan;
status = SINQHMZero(pInternal->pMaster,-1,-1,-1);
}else{
status = SINQHMZero(pInternal->pMaster,-1,0,self->iRank*self->iLength);
}
/*
status = SINQHMZero(pInternal->pMaster,-1,-1,-1);
*/
if(status < 0)
{
pInternal->iLastHMError = status;
@@ -897,7 +908,7 @@
SinqHMDriv *pInternal;
char pError[132];
HistInt *plData = NULL;
int i, status;
int i, status, nHist;
assert(self);
assert(self->pPriv);
@@ -905,7 +916,12 @@
pInternal = self->pPriv;
/* get memory */
plData = (HistInt *)malloc(self->iRank*self->iLength*sizeof(HistInt));
if(self->eHistMode == ePSD && self->iTimeChan > 2){
nHist = self->iDims[0]*self->iDims[1]*self->iTimeChan;
} else {
nHist = self->iRank*self->iLength;
}
plData = (HistInt *)malloc(nHist*sizeof(HistInt));
if(!plData)
{
PrintHMError("Out of memory in SinqHMDriv",pCon);
@@ -913,12 +929,12 @@
}
/* initialise */
for(i = 0; i < self->iRank*self->iLength; i++)
for(i = 0; i < nHist; i++)
{
plData[i] = iVal;
}
status = SQSetHistogram(self,pCon, -1,0,self->iRank*self->iLength, plData);
status = SQSetHistogram(self,pCon, -1,0,nHist, plData);
free(plData);
return status;
}