gotthard2: vetoref, burstmode

This commit is contained in:
2019-11-15 18:59:27 +01:00
parent a62d6a2fb8
commit 6a27207875
15 changed files with 486 additions and 11 deletions

View File

@@ -778,6 +778,8 @@ class CmdProxy {
/* Gotthard2 Specific */
{"inj_ch", &CmdProxy::InjectChannel},
{"vetophoton", &CmdProxy::VetoPhoton},
{"vetoref", &CmdProxy::VetoReference},
{"burstmode", &CmdProxy::burstmode},
/* CTB Specific */
{"samples", &CmdProxy::Samples},
@@ -927,7 +929,8 @@ class CmdProxy {
std::string ClearROI(int action);
/* Gotthard2 Specific */
std::string InjectChannel(int action);
std::string VetoPhoton(int action);
std::string VetoPhoton(int action);
std::string VetoReference(int action);
/* CTB Specific */
std::string Samples(int action);
std::string Dbitphase(int action);
@@ -1509,6 +1512,9 @@ class CmdProxy {
"[0, 1]\n\t[Gotthard] 1 adds channel intensity with precalculated values when taking an acquisition. Default is 0.");
/* Gotthard2 Specific */
INTEGER_COMMAND(burstmode, getBurstMode, setBurstMode, std::stoi,
"[0, 1]\n\t[Gotthard2] 1 sets to burst mode. 0 sets to continuous mode. Default is burst mode.");
/* CTB Specific */
INTEGER_COMMAND(asamples, getNumberOfAnalogSamples, setNumberOfAnalogSamples, std::stoi,

View File

@@ -891,7 +891,16 @@ class Detector {
Result<std::vector<int>> getVetoPhoton(const int chipIndex, Positions pos = {});
/** [Gotthard2] energy in keV */
void setVetoPhoton(const int chipIndex, const int numPhotons, const int energy, const std::string& fname, Positions pos = {});
void setVetoPhoton(const int chipIndex, const int numPhotons, const int energy, const std::string& fname, Positions pos = {});
/** [Gotthard2] */
void setVetoReference(const int gainIndex, const int value, Positions pos = {});
/** [Gotthard2] burst mode or continuous mode */
void setBurstMode(bool enable, Positions pos = {});
/** [Gotthard2] */
Result<bool> getBurstMode(Positions pos = {});
/**************************************************
* *

View File

@@ -1116,6 +1116,15 @@ class slsDetector : public virtual slsDetectorDefs {
/** [Gotthard2] energy in keV */
void setVetoPhoton(const int chipIndex, const int numPhotons, const int energy, const std::string& fname);
void setVetoReference(const int gainIndex, const int value);
/** [Gotthard2] burst mode or continuous mode */
void setBurstMode(bool enable);
/** [Gotthard2] */
bool getBurstMode();
/**
* Set/get counter bit in detector (Gotthard)
* @param i is -1 to get, 0 to reset and any other value to set the counter