- Fixes to hkl code
- Fixes to make RITA work - tasub extended to calculate UB from cell alone, support for elastic mode - New MultiCounter as abstraction for counting on HM's - regression test driver for counters
This commit is contained in:
25
mesure.c
25
mesure.c
@@ -445,7 +445,9 @@ static int MesureCalculateSettings(pMesure self, float fHKL[3], float fSet[4],
|
||||
float fPsi, SConnection *pCon)
|
||||
{
|
||||
int status, np;
|
||||
float step, tolerance;
|
||||
float step, tolerance, fHard;
|
||||
char *scanvar = NULL;
|
||||
char buffer[256];
|
||||
|
||||
SetHKLScanTolerance(self->pCryst,.0);
|
||||
status = CalculateSettings(self->pCryst,fHKL,fPsi,0,fSet,pCon);
|
||||
@@ -460,7 +462,26 @@ static int MesureCalculateSettings(pMesure self, float fHKL[3], float fSet[4],
|
||||
np = getMesureNP(self,(double)fSet[0]);
|
||||
tolerance = (step * (float)np)/2. + .2;
|
||||
SetHKLScanTolerance(self->pCryst,tolerance);
|
||||
return CalculateSettings(self->pCryst,fHKL,fPsi,0,fSet,pCon);
|
||||
status = CalculateSettings(self->pCryst,fHKL,fPsi,0,fSet,pCon);
|
||||
if(status != 1){
|
||||
return status;
|
||||
}
|
||||
scanvar = GetFourCircleScanVar(self->stepTable,fSet[0]);
|
||||
if(scanvar != NULL && strcmp(scanvar,"om") != 0){
|
||||
tolerance *= 2.;
|
||||
strcpy(buffer,"ERROR: 2theta limit problem:");
|
||||
if(!MotorCheckBoundary(self->p2Theta,fSet[0]-tolerance,&fHard,
|
||||
buffer,256-strlen(buffer))){
|
||||
SCWrite(pCon,buffer,eWarning);
|
||||
return 0;
|
||||
}
|
||||
if(!MotorCheckBoundary(self->p2Theta,fSet[0]+tolerance,&fHard,
|
||||
buffer,256-strlen(buffer))){
|
||||
SCWrite(pCon,buffer,eWarning);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return status;
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
int MesureReflection(pMesure self, float fHKL[3], float fPsi,
|
||||
|
||||
Reference in New Issue
Block a user