lemAutoRun  1.0
PLemAutoRun.h
Go to the documentation of this file.
1 /********************************************************************************************
2 
3  PLemAutoRun.h
4 
5 *********************************************************************************************
6 
7  begin : Andreas Suter, 2006/03/14
8  modfied: :
9  copyright : (C) 2006 by
10  email : andreas.suter@psi.ch
11 
12 ********************************************************************************************/
13 
14 /***************************************************************************
15  * *
16  * This program is free software; you can redistribute it and/or modify *
17  * it under the terms of the GNU General Public License as published by *
18  * the Free Software Foundation; either version 2 of the License, or *
19  * (at your option) any later version. *
20  * *
21  ***************************************************************************/
22 
23 #ifndef _PLEMAUTORUN_H_
24 #define _PLEMAUTORUN_H_
25 
26 #include <QObject>
27 #include <QString>
28 #include <QDateTime>
29 #include <QTimer>
30 #include <QElapsedTimer>
31 #include <QVector>
32 #include <QMap>
33 #include <QIODevice>
34 #include <QXmlStreamReader>
35 #include <QFile>
36 
37 #include "PGlobals.h"
38 #include "PPwd.h"
39 #include "PExperiment.h"
40 #include "PKey.h"
41 
42 #include "lemAutoRun.h"
43 
44 #define SAMPLE_CRYO_INPUT 30
45 #define SAMPLE_CRYO_OUTPUT 20
46 #define SAMPLE_OVEN_OMEGA_INPUT 10
47 #define SAMPLE_OVEN_OMEGA_OUTPUT 4
48 #define SAMPLE_TEMP_HISTO_MAX 10
49 
50 #define NO_ENERGY_LOSS_PARAM 4
51 
52 void TdHvTripFlagChanged(HNDLE, HNDLE, void*);
53 
54 class PLemAutoRun;
55 
56 //----------------------------------------------------------------------------
60 typedef struct {
61  double datetime;
62  float demand_T;
63  float measured_T;
64  float heater;
65  float flow;
66  float pressure;
68 
69 //----------------------------------------------------------------------------
73 typedef struct {
74  int state;
76  int run_number;
80  char start_time[NAME_LENGTH];
82  char stop_time[NAME_LENGTH];
84 } RunInfo;
85 
86 //----------------------------------------------------------------------------
91 {
92  public:
122 
123  PLemAutoRunXMLParser(const QString fln, PLemAutoRun *lar);
125 
126  bool isValid() { return fValid; }
127 
128  bool parse(QIODevice *device);
129  bool startDocument();
130  bool startElement();
131  bool endElement();
132  bool characters();
133  bool endDocument();
134 
135  private:
136  bool fValid{false};
137  QXmlStreamReader fXml;
140 
141  void setAttribute(const QString key, const QXmlStreamAttributes& qAttr);
142 };
143 
144 //----------------------------------------------------------------------------
149 {
150  public:
167 
168  PLemSampleCryoXMLParser(const QString fln, PLemAutoRun *lar);
170 
171  bool isValid() { return fValid; }
172 
173  bool parse(QIODevice *device);
174  bool startDocument();
175  bool startElement();
176  bool endElement();
177  bool characters();
178  bool endDocument();
179 
180  private:
181  bool fValid{false};
182  QXmlStreamReader fXml;
185 };
186 
187 //----------------------------------------------------------------------------
192 {
193  public:
195 
196  PLemHvSettingsFileParser(const QString fln);
198 
199  bool parseIsValid() { return fParseIsValid; }
200 
201  bool parse(QIODevice *device);
202  bool startDocument();
203  bool startElement();
204  bool endElement();
205  bool characters();
206  bool endDocument();
207 
208  bool isValid(QString &errMsg) { errMsg = fErrorMsg; return fValid; }
209 
210  QVector<int> *GetChNo() { return &fHvChNo; }
211  QVector<QString> *GetHvChNames() { return &fHvChName; }
212  QVector<float> *GetHvDemands() { return &fHvDemand; }
213  QVector<float> *GetCurrentLimits() { return &fCurrentLimit; }
214 
215  private:
216  bool fValid;
217  bool fParseIsValid{false};
218  QString fErrorMsg;
219  QString fHvDeviceName;
220  QVector<int> fHvChNo;
221  QVector<QString> fHvChName;
222  QVector<float> fHvDemand;
223  QVector<float> fCurrentLimit;
224 
225  QXmlStreamReader fXml;
227 };
228 
229 //----------------------------------------------------------------------------
233 class PLemAutoRun : public QObject
234 {
235  Q_OBJECT
236 
237  public:
238  PLemAutoRun(QString &host, QString &exp);
239  ~PLemAutoRun();
240 
241  void ReadStartupXML();
242  void ReadSampleCryoXML();
243  void ConnectToExp();
244  bool IsConnected() { return fExp->IsConnected(); }
245  void DisconnectFromExp();
246  bool IsIdle();
247  void FeedMidasWatchdog() { fExp->FeedMidasWatchdog(); }
248 
249  QString *GetHostName() { return &fHostName; }
250  QString *GetExpName() { return &fExpName; }
251  QString GetUserAutoRunSeqFln();
252  QString *GetXMLSchemaFln() { return &fXMLSchemaFln; }
253  QString *GetXMLAutoRunFln() { return &fXMLAutoRunFln; }
255 
258  void FeedLiveDataAutoRun();
259  void ExecAutoRun();
260 
261  public slots:
262  void HandleParseError(int noOfErrors, int idx, int errorNo, int line, QString errorMsg);
263  void DisconnectAndQuit();
264 
265  signals:
266  void ErrorMsg(int noOfErrors, int idx, int errorNo, int line, QString errorMsg);
267  void StatusMsg(const QString statusMsg);
268 
269  private:
272  int fGotoLine;
276 
277  bool fEnableAll;
278  QMap<QString, bool> fEnabled;
279  bool fDebug;
282  bool fFugHvCheck;
285 
286  QString fHostName;
287  QString fExpName;
288  QString fXMLSchemaFln;
289  QString fXMLAutoRunFln;
291  QString fXMLAutoRunHTML;
292  QString fAutoRunPath;
293  QString fFieldPwrSupply;
294 
295  // operation and boundary related variables
300  float fHVTimeout;
301  float fHVAccuracy;
304  float fBHMaxFlow;
305  float fBHMinFlow;
308  float fBHFlowDHeat;
309  float fBHFlowTemp;
312  float fDSetRatio;
316  float fHeaterMax;
317  float fHeaterMin;
319  float fFlowFactor;
325  float fDFlowDp0;
326  float fDFlowDp1;
327  float fDFlowDpExp;
328  bool fLargeFlow;
329 
330  // heat capacity related coefficients
331  float fHeatCapCof1;
332  float fHeatCapCof2;
334 
335  // Coefficients for preferred needle valve settings
347 
348  // temperature and temp-history related variables
363 
364  // magnet power supply limits and calibration parameters
367  float fMagParamWew[2];
369  float fMagParamBpar[2];
370 
371  // critical current for the WEW. For larger currents, the RA HV's should be switched off due to the Penning trap problem
373 
374  // FOM related variables
376 
377  // HV settings path
379 
380  // raw voltage dump related variables
381  bool fDumpInUse;
383  QString fDumpFileName;
384  QFile fDumpFile;
385 
386  // warmup related variables
388  bool fWarmUpVent;
389  QDateTime fWarmUpDateTime;
390 
391  // hotlinked variables
396 
397  // setup related variables
401 
402  // odb path names
403  QString fRunInfoPath;
406  QString fAlarmsPath;
408  QString fRunCommentPath;
409  QString fTofMinPath;
410  QString fTofMaxPath;
411  QString fModNamePath;
412  QString fModDatePath;
413  QString fLemSetupPath;
414  QString fSampleNamePath;
417  QString fSampleCryoPath;
419  QString fClientsPath;
420  QString fHVDemandPath;
421  QString fHVMeasuredPath;
422  QString fHVCurrentPath;
429  QString fWEWInputPath;
430  QString fWEWOutputPath;
431  QString fMagFieldPath;
432  QString fTflInputPath;
433  QString fTflOutputPath;
444  QString fFOMInputPath;
445  QString fFOMOutputPath;
452 
455 
456  QString fAnalyzerName;
457  QString fFrontendName;
458  QString fTflFeName;
459  QString fSampleFeName;
461  QString fWEWFeName;
462  QString fDanfysikFeName;
463  QString fHVFeName;
464  QString fLemvacFeName;
474 
475  friend class PLemAutoRunXMLParser;
477 
480  PAutoRunCmdVector::Iterator fAutoRunCurrentIter;
483 
484  // run related variables
485  bool fRunStopped;
489  QElapsedTimer fRunStarted;
490  float fRunTimeout;
491 
492 
493  // MIDAS experiment and keys
494  PExperiment *fExp;
496  PKey *fAlarmsKey;
498  PKey *fRunInfoKey;
500  PKey *fTofMinKey;
501  PKey *fTofMaxKey;
502  PKey *fModNameKey;
503  PKey *fModDateKey;
504  PKey *fLemSetupKey;
510  PKey *fClientsKey;
511  PKey *fHVDemandKey;
520  PKey *fWEWInputKey;
522  PKey *fMagFieldKey;
523  PKey *fTflInputKey;
536  PKey *fFOMInputKey;
544 
545  void InitEnabled();
546  void SetEnabled(const QString key, bool val);
547 
548  bool GetAllKeys();
549 
550  float GetEnergyLoss(float mod_hv);
551 
552  void CheckClients();
553  void CheckMidasAlarms(PAutoRunCmdVector::Iterator iter);
554 
555  // temperature stability and handling related functions
556  void CheckTempStability();
558  double LakeShoreTime(char *str);
559  void SampleTempTrend();
560  void SampleTempAdjustFlow();
561  float SampleTempPrefHeaterOutput(float heaterRange);
562  bool SampleTempStable();
563  void SampleTempConsiderFlow();
565  void SampleTempSetNeedleValve(float value);
567  float EmpiricalFlow(float Tset, float rampSpeed);
568  float NeedleValve(float Tset);
569  float SetDemandTempRamping(QString rampParam);
570  void SetFlowAndNeedleValve(QString flowParam, float &rampSpeed, float newDemandTemp, float deltaT, float flowScale); // for Konti's
571  void SetFlow(QString flowParam); // for LowTemp
572  void SetLSMode(AutoRunCmd *arc);
574  void WaitUntilSampleLSReady();
575  void SetLSSetpoint(float setpoint, float rampSpeed);
576  void SetOmegaSetpoint(float setpoint);
577  void SetFlowTweak(float flow);
578 
579  int CheckFieldCmd(QString &errMsg);
580  void DegaussWEW(AutoRunCmd *arc);
581  void DegaussDanfysik(AutoRunCmd *arc);
582  void Degauss(AutoRunCmd *arc);
583  void DegaussSpinRot(AutoRunCmd *arc);
584  void ExecNext();
585  void RunStart(AutoRunCmd *arc);
586  void RunStop(AutoRunCmd *arc);
587  bool RunStopCheck();
588  void SetIgnoreAlarms(AutoRunCmd *arc);
589  void SetIgnoreClients(AutoRunCmd *arc);
590  void SetDump(AutoRunCmd *arc);
591  void SetFieldWEWL(AutoRunCmd *arc);
592  void SetFieldWEWH(AutoRunCmd *arc);
593  void SetFieldDanfysik(AutoRunCmd *arc);
594  void SetField(AutoRunCmd *arc);
595  void SetSpinRot(AutoRunCmd *arc);
596  void SetFOM(AutoRunCmd *arc);
597  void SetLEMSetup(AutoRunCmd *arc);
598  void SetModInfo(AutoRunCmd *arc);
599  bool CheckOdbType(INT type, AutoRunCmd *arc);
600  void CheckForOdbSetDataCmds();
601  void SetOdbData(AutoRunCmd *arc);
602  void SetOdbDataArray(AutoRunCmd *arc);
603  void SetSampleHV(AutoRunCmd *arc);
604  void SetRA_HV(AutoRunCmd *arc);
605  void SetTransportHV(AutoRunCmd *arc);
606  bool CheckForTransportHvCmd();
607  bool LoadHvSettings(PAutoRunCmdVector::Iterator currentIter, QString fln, int lineNo, bool simulated=false);
608  void SetHvOff(AutoRunCmd *arc);
609  void SetTfl(AutoRunCmd *arc);
610  void SetTemp(AutoRunCmd *arc);
611  void SetTempOvenOmega(AutoRunCmd *arc);
612  void SetTitle(AutoRunCmd *arc);
613  void HandleOdbTitleTags(QString &title);
614  void SetTof(AutoRunCmd *arc);
615  void SetWait(AutoRunCmd *arc);
616  void SetBPV(AutoRunCmd *arc);
617  bool SetBPV(int valve, int cmd);
618  bool GetBPV();
620  void ChangeSampleChamberHV(bool down);
621  void RawVoltageDump();
622  void CheckForWarmUpCmd();
623  void WarmUp(PAutoRunCmdVector::Iterator iter);
624  void GotoLine(PAutoRunCmdVector::Iterator &iter, int max);
625 
626  QString GetAutoRunSequence();
627  bool ShowComments();
628  int GetGotoLine();
629  void SetGotoLine(const int line);
630  int GetRunState();
631  void UpdateRunState(const int state);
632  void UpdateWebPage(PAutoRunCmdVector::Iterator currentIter, int tag, int lineNo = 0, QString errMsg = "");
633  void CleanLiveData();
634  void FeedLiveDataErrors(int noOfErrors, int idx, int /*errorNo*/, int line, QString errorMsg);
635 
636  void Wait(int timeout);
637 
638  friend void TdHvTripFlagChanged(HNDLE, HNDLE, void*);
639 
640  private slots:
641  void NetworkConnectionLost();
642  void ReceivedShutdownCmd();
643  void UpdateStatusMsg(const QString statusMsg);
644 };
645 
646 #endif // _PLEMAUTORUN_H_
QString fDanfysikOutputPath
ODB path to the danfysik output variables.
Definition: PLemAutoRun.h:428
QVector< QString > fHvChName
Definition: PLemAutoRun.h:221
void WaitUntilSampleLSReady()
QString * GetXMLAutoRunFln()
Definition: PLemAutoRun.h:253
QString fModDatePath
ODB path to the moderator growing date.
Definition: PLemAutoRun.h:412
float fPrefNeedleValveAbsStep
absolute change in SampleTempConsiderNeedleValve
Definition: PLemAutoRun.h:346
PKey * fTofMaxKey
pointer to the ODB key: TOF max
Definition: PLemAutoRun.h:501
ELemAutoRunKeyWords fKey
key tag for the parsing process
Definition: PLemAutoRun.h:139
void SampleTempConsiderFlow()
void SetOdbData(AutoRunCmd *arc)
QString fSetupBparEnabledPath
ODB path to the Bpar enabled flag.
Definition: PLemAutoRun.h:451
void NetworkConnectionLost()
slot executed if the network connection is lost
PKey * fAlarmsKey
pointer to the ODB key: alarms
Definition: PLemAutoRun.h:496
QString fDanfysikFeName
name of the danfysik scfe in the ODB
Definition: PLemAutoRun.h:462
PKey * fFOMOutputKey
pointer to the ODB key: FOM output values
Definition: PLemAutoRun.h:537
QString fWEWInputPath
ODB path to the WEW input variable.
Definition: PLemAutoRun.h:429
int online_mode
specifies the expected acquisition mode
Definition: PLemAutoRun.h:75
void RunStart(AutoRunCmd *arc)
void SetFieldWEWL(AutoRunCmd *arc)
int fAutoRunState
autorun run state as defined under /AutoRun/Run State
Definition: PLemAutoRun.h:275
#define SAMPLE_OVEN_OMEGA_INPUT
Definition: PLemAutoRun.h:46
void UpdateWebPage(PAutoRunCmdVector::Iterator currentIter, int tag, int lineNo=0, QString errMsg="")
float demand_T
setpoint to be reached
Definition: PLemAutoRun.h:62
float fDFlowDp1
DFDP_0 + DFDP_1 * exp( DFDP_EXP * Temp )
Definition: PLemAutoRun.h:326
QVector< float > * GetCurrentLimits()
Definition: PLemAutoRun.h:213
void SetSampleHV(AutoRunCmd *arc)
DWORD stop_time_binary
binary format of the stop time
Definition: PLemAutoRun.h:83
bool fWarmUpVent
warmup with vent flag, false=no vent, true=vent
Definition: PLemAutoRun.h:388
void SetGotoLine(const int line)
PLemAutoRun::SetGotoLine.
bool fNeedleValveInUse
Tag for use of electric needle valve.
Definition: PLemAutoRun.h:336
QString fTflFeName
Definition: PLemAutoRun.h:458
QString GetUserAutoRunSeqFln()
PLemAutoRun::GetUserAutoRunSeqFln.
ELemHvSettingsKeyWords fKey
key tag for the parsing process
Definition: PLemAutoRun.h:226
bool fSetupBparEnabled
true if the Bpar magnet is in use. This is fed with the Danfysik power supply.
Definition: PLemAutoRun.h:400
QString fHVDetectorDemandPath
ODB path to the HV Detectors demand variables.
Definition: PLemAutoRun.h:423
void ChangeSampleChamberHV(bool down)
bool fSampleFeRunning
flag indicating if the sample_scfe is running (LakeShore, BH)
Definition: PLemAutoRun.h:468
float fBHFlowOffset
variable needed to calculate the flow if non is explicitly given (see SetTemp())
Definition: PLemAutoRun.h:311
float fHeatCapCof1
heat Capacity of cryo =
Definition: PLemAutoRun.h:331
QString fSampleNamePath
ODB path to the sample name.
Definition: PLemAutoRun.h:414
void SetRA_HV(AutoRunCmd *arc)
PKey * fTflInputKey
pointer to the ODB key: tfl input values
Definition: PLemAutoRun.h:523
PKey * fSetupWewEnabledKey
pointer to the ODB key: WEW enabled flag
Definition: PLemAutoRun.h:542
QString fSampleOvenOmegaFeName
name of the oven omega scfe in the ODB
Definition: PLemAutoRun.h:460
float GetEnergyLoss(float mod_hv)
void SampleTempTrend()
void HandleOdbTitleTags(QString &title)
PLemAutoRun::HandleOdbTitleTags.
PKey * fClientsKey
pointer to the ODB key: running clients
Definition: PLemAutoRun.h:510
bool fTflFeRunning
flag indicating if the tfl_scfe is running
Definition: PLemAutoRun.h:467
PKey * fSetupSampleEnabledKey
pointer to the ODB key: Sample enabled flag
Definition: PLemAutoRun.h:541
float fPrefNeedleValveCof_4_0
NV setting = _1_0 * _1_1 * T for 15<T.
Definition: PLemAutoRun.h:343
QString GetAutoRunSequence()
PLemAutoRun::GetAutoRunSequence.
void SetTemp(AutoRunCmd *arc)
void SetSampleLSZoneSettings()
QVector< float > * GetHvDemands()
Definition: PLemAutoRun.h:212
PKey * fModNameKey
pointer to the ODB key: moderator info
Definition: PLemAutoRun.h:502
void SetFieldWEWH(AutoRunCmd *arc)
QString fTflInputPath
ODB path to the tfl input variables.
Definition: PLemAutoRun.h:432
float fFlowMaxRelFlowDiffToConsider
maximum rel flow error to consider
Definition: PLemAutoRun.h:324
float fBHMinFlow
min. allowed flow for the bronkhorst flow meter
Definition: PLemAutoRun.h:305
bool parse(QIODevice *device)
bool fSetupWewEnabled
true if the WEW magnet is in use. This is fed with the WEWL/H power supplies.
Definition: PLemAutoRun.h:399
void ReadSampleCryoXML()
PLemAutoRunXMLParser(const QString fln, PLemAutoRun *lar)
bool fSetupSampleEnabled
true if the sample frontend is enabled (normal operation), otherwise MCP2 setup.
Definition: PLemAutoRun.h:398
QString fLemvacOutputPath
ODB path to the lemvac output variables.
Definition: PLemAutoRun.h:443
PAutoRunCmdVector::Iterator fAutoRunCurrentIter
current autorun cmd
Definition: PLemAutoRun.h:480
PKey * fDanfysikInputKey
pointer to the ODB key: danfysik input variables
Definition: PLemAutoRun.h:518
bool fHVFeRunning
flag indicating if the hv_fug_scfe is running
Definition: PLemAutoRun.h:472
bool fAnalyzerRunning
flag indicating if the analyzer is running
Definition: PLemAutoRun.h:465
void SetFlowAndNeedleValve(QString flowParam, float &rampSpeed, float newDemandTemp, float deltaT, float flowScale)
QString fSpinRotAnglePath
ODB path to the spin rotation angle.
Definition: PLemAutoRun.h:416
QString fMagFieldPath
ODB path to the magnetic field value.
Definition: PLemAutoRun.h:431
QString fLemSetupPath
ODB path to the LEM setup info.
Definition: PLemAutoRun.h:413
PKey * fDanfysikOutputKey
pointer to the ODB key: danfysik output variables
Definition: PLemAutoRun.h:519
bool parse(QIODevice *device)
float fPrefNeedleValveCof_3_1
Definition: PLemAutoRun.h:342
bool fRunCheckEvents
if true check number of events, otherwise check time
Definition: PLemAutoRun.h:487
float fBHFlowPHeat0
see SampleTempAdjustFlow()
Definition: PLemAutoRun.h:306
double datetime
time as obtained from the LS340 or the system
Definition: PLemAutoRun.h:61
QVector< int > fHvChNo
Definition: PLemAutoRun.h:220
float fDanfysikMaxCurrent
maximal allowed current for the danfysik power supply
Definition: PLemAutoRun.h:368
int fCurrentAutoRunCmd
number of the current autorun cmd
Definition: PLemAutoRun.h:482
QString fFieldPwrSupply
name of the power supply to generate the magnetic field (WEWL, WEWH, danfysik)
Definition: PLemAutoRun.h:293
void SetFOM(AutoRunCmd *arc)
bool fDumpInUse
flag telling if a raw data dump is going on
Definition: PLemAutoRun.h:381
QString fXMLAutoRunValidateFln
path-file name of the generated XML-autorun sequence for validation
Definition: PLemAutoRun.h:290
void CheckMidasAlarms(PAutoRunCmdVector::Iterator iter)
void SetTfl(AutoRunCmd *arc)
PLemAutoRun::SetTfl.
bool parse(QIODevice *device)
SampleTempInfo fSampleTempHisto[SAMPLE_TEMP_HISTO_MAX]
array holding the sample temperature history
Definition: PLemAutoRun.h:358
QString fFOMOutputPath
ODB path to the FOM output variables.
Definition: PLemAutoRun.h:445
void StatusMsg(const QString statusMsg)
float fAbsMaxTempDiff
absolute temperature deviation allowed in stability test
Definition: PLemAutoRun.h:313
float fHeaterMin
min. acceptable heater value
Definition: PLemAutoRun.h:317
#define NO_ENERGY_LOSS_PARAM
Definition: PLemAutoRun.h:50
float flow
helium flow (read back)
Definition: PLemAutoRun.h:65
float fWEWHMaxCurrent
maximal allowed current for the WEWH power supply
Definition: PLemAutoRun.h:366
QString fLemvacFeName
name of the lemvac_scfe in the ODB
Definition: PLemAutoRun.h:464
float fHVDemandSampleChamber[5]
demand HV of the sample chamber
Definition: PLemAutoRun.h:302
QString fAutoRunSequence
autorun sequence file name as found under /AutoRun/Auto Run Sequence
Definition: PLemAutoRun.h:270
void GetDemandHVSampleChamber()
void RawVoltageDump()
void SetFieldDanfysik(AutoRunCmd *arc)
void SetOmegaSetpoint(float setpoint)
int requested_transition
see MIDAS manual 1.9.5 or later
Definition: PLemAutoRun.h:79
void ErrorMsg(int noOfErrors, int idx, int errorNo, int line, QString errorMsg)
QString fSampleOvenOmegaInputPath
ODB path to the sample oven omega: input variables.
Definition: PLemAutoRun.h:440
void SetLEMSetup(AutoRunCmd *arc)
QString fAlarmsPath
ODB path to the alarms.
Definition: PLemAutoRun.h:406
bool RunStopCheck()
QString * GetExpName()
Definition: PLemAutoRun.h:250
QString * GetHostName()
Definition: PLemAutoRun.h:249
float fBHFlowTemp
variable needed to calculate the flow if non is explicitly given (see SetTemp())
Definition: PLemAutoRun.h:309
QString fMagParamBparPath
ODB path to the Bpar parameters (A -> G)
Definition: PLemAutoRun.h:448
PKey * fSampleSensorTypeKey
pointer to the ODB key: sample cryo LakeShore sensor type assignement
Definition: PLemAutoRun.h:527
QString fAutoRunPath
path to the autorun sequence directory
Definition: PLemAutoRun.h:292
QString fXMLAutoRunHTML
path-file name of the HTML autorun status page
Definition: PLemAutoRun.h:291
QString fBeamlineDemandPath
ODB path to the beamline demand variables.
Definition: PLemAutoRun.h:446
float fDSetRatio
ratio at which the PID-D has to be switched back (for temperature increase)
Definition: PLemAutoRun.h:312
void ExecNext()
void CheckClients()
int fGotoLine
address to jump to within a running autorun. Defined under /AutoRun/GotoLine
Definition: PLemAutoRun.h:272
float fPrefNeedleValveCof_1_1
Definition: PLemAutoRun.h:338
QString fRunInfoPath
ODB path to the run info.
Definition: PLemAutoRun.h:403
PKey * fSpinRotMagOutputKey
pointer to the ODB key: danfysik spin rotator output variables
Definition: PLemAutoRun.h:517
int state
1 = stopped, 2 = paused, 3 = running
Definition: PLemAutoRun.h:74
void DegaussDanfysik(AutoRunCmd *arc)
QString fAlarmTdHvTripPath
ODB path to the TD HV trip alarm/warning.
Definition: PLemAutoRun.h:407
void FeedLiveDataAutoRun()
PLemAutoRun::FeedLiveDataAutoRun.
QString fNextAutoRunSequence
next autorun sequence file name as found under /AutoRun/Next
Definition: PLemAutoRun.h:273
QString fSampleFeName
name of the tfl_scfe in the ODB
Definition: PLemAutoRun.h:459
#define SAMPLE_CRYO_OUTPUT
Definition: PLemAutoRun.h:45
void Wait(int timeout)
float fDFlowDp0
calculates d(flow)/dP from d(flow)/dP =
Definition: PLemAutoRun.h:325
double fSampleHistoTime
time stamp of the current reading in seconds since 1-1-2000
Definition: PLemAutoRun.h:354
float fHeatCapCof3
Definition: PLemAutoRun.h:333
PLemAutoRun * fLar
pointer to the calling class
Definition: PLemAutoRun.h:183
PKey * fHVDetectorMeasuredKey
pointer to the ODB key: HV Detector measured values
Definition: PLemAutoRun.h:515
PKey * fSampleChannelKey
pointer to the ODB key: sample cryo LakeShore channel assignement
Definition: PLemAutoRun.h:526
bool fEnableAll
flag telling if all watched clients and equipments will be enabled/disabled by default.
Definition: PLemAutoRun.h:277
float SetDemandTempRamping(QString rampParam)
void SetAutoRunSeq(PAutoRunCmdVector *arcv)
Definition: PLemAutoRun.h:257
QFile fDumpFile
file for dumping raw_voltage
Definition: PLemAutoRun.h:384
bool ShowComments()
PLemAutoRun::ShowComments.
float fFlowTimeoutReduction
timeout between gradual flow reduction while cooling
Definition: PLemAutoRun.h:322
float fFieldTimeout
time in which the field ramping must be accomplished (in (sec))
Definition: PLemAutoRun.h:298
void UpdateRunState(const int state)
UpdateRunState.
PKey * fSpinRotAngleKey
pointer to the ODB key: spin rotation angle
Definition: PLemAutoRun.h:507
float fMaxTempIncrease
maximal temperature increase without shuting down the HV
Definition: PLemAutoRun.h:297
float fBHMaxFlow
max. allowed flow for the bronkhorst flow meter
Definition: PLemAutoRun.h:304
int CheckFieldCmd(QString &errMsg)
PLemAutoRun(QString &host, QString &exp)
QVector< AutoRunCmd > PAutoRunCmdVector
Definition: lemAutoRun.h:233
SampleTempInfo fSampleTempTrend
1st derivative of the quadratic model of the temperature control parameters
Definition: PLemAutoRun.h:360
QString fHVMeasuredPath
ODB path to the FUG HV measured variables.
Definition: PLemAutoRun.h:421
int fHvTripFlag
flag: set if the TD HV trip alarm fired
Definition: PLemAutoRun.h:284
QString fTofMaxPath
ODB path to the TOF max.
Definition: PLemAutoRun.h:410
bool CheckForTransportHvCmd()
bool fFrontendRunning
flag indicating if the frontend is running
Definition: PLemAutoRun.h:466
float fFOMCurrentAccuracy
current accuracy needed before going on (in (mA))
Definition: PLemAutoRun.h:375
QString fHvSettingsPath
Definition: PLemAutoRun.h:378
void ConnectToExp()
PKey * fLemvacInputKey
pointer to the ODB key: lemvac input values
Definition: PLemAutoRun.h:534
QString fModNamePath
ODB path to the moderator info.
Definition: PLemAutoRun.h:411
float fHeatCapCof2
HC_1 * T + HC_2 * T² + HC_3 * T³
Definition: PLemAutoRun.h:332
bool fWEWFeRunning
flag indicating if the wew_scfe is running
Definition: PLemAutoRun.h:469
float fSampleOvenOmegaInput[SAMPLE_OVEN_OMEGA_INPUT]
Definition: PLemAutoRun.h:394
QString fSampleCtrlChPath
ODB path to the sample cryo LakeShore control channel.
Definition: PLemAutoRun.h:434
void SetBPV(AutoRunCmd *arc)
bool fWarmUpWished
warmup command present
Definition: PLemAutoRun.h:387
#define SAMPLE_OVEN_OMEGA_OUTPUT
Definition: PLemAutoRun.h:47
bool fRAPulsingEnabled
flag: if true, the RA pulsing is enabled and hence WEW can take any field values. ...
Definition: PLemAutoRun.h:283
POdbTagVector * fOdbTagVector
pointer to the ODB tag list
Definition: PLemAutoRun.h:478
PKey * fEnergyLossParamKey
pointer to the ODB key: energy loss parameters
Definition: PLemAutoRun.h:509
QString fTriggerEventsPath
ODB path to the trigger events.
Definition: PLemAutoRun.h:404
float fRunTimeout
time in sec after which the run shall be stopped.
Definition: PLemAutoRun.h:490
int transition_in_progress
tag indicating that a transition is in progress, i.e. state is not well defined
Definition: PLemAutoRun.h:77
void GotoLine(PAutoRunCmdVector::Iterator &iter, int max)
PKey * fSampleOvenOmegaOutputKey
pointer to the ODB key: sample oven omega output values
Definition: PLemAutoRun.h:533
float fPrefNeedleValveCof_4_1
Definition: PLemAutoRun.h:344
float fFlowSetAbsolute
absolute flow deviation allowed in stability test
Definition: PLemAutoRun.h:321
float fFlowSetRatio
relative flow deviation allowed in stability test
Definition: PLemAutoRun.h:320
QString fSampleOvenOmegaOutputPath
ODB path to the sample oven omega: output variables.
Definition: PLemAutoRun.h:441
float fMaxTempTrend
max. acceptable temperature trend
Definition: PLemAutoRun.h:315
QString fMagParamWewPath
ODB path to the WEW parameters (A -> G)
Definition: PLemAutoRun.h:447
bool fDanfysikFeRunning
flag indicating if the danfysik_scfe is running
Definition: PLemAutoRun.h:470
QString fClientsPath
ODB path to the running clients.
Definition: PLemAutoRun.h:419
QString fSampleSensorTypePath
ODB path to the sample cryo LakeShore sensor type assignement.
Definition: PLemAutoRun.h:436
PKey * fSpinRotEnabledKey
pointer to the ODB key: spin rotation enabled flag
Definition: PLemAutoRun.h:506
int start_abort
Definition: PLemAutoRun.h:78
void SetTitle(AutoRunCmd *arc)
void SampleTempSetNeedleValve(float value)
int run_number
run number
Definition: PLemAutoRun.h:76
PKey * fHVDetectorDemandKey
pointer to the ODB key: HV Detector demand values
Definition: PLemAutoRun.h:514
void Degauss(AutoRunCmd *arc)
float SampleTempPrefHeaterOutput(float heaterRange)
PKey * fBeamlineDemandKey
pointer to the ODB key: Beamline demand values
Definition: PLemAutoRun.h:538
PKey * fTofMinKey
pointer to the ODB key: TOF min
Definition: PLemAutoRun.h:500
double fSampleHistoLastTime
time stamp of the previous reading in seconds since 1-1-2000
Definition: PLemAutoRun.h:355
float fHVTimeout
time in which the HV ramping must be accomplished (in (sec))
Definition: PLemAutoRun.h:300
bool SampleTempStable()
bool fSampleTempUnstable
flag: true if the temperature is out of bound
Definition: PLemAutoRun.h:353
PKey * fTflOutputKey
pointer to the ODB key: tfl output values
Definition: PLemAutoRun.h:524
PKey * fHVDemandKey
pointer to the ODB key: FUG HV demand values
Definition: PLemAutoRun.h:511
float fTimeoutFlowSet
timeout before the flow can be changed next time (see SetTemp())
Definition: PLemAutoRun.h:318
QString fSpinRotEnabledPath
ODB path to the spin rotation enabled flag.
Definition: PLemAutoRun.h:415
void SetOdbTagVec(POdbTagVector *otv)
Definition: PLemAutoRun.h:256
QString fAnalyzerName
name of the analyzer in the ODB
Definition: PLemAutoRun.h:456
PKey * fMagParamWewKey
pointer to the ODB key: WEW magnet parameters (A -> G)
Definition: PLemAutoRun.h:539
void SetIgnoreClients(AutoRunCmd *arc)
QString fDumpFileName
file name of the raw voltage dump. It will be RawVoltageOutput-<cryo>-<datatime>.dat, e.g. RawVoltageOutput-Konti4-220316-1235.dat
Definition: PLemAutoRun.h:383
float fRelMaxTempDiff
relative temperature deviation allowed in stability test
Definition: PLemAutoRun.h:314
float fBHFlowDHeat
see SampleTempAdjustFlow()
Definition: PLemAutoRun.h:308
PKey * fMagFieldKey
pointer to the ODB key: magnetic field value
Definition: PLemAutoRun.h:522
PKey * fSampleOvenOmegaInputKey
pointer to the ODB key: sample oven omega input values
Definition: PLemAutoRun.h:532
float fBHFlowTempOffset
variable needed to calculate the flow if non is explicitly given (see SetTemp())
Definition: PLemAutoRun.h:310
QString fDanfysikInputPath
ODB path to the danfysik input variables.
Definition: PLemAutoRun.h:427
QString fHVCurrentPath
ODB path to the FUG HV measured current variables.
Definition: PLemAutoRun.h:422
void SetFlow(QString flowParam)
QString fTofMinPath
ODB path to the TOF min.
Definition: PLemAutoRun.h:409
QVector< QString > * GetHvChNames()
Definition: PLemAutoRun.h:211
float measured_T
measured temperature of the sample
Definition: PLemAutoRun.h:63
bool CheckOdbType(INT type, AutoRunCmd *arc)
bool fLemvacFeRunning
flag indicating if the lemvac_scfe is running
Definition: PLemAutoRun.h:473
float fFlowFactor
constant used in SampleTempConsiderFlow()
Definition: PLemAutoRun.h:319
bool GetAllKeys()
void SetLSSetpoint(float setpoint, float rampSpeed)
QVector< float > fHvDemand
Definition: PLemAutoRun.h:222
QString fXMLSchemaFln
path-file name of the XML-schema for the parsing process
Definition: PLemAutoRun.h:288
QString fEnergyLossParamPath
ODB path to the energy loss parameters.
Definition: PLemAutoRun.h:418
SampleTempInfo fSampleTempAverage
average temperature control parameters
Definition: PLemAutoRun.h:359
float heater
sample heater
Definition: PLemAutoRun.h:64
QString * GetXMLAutoRunValidateFln()
Definition: PLemAutoRun.h:254
void SetModInfo(AutoRunCmd *arc)
QString fExpName
experiment name
Definition: PLemAutoRun.h:287
void SetTempOvenOmega(AutoRunCmd *arc)
int fDumpCounter
counter of raw voltage dumps
Definition: PLemAutoRun.h:382
PKey * fSampleCryoKey
pointer to the ODB key: sample cryo name
Definition: PLemAutoRun.h:508
PKey * fSampleRawVoltageKey
pointer to the ODB key: sample cryo raw voltage
Definition: PLemAutoRun.h:530
float fPrefNeedleValveCof_2_1
Definition: PLemAutoRun.h:340
float fMagParamBpar[2]
calibration array for the Bpar
Definition: PLemAutoRun.h:369
void FeedLiveDataErrors(int noOfErrors, int idx, int, int line, QString errorMsg)
int fSampleBhOdbOffsetInput
ODB offset of the bronkhorst within the ODB (input variables)
Definition: PLemAutoRun.h:453
QString fXMLAutoRunFln
path-file name of the generated XML-autorun sequence
Definition: PLemAutoRun.h:289
int fSampleHistoNoEntries
number of entries in the history
Definition: PLemAutoRun.h:356
float fDFlowDpExp
Definition: PLemAutoRun.h:327
#define SAMPLE_CRYO_INPUT
Definition: PLemAutoRun.h:44
void UpdateStatusMsg(const QString statusMsg)
void SetTof(AutoRunCmd *arc)
void SetIgnoreAlarms(AutoRunCmd *arc)
void DisconnectAndQuit()
void SetOdbDataArray(AutoRunCmd *arc)
void RunStop(AutoRunCmd *arc)
int fSampleHistoPos
index of the start of the ring buffer
Definition: PLemAutoRun.h:357
void SetHvOff(AutoRunCmd *arc)
PLemSampleCryoXMLParser(const QString fln, PLemAutoRun *lar)
void WarmUp(PAutoRunCmdVector::Iterator iter)
PKey * fLemSetupKey
pointer to the ODB key: LEM setup info
Definition: PLemAutoRun.h:504
int fSampleBhOdbOffsetOutput
ODB offset of the bronkhorst within the ODB (output variables.
Definition: PLemAutoRun.h:454
void CheckForOdbSetDataCmds()
QString fSampleChannelPath
ODB path to the sample cryo LakeShore channel assignement.
Definition: PLemAutoRun.h:435
float NeedleValve(float Tset)
void SetSpinRot(AutoRunCmd *arc)
bool fSampleTempRegulation
flag: if true temperature regulation algorithm is active, otherwise not
Definition: PLemAutoRun.h:352
PKey * fSetupBparEnabledKey
pointer to the ODB key: Bpar enabled flag
Definition: PLemAutoRun.h:543
int fSampleCtrlCh
index of channel A or B
Definition: PLemAutoRun.h:349
friend void TdHvTripFlagChanged(HNDLE, HNDLE, void *)
float fPrefNeedleValveRelStep
relative change in SampleTempConsiderNeedleValve
Definition: PLemAutoRun.h:345
void SetLSHeaterRangeAndPIDs(AutoRunCmd *arc)
QMap< QString, bool > fEnabled
map holding the enable/disable info of all the clients and equipments
Definition: PLemAutoRun.h:278
bool fSampleOvenOmegaFeRunning
flag indicating if the omega_scfe is running
Definition: PLemAutoRun.h:471
void SetTransportHV(AutoRunCmd *arc)
bool fRunStopped
flag telling if a run is stopped
Definition: PLemAutoRun.h:485
DWORD start_time_binary
binary format of the start time
Definition: PLemAutoRun.h:81
void DegaussWEW(AutoRunCmd *arc)
QDateTime fWarmUpDateTime
when the warmup shall take place
Definition: PLemAutoRun.h:389
void SetFlowTweak(float flow)
ELemSampleCryoKeyWords fKey
key tag for the parsing process
Definition: PLemAutoRun.h:184
PKey * fTriggerEventsKey
pointer to the ODB key: trigger event
Definition: PLemAutoRun.h:495
PKey * fSampleInputKey
pointer to the ODB key: sample cryo input values
Definition: PLemAutoRun.h:528
float pressure
helium pressure at cryo outlet
Definition: PLemAutoRun.h:66
float fMagParamWew[2]
calibration array for the WEW
Definition: PLemAutoRun.h:367
PKey * fModDateKey
pointer to the ODB key: moderator growing date
Definition: PLemAutoRun.h:503
void CheckForWarmUpCmd()
QString fTflOutputPath
ODB path to the tfl output variables.
Definition: PLemAutoRun.h:433
QString fHVDemandPath
ODB path to the FUG HV demand variables.
Definition: PLemAutoRun.h:420
QXmlStreamReader fXml
xml stream reader object
Definition: PLemAutoRun.h:225
SampleTempInfo fSampleTempSecond
2nd derivative of the quadratic model of the temperature control parameters
Definition: PLemAutoRun.h:361
bool LoadHvSettings(PAutoRunCmdVector::Iterator currentIter, QString fln, int lineNo, bool simulated=false)
void HandleParseError(int noOfErrors, int idx, int errorNo, int line, QString errorMsg)
QString fSetupWewEnabledPath
ODB path to the WEW enabled flag.
Definition: PLemAutoRun.h:450
PKey * fWEWInputKey
pointer to the ODB key: WEW input values
Definition: PLemAutoRun.h:520
PKey * fAlarmTdHvTripKey
pointer to the ODB key: TD HV trip trigger flag
Definition: PLemAutoRun.h:497
bool fIgnoreClients
flag: if true checking of clients will not performed: only for testing!!
Definition: PLemAutoRun.h:280
void ReceivedShutdownCmd()
slot executed if a shutdown command has been received
PLemHvSettingsFileParser(const QString fln)
float EmpiricalFlow(float Tset, float rampSpeed)
QString fSampleInputPath
ODB path to the sample cryo (LakeShore, bronkhorst) input variables.
Definition: PLemAutoRun.h:437
int GetRunState()
PLemAutoRun::GetRunState.
void SetLSMode(AutoRunCmd *arc)
PKey * fSampleNameKey
pointer to the ODB key: Sample Name
Definition: PLemAutoRun.h:505
QElapsedTimer fRunStarted
time stamp, when a run started
Definition: PLemAutoRun.h:489
QString fSampleOutputPath
ODB path to the sample cryo (LakeShore, bronkhorst) output variables.
Definition: PLemAutoRun.h:438
PKey * fSampleOutputKey
pointer to the ODB key: sample cryo output values
Definition: PLemAutoRun.h:529
PKey * fHVMeasuredKey
pointer to the ODB key: FUG HV measured values
Definition: PLemAutoRun.h:512
QVector< float > fCurrentLimit
Definition: PLemAutoRun.h:223
QVector< OdbTag > POdbTagVector
Definition: lemAutoRun.h:249
QString fWEWOutputPath
ODB path to the WEW output variable.
Definition: PLemAutoRun.h:430
void FeedMidasWatchdog()
Definition: PLemAutoRun.h:247
#define SAMPLE_TEMP_HISTO_MAX
Definition: PLemAutoRun.h:48
PKey * fSampleNoConnectionKey
pointer to the ODB key: sample cryo no connection
Definition: PLemAutoRun.h:531
QString fFOMInputPath
ODB path to the FOM input variables.
Definition: PLemAutoRun.h:444
QString fHVDetectorMeasuredPath
ODB path to the HV Detectors measured variables.
Definition: PLemAutoRun.h:424
int GetGotoLine()
PLemAutoRun::GetGotoLine.
QString * GetXMLSchemaFln()
Definition: PLemAutoRun.h:252
float fSampleOutput[SAMPLE_CRYO_OUTPUT]
Definition: PLemAutoRun.h:393
float fSampleOvenOmegaOutput[SAMPLE_OVEN_OMEGA_OUTPUT]
Definition: PLemAutoRun.h:395
float fFlowLowestFlowToConsider
lowest demand flow to consider
Definition: PLemAutoRun.h:323
float fSampleInput[SAMPLE_CRYO_INPUT]
Definition: PLemAutoRun.h:392
QXmlStreamReader fXml
xml stream reader object
Definition: PLemAutoRun.h:137
double LakeShoreTime(char *str)
float fWEWCriticalCurrentRA
critical current for the WEW. For larger currents, the RA HV&#39;s should be switched off due to the Penn...
Definition: PLemAutoRun.h:372
PKey * fRunCommentKey
pointer to the ODB key: run comment
Definition: PLemAutoRun.h:499
float fWEWLMaxCurrent
maximal allowed current for the WEWL power supply
Definition: PLemAutoRun.h:365
float fEnergyLossParam[NO_ENERGY_LOSS_PARAM]
energy loss parameters
Definition: PLemAutoRun.h:296
int fSampleCryoInUse
-1 = no cryo in use, 0 = Konti-Cryo in use, 1 = LowTemp-Cryo, 2 = Oven in use
Definition: PLemAutoRun.h:350
QString fAutoRunStatusMsg
autorun status message as defined under /AutoRun/Status
Definition: PLemAutoRun.h:274
void CheckTempStabilityOvenOmega()
bool fDebug
flag: if true additional messages will be sent to the stdin
Definition: PLemAutoRun.h:279
bool fShowComments
flag indicating if comments shall be suppressed. Defined under /AutoRun/Shows Comments ...
Definition: PLemAutoRun.h:271
int fNoOfAutoRunCmds
number of autorun cmd&#39;s
Definition: PLemAutoRun.h:481
bool fLargeFlow
signaling extra large flow during cool down
Definition: PLemAutoRun.h:328
void CleanLiveData()
void SampleTempAdjustFlow()
void ReadStartupXML()
void SampleTempConsiderNeedleValve()
void DegaussSpinRot(AutoRunCmd *arc)
QString fHVFeName
name of the hv_fug_scfe in the ODB
Definition: PLemAutoRun.h:463
PAutoRunCmdVector * fAutoRunCmdVector
pointer to the autorun cmd list
Definition: PLemAutoRun.h:479
float fHVAccuracy
HV accuracy needed before going on (in (kV))
Definition: PLemAutoRun.h:301
void InitEnabled()
PLemAutoRun::InitEnabled.
QString fSpinRotMagInputPath
ODB path to the danfysik spin rotator magnet power supply input variables.
Definition: PLemAutoRun.h:425
QString fLemvacInputPath
ODB path to the lemvac input variables.
Definition: PLemAutoRun.h:442
void TdHvTripFlagChanged(HNDLE, HNDLE, void *)
PKey * fHVCurrentKey
pointer to the ODB key: FUG HV measured current values
Definition: PLemAutoRun.h:513
PLemAutoRun * fLar
pointer to the calling class
Definition: PLemAutoRun.h:138
QVector< int > * GetChNo()
Definition: PLemAutoRun.h:210
float fPrefNeedleValveCof_3_0
NV setting = _1_0 * _1_1 * T for 10<T<15.
Definition: PLemAutoRun.h:341
PKey * fWEWOutputKey
pointer to the ODB key: WEW output values
Definition: PLemAutoRun.h:521
PKey * fMagParamBparKey
pointer to the ODB key: Bpar magnet parameters (A -> G)
Definition: PLemAutoRun.h:540
PKey * fLemvacOutputKey
pointer to the ODB key: lemvac output values
Definition: PLemAutoRun.h:535
float fFieldAccuracy
field accuracy needed before going on (in (A))
Definition: PLemAutoRun.h:299
float fPrefNeedleValveCof_2_0
NV setting = _1_0 * _1_1 * T for 8<T<10.
Definition: PLemAutoRun.h:339
float fBHFlowPHeat1
see SampleTempAdjustFlow()
Definition: PLemAutoRun.h:307
void SetDump(AutoRunCmd *arc)
QString fSpinRotMagOutputPath
ODB path to the danfysik spin rotator magnet power supply output variables.
Definition: PLemAutoRun.h:426
PKey * fFOMInputKey
pointer to the ODB key: FOM input values
Definition: PLemAutoRun.h:536
void SetField(AutoRunCmd *arc)
QString fWEWFeName
name of the WEW scfe in the ODB
Definition: PLemAutoRun.h:461
QString fFrontendName
name of the frontend in the ODB
Definition: PLemAutoRun.h:457
bool isValid(QString &errMsg)
Definition: PLemAutoRun.h:208
PExperiment * fExp
pointer to the midas experiment
Definition: PLemAutoRun.h:494
void SetWait(AutoRunCmd *arc)
bool fFugHvCheck
flag: if true demand==measured checks for the FUG HV devices will be performed, otherwise not...
Definition: PLemAutoRun.h:282
float fLemVacValveInitialState[2]
states of BPVX, BPVY before set temperature
Definition: PLemAutoRun.h:303
void CheckTempStability()
bool fIgnoreAlarms
flag: if true checking for any alarms will not performed: only for testing!!
Definition: PLemAutoRun.h:281
QString fHostName
host name on which the experiment is running
Definition: PLemAutoRun.h:286
RunInfo fRunInfo
run info structure (mirror of the ODB /Runinfo)
Definition: PLemAutoRun.h:486
bool IsConnected()
Definition: PLemAutoRun.h:244
SampleTempInfo fSampleTempRmsqd
RMS of the quadratic model of the temperature control parameters.
Definition: PLemAutoRun.h:362
float fPrefNeedleValveCof_1_0
NV setting = _1_0 * _1_1 * T for T<8.
Definition: PLemAutoRun.h:337
float fHeaterMax
max. acceptable heater value
Definition: PLemAutoRun.h:316
PKey * fRunInfoKey
pointer to the ODB key: run info
Definition: PLemAutoRun.h:498
void setAttribute(const QString key, const QXmlStreamAttributes &qAttr)
PLemAutoRunXMLParser::setAttribute.
QString fEnableOnOffModePath
ODB path to the enable On/Off mode, e.g. red/green, pulsing RA.
Definition: PLemAutoRun.h:405
int fRunNoEventsNeeded
number of events needed to complete a run
Definition: PLemAutoRun.h:488
QString fSetupSampleEnabledPath
ODB path to the sample enabled flag.
Definition: PLemAutoRun.h:449
QXmlStreamReader fXml
xml stream reader object
Definition: PLemAutoRun.h:182
QString fSampleRawVoltagePath
ODB path to the LakeShore Raw Voltage.
Definition: PLemAutoRun.h:439
void ExecAutoRun()
QString fSampleCryoPath
ODB path to the sample cryo name used.
Definition: PLemAutoRun.h:417
QString fRunCommentPath
ODB path to the run comment.
Definition: PLemAutoRun.h:408
void SetEnabled(const QString key, bool val)
PLemAutoRun::SetEnabled.
void DisconnectFromExp()
float fSampleTempAccuracy
temperature tolerance
Definition: PLemAutoRun.h:351
PKey * fSpinRotMagInputKey
pointer to the ODB key: danfysik spin rotator input variables
Definition: PLemAutoRun.h:516
PKey * fSampleCtrlChKey
pointer to the ODB key: sample cryo LakeShore control channel
Definition: PLemAutoRun.h:525