From 97934e323c282aef52d587b32689c2905633b277 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 2 Oct 2018 15:51:58 +0200 Subject: [PATCH] removed actions --- .../slsDetector/slsDetectorActions.cpp | 505 ------------------ .../slsDetector/slsDetectorActions.h | 284 ---------- 2 files changed, 789 deletions(-) delete mode 100644 slsDetectorSoftware/slsDetector/slsDetectorActions.cpp delete mode 100644 slsDetectorSoftware/slsDetector/slsDetectorActions.h diff --git a/slsDetectorSoftware/slsDetector/slsDetectorActions.cpp b/slsDetectorSoftware/slsDetector/slsDetectorActions.cpp deleted file mode 100644 index bdcc6cebd..000000000 --- a/slsDetectorSoftware/slsDetector/slsDetectorActions.cpp +++ /dev/null @@ -1,505 +0,0 @@ -#include "slsDetectorActions.h" -#include -#include -#include -using namespace std; - - - /** - set action - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript, MAX_ACTIONS} - \param fname for script ("" disable but leaves script unchanged, "none" disables and overwrites) - \returns 0 if action disabled, >0 otherwise - */ -int slsDetectorActions::setAction(int iaction, string fname, string par) { - - int am; - - - if (iaction>=0 && iaction=0 && iaction=0 && iaction=0 && iaction=0 && iaction0 otherwise - */ -int slsDetectorActions::setScan(int iscan, string script, int nvalues, double *values, string par, int precision) { - if (iscan>=0 && iscan=0) { - if (nvalues==0) - scanMode[iscan]=noScan; - else { - nScanSteps[iscan]=nvalues; - if (nvalues>MAX_SCAN_STEPS) - nScanSteps[iscan]=MAX_SCAN_STEPS; - } - } - - if (values && scanMode[iscan]>0 ) { - for (int iv=0; iv=0) - scanPrecision[iscan]=precision; - - if (scanMode[iscan]>0){ - *actionMask |= 1<< (iscan+MAX_ACTIONS); - } else { - *actionMask &= ~(1 << (iscan+MAX_ACTIONS)); - } - - - - setTotalProgress(); - - return scanMode[iscan]; - } else - return -1; - -} - -int slsDetectorActions::setScanScript(int iscan, string script) { - if (iscan>=0 && iscan0){ - *actionMask |= (1 << (iscan+MAX_ACTIONS)); - } else { - *actionMask &= ~(1 << (iscan+MAX_ACTIONS)); - } - - setTotalProgress(); - -#ifdef VERBOSE - cout << "Action mask is " << hex << actionMask << dec << endl; -#endif - return scanMode[iscan]; - } else - return -1; -} - - - -int slsDetectorActions::setScanParameter(int iscan, string par) { - - - if (iscan>=0 && iscan=0 && iscan=0) - scanPrecision[iscan]=precision; - return scanMode[iscan]; - } else - return -1; - -} - -int slsDetectorActions::setScanSteps(int iscan, int nvalues, double *values) { - - if (iscan>=0 && iscan=0) { - if (nvalues==0) - scanMode[iscan]=noScan; - else { - nScanSteps[iscan]=nvalues; - if (nvalues>MAX_SCAN_STEPS) - nScanSteps[iscan]=MAX_SCAN_STEPS; - } - } - - if (values) { - for (int iv=0; iv0){ - *actionMask |= (1 << (iscan+MAX_ACTIONS)); - } else { - *actionMask &= ~(1 << (iscan+MAX_ACTIONS)); - } - -#ifdef VERBOSE - cout << "Action mask is " << hex << actionMask << dec << endl; -#endif - setTotalProgress(); - - - - - return scanMode[iscan]; - - - } else - return -1; - - - - -} - - - - /** - returns scan script - \param iscan can be (0,1) - \returns scan script - */ -string slsDetectorActions::getScanScript(int iscan){ - if (iscan>=0 && iscan=0 && iscan=0 && iscan=0 && iscan=0 && iscanMAX_SCAN_LEVELS) - return -1; - - currentScanVariable[level]=getScanStep(level,istep); - currentScanIndex[level]=istep; - - switch(scanMode[level]) { - case energyScan: - setThresholdEnergy((int)currentScanVariable[level]); //energy scan - break; - case thresholdScan: - setDAC((dacs_t)currentScanVariable[level],THRESHOLD,0); // threshold scan - break; - case dacScan: - setDAC((dacs_t)currentScanVariable[level],(slsDetectorDefs::dacIndex)atoi(getScanParameter(level).c_str()),0); - break; - case trimbitsScan: - trimbit=(int)currentScanVariable[level]; - if(getDetectorsType() == EIGER) - setAllTrimbits(trimbit); - else - setChannel((trimbit<<((int)TRIMBIT_OFF))|((int)COMPARATOR_ENABLE)); // trimbit scan - break; - case positionScan: - //check if channels are connected! - moveDetector(currentScanVariable[level]); - break; - case noScan: - currentScanVariable[level]=0; - break; - case scriptScan: - //Custom scan script level 1. The arguments are passed as nrun=n fn=filename var=v par=p" - sprintf(cmd,"%s nrun=%d fn=%s var=%f par=%s",getScanScript(level).c_str(),getFileIndex(),createFileName().c_str(),currentScanVariable[level],getScanParameter(level).c_str()); -#ifdef VERBOSE - cout << "Executing scan script "<< level << " " << cmd << endl; -#endif - system(cmd); - break; - default: - cout << "Scan mode unknown "<< level << " " < -#include - - -// - -/** - -@short class implementing the script and scan utilities of the detectors - - -*/ - -class slsDetectorActions : public virtual slsDetectorBase -// : public virtual postProcessing -{ - public : - - enum {noScan, energyScan, thresholdScan, trimbitsScan, positionScan, scriptScan, dacScan }; - - - /** default constructor */ - slsDetectorActions(){}; - - /** virtual destructor */ - virtual ~slsDetectorActions(){}; - - /** - set action - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript, MAX_ACTIONS} - \param fname for script ("" disable) - \param par for script - \returns 0 if action disabled, >0 otherwise - */ - int setAction(int iaction,std::string fname="",std::string par=""); - - /** - set action script - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript, MAX_ACTIONS} - \param fname for script ("" disable) - \returns 0 if action disabled, >0 otherwise - */ - int setActionScript(int iaction, std::string fname=""); - - - /** - set action - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript, MAX_ACTIONS} - \param par for script - \returns 0 if action disabled, >0 otherwise - */ - int setActionParameter(int iaction, std::string par=""); - - - /** - returns action script - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript} - \returns action script - */ - std::string getActionScript(int iaction); - - /** - returns action parameter - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript} - \returns action parameter - */ - std::string getActionParameter(int iaction); - - /** - returns action mode - \param iaction can be enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript} - \returns action mode - */ - int getActionMode(int iaction); - - /** - set scan - \param index of the scan (0,1) - \param script fname for script ("" disables, "none" disables and overwrites current, "threshold" threshold scan, "trimbits", trimbits scan) - \param nvalues number of steps (0 disables, -1 leaves current value) - \param values pointer to steps (if NULL leaves current values) - \param par parameter for the scan script ("" leaves unchanged) - \param precision to write the scan varaible in the scan name (-1 unchanged) - \returns 0 is scan disabled, >0 otherwise - */ - int setScan(int index, std::string script="", int nvalues=-1, double *values=NULL, std::string par="", int precision=-1); - - /** set scan script - \param index of the scan (0,1) - \param script fname for script ("" disables, "none" disables and overwrites current, "threshold" threshold scan, "trimbits", trimbits scan) - \returns 0 is scan disabled, >0 otherwise - */ - int setScanScript(int index, std::string script=""); - /** set scan script parameter - \param index of the scan (0,1) - \param script parameter for scan - \returns 0 is scan disabled, >0 otherwise - */ - int setScanParameter(int index, std::string par=""); - /** set scan script parameter - \param index of the scan (0,1) - \param precision scan varaible precision to be printed in file name - \returns 0 is scan disabled, >0 otherwise - */ - int setScanPrecision(int index, int precision=-1); - - - /** set scan steps - \param index of the scan (0,1) - \param nvalues number of steps - \param values pointer to array of values - \returns 0 is scan disabled, >0 otherwise - */ - int setScanSteps(int index, int nvalues=-1, double *values=NULL); - - /** get scan step - \param index of the scan (0,1) - \param istep step number - \returns value of the scan variable - */ - double getScanStep(int index, int istep){if (index=0 && istep>=0 && istep=0) {startIndex=i; lastIndex=startIndex; nowIndex=startIndex;};return startIndex;}; - int setLastIndex(int i=-1){if (i>=0 && i>lastIndex) lastIndex=i; return lastIndex;}; - - - virtual double moveDetector(double)=0; - virtual double getDetectorPosition()=0; - - - - protected: - - - int executeScan(int level, int istep); - int executeAction(int level); - - - - /** action mask */ - int *actionMask; - /** array of action scripts */ - mystring *actionScript; - /** array of actionparameters */ - mystring *actionParameter; - - /** pointer to number of steps [2] */ - int *nScanSteps; - /** pointer to arrays of step values [2] */ - mysteps *scanSteps; - /** pointer to array of scan mode [2] */ - int *scanMode; - - /** POINTER TO ARRAY OF SCAN PRECISION [2] */ - int *scanPrecision; - - /** pointer to array of scan scripts [2] */ - mystring *scanScript; - - /** pointer to array of scan parameters [2] */ - mystring *scanParameter; - - - - - - - /** - current scan variable of the detector - */ - double currentScanVariable[MAX_SCAN_LEVELS]; - - /** - current scan variable index of the detector - */ - int currentScanIndex[MAX_SCAN_LEVELS]; - - - - - private: - int startIndex; - int lastIndex; - int nowIndex; - std::string fName; - - - - - - -}; -#endif