- 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:
30
sinqhmdriv.c
30
sinqhmdriv.c
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user