lemAutoRun  1.0
Public Slots | Signals | Public Member Functions | Private Slots | Private Member Functions | Private Attributes | Friends | List of all members
PLemAutoRun Class Reference

#include <PLemAutoRun.h>

Inheritance diagram for PLemAutoRun:
Inheritance graph
[legend]
Collaboration diagram for PLemAutoRun:
Collaboration graph
[legend]

Public Slots

void HandleParseError (int noOfErrors, int idx, int errorNo, int line, QString errorMsg)
 
void DisconnectAndQuit ()
 

Signals

void ErrorMsg (int noOfErrors, int idx, int errorNo, int line, QString errorMsg)
 
void StatusMsg (const QString statusMsg)
 

Public Member Functions

 PLemAutoRun (QString &host, QString &exp)
 
 ~PLemAutoRun ()
 
void ReadStartupXML ()
 
void ReadSampleCryoXML ()
 
void ConnectToExp ()
 
void DisconnectFromExp ()
 
bool IsIdle ()
 
void FeedMidasWatchdog ()
 
QString * GetHostName ()
 
QString * GetExpName ()
 
QString GetUserAutoRunSeqFln ()
 PLemAutoRun::GetUserAutoRunSeqFln. More...
 
QString * GetXMLSchemaFln ()
 
QString * GetXMLAutoRunFln ()
 
QString * GetXMLAutoRunValidateFln ()
 
void SetOdbTagVec (POdbTagVector *otv)
 
void SetAutoRunSeq (PAutoRunCmdVector *arcv)
 
void FeedLiveDataAutoRun ()
 PLemAutoRun::FeedLiveDataAutoRun. More...
 
void ExecAutoRun ()
 

Private Slots

void NetworkConnectionLost ()
 slot executed if the network connection is lost More...
 
void ReceivedShutdownCmd ()
 slot executed if a shutdown command has been received More...
 
void UpdateStatusMsg (const QString statusMsg)
 

Private Member Functions

void InitEnabled ()
 PLemAutoRun::InitEnabled. More...
 
void SetEnabled (const QString key, bool val)
 PLemAutoRun::SetEnabled. More...
 
bool GetAllKeys ()
 
float GetEnergyLoss (float mod_hv)
 
void CheckClients ()
 
void CheckMidasAlarms (PAutoRunCmdVector::Iterator iter)
 
void CheckTempStability ()
 
void CheckTempStabilityOvenOmega ()
 
double LakeShoreTime (char *str)
 
void SampleTempTrend ()
 
void SampleTempAdjustFlow ()
 
float SampleTempPrefHeaterOutput (float heaterRange)
 
bool SampleTempStable ()
 
void SampleTempConsiderFlow ()
 
void SampleTempConsiderNeedleValve ()
 
void SampleTempSetNeedleValve (float value)
 
void SetSampleLS340ZoneSettings ()
 
float EmpiricalFlow (float Tset, float rampSpeed)
 
float NeedleValve (float Tset)
 
float SetDemandTempRamping (QString rampParam)
 
void SetFlowAndNeedleValve (QString flowParam, float &rampSpeed, float newDemandTemp, float deltaT, float flowScale)
 
void SetFlow (QString flowParam)
 
void SetLS340Mode (AutoRunCmd *arc)
 
void SetLS340HeaterRangeAndPIDs (AutoRunCmd *arc)
 
void WaitUntilSampleLS340Ready ()
 
void SetLS340Setpoint (float setpoint, float rampSpeed)
 
void SetOmegaSetpoint (float setpoint)
 
void SetFlowTweak (float flow)
 
int CheckFieldCmd (QString &errMsg)
 
void DegaussWEW (AutoRunCmd *arc)
 
void DegaussDanfysik (AutoRunCmd *arc)
 
void Degauss (AutoRunCmd *arc)
 
void DegaussSpinRot (AutoRunCmd *arc)
 
void ExecNext ()
 
void RunStart (AutoRunCmd *arc)
 
void RunStop (AutoRunCmd *arc)
 
bool RunStopCheck ()
 
void SetIgnoreAlarms (AutoRunCmd *arc)
 
void SetIgnoreClients (AutoRunCmd *arc)
 
void SetDump (AutoRunCmd *arc)
 
void SetFieldWEWL (AutoRunCmd *arc)
 
void SetFieldWEWH (AutoRunCmd *arc)
 
void SetFieldDanfysik (AutoRunCmd *arc)
 
void SetField (AutoRunCmd *arc)
 
void SetSpinRot (AutoRunCmd *arc)
 
void SetFOM (AutoRunCmd *arc)
 
void SetLEMSetup (AutoRunCmd *arc)
 
void SetModInfo (AutoRunCmd *arc)
 
bool CheckOdbType (INT type, AutoRunCmd *arc)
 
void CheckForOdbSetDataCmds ()
 
void SetOdbData (AutoRunCmd *arc)
 
void SetOdbDataArray (AutoRunCmd *arc)
 
void SetSampleHV (AutoRunCmd *arc)
 
void SetRA_HV (AutoRunCmd *arc)
 
void SetTransportHV (AutoRunCmd *arc)
 
bool CheckForTransportHvCmd ()
 
bool LoadHvSettings (PAutoRunCmdVector::Iterator currentIter, QString fln, int lineNo, bool simulated=false)
 
void SetHvOff (AutoRunCmd *arc)
 
void SetTfl (AutoRunCmd *arc)
 PLemAutoRun::SetTfl. More...
 
void SetTemp (AutoRunCmd *arc)
 
void SetTempOvenOmega (AutoRunCmd *arc)
 
void SetTitle (AutoRunCmd *arc)
 
void HandleOdbTitleTags (QString &title)
 PLemAutoRun::HandleOdbTitleTags. More...
 
void SetTof (AutoRunCmd *arc)
 
void SetWait (AutoRunCmd *arc)
 
void SetBPV (AutoRunCmd *arc)
 
bool SetBPV (int valve, int cmd)
 
bool GetBPV ()
 
void GetDemandHVSampleChamber ()
 
void ChangeSampleChamberHV (bool down)
 
void RawVoltageDump ()
 
void CheckForWarmUpCmd ()
 
void WarmUp (PAutoRunCmdVector::Iterator iter)
 
void GotoLine (PAutoRunCmdVector::Iterator &iter, int max)
 
QString GetAutoRunSequence ()
 PLemAutoRun::GetAutoRunSequence. More...
 
bool ShowComments ()
 PLemAutoRun::ShowComments. More...
 
int GetGotoLine ()
 PLemAutoRun::GetGotoLine. More...
 
void SetGotoLine (const int line)
 PLemAutoRun::SetGotoLine. More...
 
int GetRunState ()
 PLemAutoRun::GetRunState. More...
 
void UpdateRunState (const int state)
 UpdateRunState. More...
 
void UpdateWebPage (PAutoRunCmdVector::Iterator currentIter, int tag, int lineNo=0, QString errMsg="")
 
void CleanLiveData ()
 
void FeedLiveDataErrors (int noOfErrors, int idx, int, int line, QString errorMsg)
 
void Wait (int timeout)
 

Private Attributes

QString fAutoRunSequence
 autorun sequence file name as found under /AutoRun/Auto Run Sequence More...
 
bool fShowComments
 flag indicating if comments shall be suppressed. Defined under /AutoRun/Shows Comments More...
 
int fGotoLine
 address to jump to within a running autorun. Defined under /AutoRun/GotoLine More...
 
QString fNextAutoRunSequence
 next autorun sequence file name as found under /AutoRun/Next More...
 
QString fAutoRunStatusMsg
 autorun status message as defined under /AutoRun/Status More...
 
int fAutoRunState
 autorun run state as defined under /AutoRun/Run State More...
 
bool fEnableAll
 flag telling if all watched clients and equipments will be enabled/disabled by default. More...
 
QMap< QString, bool > fEnabled
 map holding the enable/disable info of all the clients and equipments More...
 
bool fDebug
 flag: if true additional messages will be sent to the stdin More...
 
bool fIgnoreClients
 flag: if true checking of clients will not performed: only for testing!! More...
 
bool fIgnoreAlarms
 flag: if true checking for any alarms will not performed: only for testing!! More...
 
bool fFugHvCheck
 flag: if true demand==measured checks for the FUG HV devices will be performed, otherwise not. This should be true, expcept for test purposes! More...
 
bool fRAPulsingEnabled
 flag: if true, the RA pulsing is enabled and hence WEW can take any field values. More...
 
int fHvTripFlag
 flag: set if the TD HV trip alarm fired More...
 
QString fHostName
 host name on which the experiment is running More...
 
QString fExpName
 experiment name More...
 
QString fXMLSchemaFln
 path-file name of the XML-schema for the parsing process More...
 
QString fXMLAutoRunFln
 path-file name of the generated XML-autorun sequence More...
 
QString fXMLAutoRunValidateFln
 path-file name of the generated XML-autorun sequence for validation More...
 
QString fXMLAutoRunHTML
 path-file name of the HTML autorun status page More...
 
QString fAutoRunPath
 path to the autorun sequence directory More...
 
QString fFieldPwrSupply
 name of the power supply to generate the magnetic field (WEWL, WEWH, danfysik) More...
 
float fEnergyLossParam [NO_ENERGY_LOSS_PARAM]
 energy loss parameters More...
 
float fMaxTempIncrease
 maximal temperature increase without shuting down the HV More...
 
float fFieldTimeout
 time in which the field ramping must be accomplished (in (sec)) More...
 
float fFieldAccuracy
 field accuracy needed before going on (in (A)) More...
 
float fHVTimeout
 time in which the HV ramping must be accomplished (in (sec)) More...
 
float fHVAccuracy
 HV accuracy needed before going on (in (kV)) More...
 
float fHVDemandSampleChamber [5]
 demand HV of the sample chamber More...
 
float fLemVacValveInitialState [2]
 states of BPVX, BPVY before set temperature More...
 
float fBHMaxFlow
 max. allowed flow for the bronkhorst flow meter More...
 
float fBHMinFlow
 min. allowed flow for the bronkhorst flow meter More...
 
float fBHFlowPHeat0
 see SampleTempAdjustFlow() More...
 
float fBHFlowPHeat1
 see SampleTempAdjustFlow() More...
 
float fBHFlowDHeat
 see SampleTempAdjustFlow() More...
 
float fBHFlowTemp
 variable needed to calculate the flow if non is explicitly given (see SetTemp()) More...
 
float fBHFlowTempOffset
 variable needed to calculate the flow if non is explicitly given (see SetTemp()) More...
 
float fBHFlowOffset
 variable needed to calculate the flow if non is explicitly given (see SetTemp()) More...
 
float fDSetRatio
 ratio at which the PID-D has to be switched back (for temperature increase) More...
 
float fAbsMaxTempDiff
 absolute temperature deviation allowed in stability test More...
 
float fRelMaxTempDiff
 relative temperature deviation allowed in stability test More...
 
float fMaxTempTrend
 max. acceptable temperature trend More...
 
float fHeaterMax
 max. acceptable heater value More...
 
float fHeaterMin
 min. acceptable heater value More...
 
float fTimeoutFlowSet
 timeout before the flow can be changed next time (see SetTemp()) More...
 
float fFlowFactor
 constant used in SampleTempConsiderFlow() More...
 
float fFlowSetRatio
 relative flow deviation allowed in stability test More...
 
float fFlowSetAbsolute
 absolute flow deviation allowed in stability test More...
 
float fFlowTimeoutReduction
 timeout between gradual flow reduction while cooling More...
 
float fFlowLowestFlowToConsider
 lowest demand flow to consider More...
 
float fFlowMaxRelFlowDiffToConsider
 maximum rel flow error to consider More...
 
float fDFlowDp0
 calculates d(flow)/dP from d(flow)/dP = More...
 
float fDFlowDp1
 DFDP_0 + DFDP_1 * exp( DFDP_EXP * Temp ) More...
 
float fDFlowDpExp
 
bool fLargeFlow
 signaling extra large flow during cool down More...
 
float fHeatCapCof1
 heat Capacity of cryo = More...
 
float fHeatCapCof2
 HC_1 * T + HC_2 * T² + HC_3 * T³ More...
 
float fHeatCapCof3
 
bool fNeedleValveInUse
 Tag for use of electric needle valve. More...
 
float fPrefNeedleValveCof_1_0
 NV setting = _1_0 * _1_1 * T for T<8. More...
 
float fPrefNeedleValveCof_1_1
 
float fPrefNeedleValveCof_2_0
 NV setting = _1_0 * _1_1 * T for 8<T<10. More...
 
float fPrefNeedleValveCof_2_1
 
float fPrefNeedleValveCof_3_0
 NV setting = _1_0 * _1_1 * T for 10<T<15. More...
 
float fPrefNeedleValveCof_3_1
 
float fPrefNeedleValveCof_4_0
 NV setting = _1_0 * _1_1 * T for 15<T. More...
 
float fPrefNeedleValveCof_4_1
 
float fPrefNeedleValveRelStep
 relative change in SampleTempConsiderNeedleValve More...
 
float fPrefNeedleValveAbsStep
 absolute change in SampleTempConsiderNeedleValve More...
 
int fSampleCtrlCh
 index of channel A or B More...
 
int fSampleCryoInUse
 -1 = no cryo in use, 0 = Konti-Cryo in use, 1 = LowTemp-Cryo, 2 = Oven in use More...
 
float fSampleTempAccuracy
 temperature tolerance More...
 
bool fSampleTempRegulation
 flag: if true temperature regulation algorithm is active, otherwise not More...
 
bool fSampleTempUnstable
 flag: true if the temperature is out of bound More...
 
double fSampleHistoTime
 time stamp of the current reading in seconds since 1-1-2000 More...
 
double fSampleHistoLastTime
 time stamp of the previous reading in seconds since 1-1-2000 More...
 
int fSampleHistoNoEntries
 number of entries in the history More...
 
int fSampleHistoPos
 index of the start of the ring buffer More...
 
SampleTempInfo fSampleTempHisto [SAMPLE_TEMP_HISTO_MAX]
 array holding the sample temperature history More...
 
SampleTempInfo fSampleTempAverage
 average temperature control parameters More...
 
SampleTempInfo fSampleTempTrend
 1st derivative of the quadratic model of the temperature control parameters More...
 
SampleTempInfo fSampleTempSecond
 2nd derivative of the quadratic model of the temperature control parameters More...
 
SampleTempInfo fSampleTempRmsqd
 RMS of the quadratic model of the temperature control parameters. More...
 
float fWEWLMaxCurrent
 maximal allowed current for the WEWL power supply More...
 
float fWEWHMaxCurrent
 maximal allowed current for the WEWH power supply More...
 
float fMagParamWew [2]
 calibration array for the WEW More...
 
float fDanfysikMaxCurrent
 maximal allowed current for the danfysik power supply More...
 
float fMagParamBpar [2]
 calibration array for the Bpar More...
 
float fWEWCriticalCurrentRA
 critical current for the WEW. For larger currents, the RA HV's should be switched off due to the Penning trap problem More...
 
float fFOMCurrentAccuracy
 current accuracy needed before going on (in (mA)) More...
 
QString fHvSettingsPath
 
bool fDumpInUse
 flag telling if a raw data dump is going on More...
 
int fDumpCounter
 counter of raw voltage dumps More...
 
QString fDumpFileName
 file name of the raw voltage dump. It will be RawVoltageOutput-<cryo>-<datatime>.dat, e.g. RawVoltageOutput-Konti4-220316-1235.dat More...
 
QFile fDumpFile
 file for dumping raw_voltage More...
 
bool fWarmUpWished
 warmup command present More...
 
bool fWarmUpVent
 warmup with vent flag, false=no vent, true=vent More...
 
QDateTime fWarmUpDateTime
 when the warmup shall take place More...
 
float fSampleInput [SAMPLE_CRYO_INPUT]
 
float fSampleOutput [SAMPLE_CRYO_OUTPUT]
 
float fSampleOvenOmegaInput [SAMPLE_OVEN_OMEGA_INPUT]
 
float fSampleOvenOmegaOutput [SAMPLE_OVEN_OMEGA_OUTPUT]
 
bool fSetupSampleEnabled
 true if the sample frontend is enabled (normal operation), otherwise MCP2 setup. More...
 
bool fSetupWewEnabled
 true if the WEW magnet is in use. This is fed with the WEWL/H power supplies. More...
 
bool fSetupBparEnabled
 true if the Bpar magnet is in use. This is fed with the Danfysik power supply. More...
 
QString fRunInfoPath
 ODB path to the run info. More...
 
QString fTriggerEventsPath
 ODB path to the trigger events. More...
 
QString fEnableOnOffModePath
 ODB path to the enable On/Off mode, e.g. red/green, pulsing RA. More...
 
QString fAlarmsPath
 ODB path to the alarms. More...
 
QString fAlarmTdHvTripPath
 ODB path to the TD HV trip alarm/warning. More...
 
QString fRunCommentPath
 ODB path to the run comment. More...
 
QString fTofMinPath
 ODB path to the TOF min. More...
 
QString fTofMaxPath
 ODB path to the TOF max. More...
 
QString fModNamePath
 ODB path to the moderator info. More...
 
QString fModDatePath
 ODB path to the moderator growing date. More...
 
QString fLemSetupPath
 ODB path to the LEM setup info. More...
 
QString fSampleNamePath
 ODB path to the sample name. More...
 
QString fSpinRotEnabledPath
 ODB path to the spin rotation enabled flag. More...
 
QString fSpinRotAnglePath
 ODB path to the spin rotation angle. More...
 
QString fSampleCryoPath
 ODB path to the sample cryo name used. More...
 
QString fEnergyLossParamPath
 ODB path to the energy loss parameters. More...
 
QString fClientsPath
 ODB path to the running clients. More...
 
QString fHVDemandPath
 ODB path to the FUG HV demand variables. More...
 
QString fHVMeasuredPath
 ODB path to the FUG HV measured variables. More...
 
QString fHVCurrentPath
 ODB path to the FUG HV measured current variables. More...
 
QString fHVDetectorDemandPath
 ODB path to the HV Detectors demand variables. More...
 
QString fHVDetectorMeasuredPath
 ODB path to the HV Detectors measured variables. More...
 
QString fSpinRotMagInputPath
 ODB path to the danfysik spin rotator magnet power supply input variables. More...
 
QString fSpinRotMagOutputPath
 ODB path to the danfysik spin rotator magnet power supply output variables. More...
 
QString fDanfysikInputPath
 ODB path to the danfysik input variables. More...
 
QString fDanfysikOutputPath
 ODB path to the danfysik output variables. More...
 
QString fWEWInputPath
 ODB path to the WEW input variable. More...
 
QString fWEWOutputPath
 ODB path to the WEW output variable. More...
 
QString fMagFieldPath
 ODB path to the magnetic field value. More...
 
QString fTflInputPath
 ODB path to the tfl input variables. More...
 
QString fTflOutputPath
 ODB path to the tfl output variables. More...
 
QString fSampleCtrlChPath
 ODB path to the sample cryo LS340 control channel. More...
 
QString fSampleChannelPath
 ODB path to the sample cryo LS340 channel assignement. More...
 
QString fSampleSensorTypePath
 ODB path to the sample cryo LS340 sensor type assignement. More...
 
QString fSampleInputPath
 ODB path to the sample cryo (LS340, bronkhorst) input variables. More...
 
QString fSampleOutputPath
 ODB path to the sample cryo (LS340, bronkhorst) output variables. More...
 
QString fSampleDatetimePath
 ODB path to the sample cryo (LS340, bronkhorst) DD date and time variable. More...
 
QString fSampleRawVoltagePath
 ODB path to the LS340 Raw Voltage. More...
 
QString fSampleNoConnectionPath
 ODB path to the sample cryo (LS340, bronkhorst) DD 'no connection' flag. More...
 
QString fSampleOvenOmegaInputPath
 ODB path to the sample oven omega: input variables. More...
 
QString fSampleOvenOmegaOutputPath
 ODB path to the sample oven omega: output variables. More...
 
QString fLemvacInputPath
 ODB path to the lemvac input variables. More...
 
QString fLemvacOutputPath
 ODB path to the lemvac output variables. More...
 
QString fFOMInputPath
 ODB path to the FOM input variables. More...
 
QString fFOMOutputPath
 ODB path to the FOM output variables. More...
 
QString fBeamlineDemandPath
 ODB path to the beamline demand variables. More...
 
QString fMagParamWewPath
 ODB path to the WEW parameters (A -> G) More...
 
QString fMagParamBparPath
 ODB path to the Bpar parameters (A -> G) More...
 
QString fSetupSampleEnabledPath
 ODB path to the sample enabled flag. More...
 
QString fSetupWewEnabledPath
 ODB path to the WEW enabled flag. More...
 
QString fSetupBparEnabledPath
 ODB path to the Bpar enabled flag. More...
 
int fSampleBhOdbOffsetInput
 ODB offset of the bronkhorst within the ODB (input variables) More...
 
int fSampleBhOdbOffsetOutput
 ODB offset of the bronkhorst within the ODB (output variables. More...
 
QString fAnalyzerName
 name of the analyzer in the ODB More...
 
QString fFrontendName
 name of the frontend in the ODB More...
 
QString fTflFeName
 
QString fSampleFeName
 name of the tfl_scfe in the ODB More...
 
QString fSampleOvenOmegaFeName
 name of the oven omega scfe in the ODB More...
 
QString fWEWFeName
 name of the WEW scfe in the ODB More...
 
QString fDanfysikFeName
 name of the danfysik scfe in the ODB More...
 
QString fHVFeName
 name of the hv_fug_scfe in the ODB More...
 
QString fLemvacFeName
 name of the lemvac_scfe in the ODB More...
 
bool fAnalyzerRunning
 flag indicating if the analyzer is running More...
 
bool fFrontendRunning
 flag indicating if the frontend is running More...
 
bool fTflFeRunning
 flag indicating if the tfl_scfe is running More...
 
bool fSampleFeRunning
 flag indicating if the sample_scfe is running (LS340, BH) More...
 
bool fWEWFeRunning
 flag indicating if the wew_scfe is running More...
 
bool fDanfysikFeRunning
 flag indicating if the danfysik_scfe is running More...
 
bool fSampleOvenOmegaFeRunning
 flag indicating if the omega_scfe is running More...
 
bool fHVFeRunning
 flag indicating if the hv_fug_scfe is running More...
 
bool fLemvacFeRunning
 flag indicating if the lemvac_scfe is running More...
 
POdbTagVectorfOdbTagVector
 pointer to the ODB tag list More...
 
PAutoRunCmdVectorfAutoRunCmdVector
 pointer to the autorun cmd list More...
 
PAutoRunCmdVector::Iterator fAutoRunCurrentIter
 current autorun cmd More...
 
int fNoOfAutoRunCmds
 number of autorun cmd's More...
 
int fCurrentAutoRunCmd
 number of the current autorun cmd More...
 
bool fRunStopped
 flag telling if a run is stopped More...
 
RunInfo fRunInfo
 run info structure (mirror of the ODB /Runinfo) More...
 
bool fRunCheckEvents
 if true check number of events, otherwise check time More...
 
int fRunNoEventsNeeded
 number of events needed to complete a run More...
 
QTime fRunStarted
 time stamp, when a run started More...
 
float fRunTimeout
 time in sec after which the run shall be stopped. More...
 
PExperiment * fExp
 pointer to the midas experiment More...
 
PKey * fTriggerEventsKey
 pointer to the ODB key: trigger event More...
 
PKey * fAlarmsKey
 pointer to the ODB key: alarms More...
 
PKey * fAlarmTdHvTripKey
 pointer to the ODB key: TD HV trip trigger flag More...
 
PKey * fRunInfoKey
 pointer to the ODB key: run info More...
 
PKey * fRunCommentKey
 pointer to the ODB key: run comment More...
 
PKey * fTofMinKey
 pointer to the ODB key: TOF min More...
 
PKey * fTofMaxKey
 pointer to the ODB key: TOF max More...
 
PKey * fModNameKey
 pointer to the ODB key: moderator info More...
 
PKey * fModDateKey
 pointer to the ODB key: moderator growing date More...
 
PKey * fLemSetupKey
 pointer to the ODB key: LEM setup info More...
 
PKey * fSampleNameKey
 pointer to the ODB key: Sample Name More...
 
PKey * fSpinRotEnabledKey
 pointer to the ODB key: spin rotation enabled flag More...
 
PKey * fSpinRotAngleKey
 pointer to the ODB key: spin rotation angle More...
 
PKey * fSampleCryoKey
 pointer to the ODB key: sample cryo name More...
 
PKey * fEnergyLossParamKey
 pointer to the ODB key: energy loss parameters More...
 
PKey * fClientsKey
 pointer to the ODB key: running clients More...
 
PKey * fHVDemandKey
 pointer to the ODB key: FUG HV demand values More...
 
PKey * fHVMeasuredKey
 pointer to the ODB key: FUG HV measured values More...
 
PKey * fHVCurrentKey
 pointer to the ODB key: FUG HV measured current values More...
 
PKey * fHVDetectorDemandKey
 pointer to the ODB key: HV Detector demand values More...
 
PKey * fHVDetectorMeasuredKey
 pointer to the ODB key: HV Detector measured values More...
 
PKey * fSpinRotMagInputKey
 pointer to the ODB key: danfysik spin rotator input variables More...
 
PKey * fSpinRotMagOutputKey
 pointer to the ODB key: danfysik spin rotator output variables More...
 
PKey * fDanfysikInputKey
 pointer to the ODB key: danfysik input variables More...
 
PKey * fDanfysikOutputKey
 pointer to the ODB key: danfysik output variables More...
 
PKey * fWEWInputKey
 pointer to the ODB key: WEW input values More...
 
PKey * fWEWOutputKey
 pointer to the ODB key: WEW output values More...
 
PKey * fMagFieldKey
 pointer to the ODB key: magnetic field value More...
 
PKey * fTflInputKey
 pointer to the ODB key: tfl input values More...
 
PKey * fTflOutputKey
 pointer to the ODB key: tfl output values More...
 
PKey * fSampleCtrlChKey
 pointer to the ODB key: sample cryo LS340 control channel More...
 
PKey * fSampleChannelKey
 pointer to the ODB key: sample cryo LS340 channel assignement More...
 
PKey * fSampleSensorTypeKey
 pointer to the ODB key: sample cryo LS340 sensor type assignement More...
 
PKey * fSampleInputKey
 pointer to the ODB key: sample cryo input values More...
 
PKey * fSampleOutputKey
 pointer to the ODB key: sample cryo output values More...
 
PKey * fSampleDatetimeKey
 pointer to the ODB key: sample cryo date and time More...
 
PKey * fSampleRawVoltageKey [10]
 pointer to the ODB key: sample cryo raw voltage More...
 
PKey * fSampleNoConnectionKey
 pointer to the ODB key: sample cryo no connection More...
 
PKey * fSampleOvenOmegaInputKey
 pointer to the ODB key: sample oven omega input values More...
 
PKey * fSampleOvenOmegaOutputKey
 pointer to the ODB key: sample oven omega output values More...
 
PKey * fLemvacInputKey
 pointer to the ODB key: lemvac input values More...
 
PKey * fLemvacOutputKey
 pointer to the ODB key: lemvac output values More...
 
PKey * fFOMInputKey
 pointer to the ODB key: FOM input values More...
 
PKey * fFOMOutputKey
 pointer to the ODB key: FOM output values More...
 
PKey * fBeamlineDemandKey
 pointer to the ODB key: Beamline demand values More...
 
PKey * fMagParamWewKey
 pointer to the ODB key: WEW magnet parameters (A -> G) More...
 
PKey * fMagParamBparKey
 pointer to the ODB key: Bpar magnet parameters (A -> G) More...
 
PKey * fSetupSampleEnabledKey
 pointer to the ODB key: Sample enabled flag More...
 
PKey * fSetupWewEnabledKey
 pointer to the ODB key: WEW enabled flag More...
 
PKey * fSetupBparEnabledKey
 pointer to the ODB key: Bpar enabled flag More...
 

Friends

class PLemAutoRunXMLParser
 
class PLemSampleCryoXMLParser
 
void TdHvTripFlagChanged (HNDLE, HNDLE, void *)
 

Detailed Description

This class handles an autorun sequence for the LEM experiment.

Definition at line 220 of file PLemAutoRun.h.

Constructor & Destructor Documentation

PLemAutoRun::PLemAutoRun ( QString &  host,
QString &  exp 
)

Constructor of the PLemAutoRun class.

Parameters
hosthost name, i.e. the name of the computer on which the experiment is running
expname of the experiment

Definition at line 1871 of file PLemAutoRun.cpp.

References CRYO_NO, fAbsMaxTempDiff, fAlarmsKey, fAlarmsPath, fAlarmTdHvTripKey, fAlarmTdHvTripPath, fAnalyzerName, fAnalyzerRunning, fAutoRunCurrentIter, fAutoRunPath, fAutoRunSequence, fAutoRunState, fAutoRunStatusMsg, fBeamlineDemandKey, fBeamlineDemandPath, fBHFlowOffset, fBHFlowTemp, fBHFlowTempOffset, fBHMaxFlow, fBHMinFlow, fClientsKey, fClientsPath, fCurrentAutoRunCmd, fDanfysikFeName, fDanfysikFeRunning, fDanfysikInputKey, fDanfysikInputPath, fDanfysikMaxCurrent, fDanfysikOutputKey, fDanfysikOutputPath, fDebug, fDFlowDp0, fDFlowDp1, fDFlowDpExp, fDSetRatio, fDumpCounter, fDumpFileName, fDumpInUse, fEnableAll, fEnableOnOffModePath, fEnergyLossParam, fEnergyLossParamKey, fEnergyLossParamPath, fExp, fFieldAccuracy, fFieldPwrSupply, fFieldTimeout, fFlowFactor, fFlowLowestFlowToConsider, fFlowMaxRelFlowDiffToConsider, fFlowSetAbsolute, fFlowSetRatio, fFlowTimeoutReduction, fFOMCurrentAccuracy, fFOMInputKey, fFOMInputPath, fFOMOutputKey, fFOMOutputPath, fFrontendName, fFrontendRunning, fFugHvCheck, fGotoLine, fHeatCapCof1, fHeatCapCof2, fHeatCapCof3, fHeaterMax, fHeaterMin, fHVAccuracy, fHVCurrentKey, fHVCurrentPath, fHVDemandKey, fHVDemandPath, fHVDetectorDemandKey, fHVDetectorDemandPath, fHVDetectorMeasuredKey, fHVDetectorMeasuredPath, fHVFeName, fHVFeRunning, fHVMeasuredKey, fHVMeasuredPath, fHvSettingsPath, fHVTimeout, fHvTripFlag, fIgnoreAlarms, fIgnoreClients, fLemSetupKey, fLemSetupPath, fLemvacFeName, fLemvacFeRunning, fLemvacInputKey, fLemvacInputPath, fLemvacOutputKey, fLemvacOutputPath, fMagFieldKey, fMagFieldPath, fMagParamBparKey, fMagParamBparPath, fMagParamWewKey, fMagParamWewPath, fMaxTempIncrease, fMaxTempTrend, fModDateKey, fModDatePath, fModNameKey, fModNamePath, fNeedleValveInUse, fNextAutoRunSequence, fNoOfAutoRunCmds, fPrefNeedleValveAbsStep, fPrefNeedleValveCof_1_0, fPrefNeedleValveCof_1_1, fPrefNeedleValveCof_2_0, fPrefNeedleValveCof_2_1, fPrefNeedleValveCof_3_0, fPrefNeedleValveCof_3_1, fPrefNeedleValveCof_4_0, fPrefNeedleValveCof_4_1, fPrefNeedleValveRelStep, fRAPulsingEnabled, fRelMaxTempDiff, fRunCheckEvents, fRunCommentKey, fRunCommentPath, fRunInfoKey, fRunInfoPath, fRunNoEventsNeeded, fRunStopped, fRunTimeout, fSampleBhOdbOffsetInput, fSampleBhOdbOffsetOutput, fSampleChannelKey, fSampleChannelPath, fSampleCryoInUse, fSampleCryoKey, fSampleCryoPath, fSampleCtrlChKey, fSampleCtrlChPath, fSampleDatetimeKey, fSampleDatetimePath, fSampleFeName, fSampleFeRunning, fSampleHistoLastTime, fSampleHistoNoEntries, fSampleHistoPos, fSampleInput, fSampleInputKey, fSampleInputPath, fSampleNoConnectionKey, fSampleNoConnectionPath, fSampleOutput, fSampleOutputKey, fSampleOutputPath, fSampleOvenOmegaFeRunning, fSampleOvenOmegaInputKey, fSampleOvenOmegaInputPath, fSampleOvenOmegaOutputKey, fSampleOvenOmegaOutputPath, fSampleRawVoltageKey, fSampleRawVoltagePath, fSampleSensorTypeKey, fSampleSensorTypePath, fSampleTempAccuracy, fSampleTempRegulation, fSampleTempUnstable, fSetupBparEnabled, fSetupBparEnabledKey, fSetupBparEnabledPath, fSetupSampleEnabled, fSetupSampleEnabledKey, fSetupSampleEnabledPath, fSetupWewEnabled, fSetupWewEnabledKey, fSetupWewEnabledPath, fShowComments, fSpinRotAngleKey, fSpinRotAnglePath, fSpinRotEnabledKey, fSpinRotEnabledPath, fSpinRotMagInputKey, fSpinRotMagInputPath, fSpinRotMagOutputKey, fSpinRotMagOutputPath, fTflInputKey, fTflInputPath, fTflOutputKey, fTflOutputPath, fTimeoutFlowSet, fTofMaxKey, fTofMaxPath, fTofMinKey, fTofMinPath, fTriggerEventsKey, fTriggerEventsPath, fWarmUpVent, fWarmUpWished, fWEWCriticalCurrentRA, fWEWFeName, fWEWFeRunning, fWEWHMaxCurrent, fWEWInputKey, fWEWInputPath, fWEWLMaxCurrent, fWEWOutputKey, fWEWOutputPath, fXMLAutoRunFln, fXMLAutoRunHTML, fXMLSchemaFln, InitEnabled(), NO_ENERGY_LOSS_PARAM, SAMPLE_CRYO_INPUT, SAMPLE_CRYO_OUTPUT, StatusMsg(), and UpdateStatusMsg().

PLemAutoRun::~PLemAutoRun ( )

Member Function Documentation

void PLemAutoRun::ChangeSampleChamberHV ( bool  down)
private
void PLemAutoRun::CheckClients ( )
private
int PLemAutoRun::CheckFieldCmd ( QString &  errMsg)
private

Checks if the given field parameters for the magnet power supplies are within allowed parameters.

Definition at line 5419 of file PLemAutoRun.cpp.

References fAutoRunCmdVector, fDanfysikMaxCurrent, fEnabled, fMagParamBpar, fMagParamWew, fSetupWewEnabled, fWEWHMaxCurrent, fWEWLMaxCurrent, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::CheckForOdbSetDataCmds ( )
private

Checks if ODB_SET_DATA and ODB_SET_DATA_ARRAY commands are present, and if yes check the ODB path, ODB index, etc. for its validity. Already from the parsing process, the parameters are filled in the following order: param: [0] odb_set_key_path, [1] set_key_index, [2] set_key_value, [3] odb_readback_key_path, [4] readback_key_index, [5] timeout, [6] tolerance In case some of these parameters are not present, the corresponding parameter string will be empty!

Definition at line 7361 of file PLemAutoRun.cpp.

References CheckOdbType(), ErrorMsg(), fAutoRunCmdVector, fExp, LAR_MIDAS_KEY_FAILURE, LAR_MIDAS_ODB_FAILURE, and StatusMsg().

Referenced by ExecAutoRun().

bool PLemAutoRun::CheckForTransportHvCmd ( )
private

Checks if in the autorun there are TRANSPORT_HV <fln> commands. If yes, verify that (i) the setting file <fln> exists, and (ii) that it is a proper HV settings file.

return:

  • true if everything is fine
  • false otherwise

Definition at line 8166 of file PLemAutoRun.cpp.

References ErrorMsg(), fAutoRunCmdVector, fHvSettingsPath, HTML_PARSE_ERROR, LAR_MSG_NO_LINE_NO, LoadHvSettings(), StatusMsg(), and UpdateWebPage().

Referenced by ExecAutoRun().

void PLemAutoRun::CheckForWarmUpCmd ( )
private

Checks if a warmup command is present.

Definition at line 10375 of file PLemAutoRun.cpp.

References fAutoRunCmdVector, fWarmUpDateTime, fWarmUpVent, and fWarmUpWished.

Referenced by ExecAutoRun().

void PLemAutoRun::CheckMidasAlarms ( PAutoRunCmdVector::Iterator  iter)
private

Checks if any MIDAS alarm has fired. If yes, it quits the autorun.

Definition at line 3751 of file PLemAutoRun.cpp.

References DisconnectFromExp(), ErrorMsg(), fAlarmsKey, fEnabled, fIgnoreAlarms, HTML_ALARM, LAR_MIDAS_FE_NOT_RUNNING, LAR_MIDAS_KEY_FAILURE, StatusMsg(), and UpdateWebPage().

Referenced by ExecAutoRun().

bool PLemAutoRun::CheckOdbType ( INT  type,
AutoRunCmd arc 
)
private
void PLemAutoRun::CheckTempStability ( )
private
void PLemAutoRun::CheckTempStabilityOvenOmega ( )
private

Checks the temperature stability of the oven, controlled by the Omega controller.

Definition at line 4431 of file PLemAutoRun.cpp.

References ErrorMsg(), fSampleOvenOmegaInput, fSampleOvenOmegaOutput, fSampleTempAccuracy, fSampleTempUnstable, LAR_LS340_TEMP_NOT_STABLE, OMEGA_OVEN_INPUT_TEMP, and OMEGA_OVEN_OUTPUT_SETPOINT.

Referenced by ExecAutoRun(), SetTempOvenOmega(), and SetWait().

void PLemAutoRun::CleanLiveData ( )
private

Definition at line 2793 of file PLemAutoRun.cpp.

References fExp, LAR_STATE_RUNNING, and LAR_STATE_STARTING.

Referenced by ConnectToExp().

void PLemAutoRun::ConnectToExp ( )

Connects to the MIDAS experiment. It further makes sure that the class will be notified by MIDAS if something is going wrong.

Definition at line 2528 of file PLemAutoRun.cpp.

References CleanLiveData(), ErrorMsg(), fEnabled, fEnableOnOffModePath, fExp, fExpName, fFieldPwrSupply, fHostName, fRAPulsingEnabled, fSetupBparEnabled, fSetupSampleEnabled, fSetupWewEnabled, GetAllKeys(), LAR_FATAL, LAR_MIDAS_CONNECTION_FAILED, LAR_MIDAS_KEY_FAILURE, LAR_MSG, LAR_OUT_OF_MEMORY, NetworkConnectionLost(), and ReceivedShutdownCmd().

Referenced by main().

void PLemAutoRun::Degauss ( AutoRunCmd arc)
private

Degauss procedure for the sample magnet. The routine will check which magnet is mounted and call the apropriate routine.

Parameters
arcautorun command

Definition at line 5893 of file PLemAutoRun.cpp.

References DegaussDanfysik(), DegaussWEW(), and fSetupWewEnabled.

Referenced by ExecAutoRun().

void PLemAutoRun::DegaussDanfysik ( AutoRunCmd arc)
private
void PLemAutoRun::DegaussSpinRot ( AutoRunCmd arc)
private
void PLemAutoRun::DegaussWEW ( AutoRunCmd arc)
private

Degauss procedure for the WEW magnet power supply. The degaussing is following the following procedure: (i) shut down the RA HV's. (ii) do the current cyle: WEWH: 600A -> -40A -> 0, afterwards WEWL: 50A -> -45A -> 0. (iii) ramp the RA HV's back.

Parameters
arcautorun command

Definition at line 5525 of file PLemAutoRun.cpp.

References CheckClients(), DisconnectFromExp(), ErrorMsg(), fAutoRunCurrentIter, fCurrentAutoRunCmd, fEnabled, fFugHvCheck, fHVDemandKey, fHVMeasuredKey, fNoOfAutoRunCmds, fWEWFeRunning, fWEWInputKey, fWEWOutputKey, HTML_ABORTED, HV_FUG_RAB, HV_FUG_RAL, HV_FUG_RAR, HV_FUG_RAT, HV_FUG_SAMPLE, LAR_MIDAS_FE_NOT_RUNNING, LAR_MIDAS_READBACK_FAILURE, LAR_MSG, AutoRunCmd::lineNo, StatusMsg(), UpdateWebPage(), Wait(), WEW_SSP_LOCK, WEWH_INPUT_CURRENT, WEWH_INPUT_STATUS, WEWH_OUTPUT_CMD, WEWH_OUTPUT_CURRENT, WEWL_INPUT_CURRENT, WEWL_INPUT_STATUS, WEWL_OUTPUT_CMD, and WEWL_OUTPUT_CURRENT.

Referenced by Degauss(), and ExecAutoRun().

void PLemAutoRun::DisconnectAndQuit ( )
slot

Disconnect from the MIDAS experiment and quits.

Definition at line 2968 of file PLemAutoRun.cpp.

References DisconnectFromExp().

Referenced by ReceivedShutdownCmd().

void PLemAutoRun::DisconnectFromExp ( )
float PLemAutoRun::EmpiricalFlow ( float  Tset,
float  rampSpeed 
)
private

Calculates the empirical flow for the bronkhorst flow meter.

Parameters
Tsetcurrent setpoint
rampSpeedramping speed in (K/min) of the sample temperature.

Definition at line 8632 of file PLemAutoRun.cpp.

References fBHFlowOffset, fBHFlowTemp, fBHFlowTempOffset, fBHMaxFlow, fBHMinFlow, fDebug, fDFlowDp0, fDFlowDp1, fDFlowDpExp, fHeatCapCof1, fHeatCapCof2, and fHeatCapCof3.

Referenced by SetFlowAndNeedleValve(), and SetTemp().

void PLemAutoRun::ErrorMsg ( int  noOfErrors,
int  idx,
int  errorNo,
int  line,
QString  errorMsg 
)
signal
void PLemAutoRun::ExecAutoRun ( )

Main autorun loop.

Definition at line 4742 of file PLemAutoRun.cpp.

References CheckFieldCmd(), CheckForOdbSetDataCmds(), CheckForTransportHvCmd(), CheckForWarmUpCmd(), CheckMidasAlarms(), CheckTempStability(), CheckTempStabilityOvenOmega(), CRYO_KONTI, CRYO_OVEN_OMEGA, Degauss(), DegaussDanfysik(), DegaussSpinRot(), DegaussWEW(), ErrorMsg(), fAutoRunCmdVector, fAutoRunCurrentIter, fCurrentAutoRunCmd, fDumpCounter, fDumpFile, fDumpInUse, fExp, fHvTripFlag, fNoOfAutoRunCmds, fRunInfo, fRunInfoKey, fRunStopped, fSampleCryoInUse, fSampleHistoNoEntries, fSampleTempRegulation, fSampleTempUnstable, fWarmUpDateTime, fWarmUpWished, GetGotoLine(), GetRunState(), GotoLine(), HTML_ABORTED, HTML_FATAL, HTML_LOAD, HTML_PARSE_ERROR, HTML_RUNNING, HTML_STOP, HTML_STRANGE, LAR_FATAL, LAR_STATE_LOAD, LAR_STATE_LOADING, LAR_STATE_NEXT, LAR_STATE_PAUSED, LAR_STATE_STOPPED, LAR_STOP_STOP_NONSENSE, LAR_TT_ABORTED, LAR_TT_FINISHED, LAR_TT_IDLE, LAR_TT_WARMUP, RawVoltageDump(), RUN_PAUSED, RUN_RUNNING, RUN_STOPPED, RunStart(), RunStop(), RunStopCheck(), SAMPLE_TEMP_HISTO_MAX, SampleTempAdjustFlow(), SetBPV(), SetDump(), SetField(), SetFieldDanfysik(), SetFieldWEWH(), SetFieldWEWL(), SetFOM(), SetHvOff(), SetIgnoreAlarms(), SetIgnoreClients(), SetLEMSetup(), SetModInfo(), SetOdbData(), SetOdbDataArray(), SetRA_HV(), SetSampleHV(), SetSampleLS340ZoneSettings(), SetSpinRot(), SetTemp(), SetTfl(), SetTitle(), SetTof(), SetTransportHV(), SetWait(), RunInfo::state, StatusMsg(), UpdateRunState(), UpdateStatusMsg(), UpdateWebPage(), Wait(), and WarmUp().

Referenced by main().

void PLemAutoRun::ExecNext ( )
private
void PLemAutoRun::FeedLiveDataAutoRun ( )

PLemAutoRun::FeedLiveDataAutoRun.

Definition at line 4701 of file PLemAutoRun.cpp.

References fAutoRunPath, fExp, and GetAutoRunSequence().

Referenced by main().

void PLemAutoRun::FeedLiveDataErrors ( int  noOfErrors,
int  idx,
int  ,
int  line,
QString  errorMsg 
)
private

Definition at line 2882 of file PLemAutoRun.cpp.

References fExp, and LAR_TT_IDLE.

Referenced by HandleParseError().

void PLemAutoRun::FeedMidasWatchdog ( )
inline

Definition at line 233 of file PLemAutoRun.h.

References fExp.

bool PLemAutoRun::GetAllKeys ( )
private

Get all the necessary key from the ODB.

Definition at line 3037 of file PLemAutoRun.cpp.

References ErrorMsg(), fAlarmsKey, fAlarmsPath, fAlarmTdHvTripKey, fAlarmTdHvTripPath, fBeamlineDemandKey, fBeamlineDemandPath, fClientsKey, fClientsPath, fDanfysikInputKey, fDanfysikInputPath, fDanfysikOutputKey, fDanfysikOutputPath, fDumpFileName, fEnabled, fEnergyLossParam, fEnergyLossParamKey, fEnergyLossParamPath, fExp, fFOMInputKey, fFOMInputPath, fFOMOutputKey, fFOMOutputPath, fHVCurrentKey, fHVCurrentPath, fHVDemandKey, fHVDemandPath, fHVDetectorDemandKey, fHVDetectorDemandPath, fHVDetectorMeasuredKey, fHVDetectorMeasuredPath, fHVMeasuredKey, fHVMeasuredPath, fHvTripFlag, fLemSetupKey, fLemSetupPath, fLemvacInputKey, fLemvacInputPath, fLemvacOutputKey, fLemvacOutputPath, fMagFieldKey, fMagFieldPath, fMagParamBpar, fMagParamBparKey, fMagParamBparPath, fMagParamWew, fMagParamWewKey, fMagParamWewPath, fModDateKey, fModDatePath, fModNameKey, fModNamePath, fRunCommentKey, fRunCommentPath, fRunInfoKey, fRunInfoPath, fSampleChannelKey, fSampleChannelPath, fSampleCryoKey, fSampleCryoPath, fSampleCtrlCh, fSampleCtrlChKey, fSampleCtrlChPath, fSampleDatetimeKey, fSampleDatetimePath, fSampleInput, fSampleInputKey, fSampleInputPath, fSampleNameKey, fSampleNamePath, fSampleNoConnectionKey, fSampleNoConnectionPath, fSampleOutput, fSampleOutputKey, fSampleOutputPath, fSampleOvenOmegaInput, fSampleOvenOmegaInputKey, fSampleOvenOmegaInputPath, fSampleOvenOmegaOutput, fSampleOvenOmegaOutputKey, fSampleOvenOmegaOutputPath, fSampleRawVoltageKey, fSampleRawVoltagePath, fSampleSensorTypeKey, fSampleSensorTypePath, fSetupBparEnabled, fSetupBparEnabledKey, fSetupBparEnabledPath, fSetupSampleEnabled, fSetupSampleEnabledKey, fSetupSampleEnabledPath, fSetupWewEnabled, fSetupWewEnabledKey, fSetupWewEnabledPath, fSpinRotAngleKey, fSpinRotAnglePath, fSpinRotEnabledKey, fSpinRotEnabledPath, fSpinRotMagInputKey, fSpinRotMagInputPath, fSpinRotMagOutputKey, fSpinRotMagOutputPath, fTflInputKey, fTflInputPath, fTflOutputKey, fTflOutputPath, fTofMaxKey, fTofMaxPath, fTofMinKey, fTofMinPath, fTriggerEventsKey, fTriggerEventsPath, fWEWInputKey, fWEWInputPath, fWEWOutputKey, fWEWOutputPath, LAR_MIDAS_KEY_FAILURE, LS340_INPUT_CF1, LS340_INPUT_CF2, NO_ENERGY_LOSS_PARAM, and TdHvTripFlagChanged.

Referenced by ConnectToExp().

QString PLemAutoRun::GetAutoRunSequence ( )
private

PLemAutoRun::GetAutoRunSequence.

Returns

Definition at line 2711 of file PLemAutoRun.cpp.

References fExp.

Referenced by FeedLiveDataAutoRun(), GetUserAutoRunSeqFln(), and UpdateWebPage().

bool PLemAutoRun::GetBPV ( )
private

Gets the BPVX/Y status of both valves

return:

  • true if valid data was obtained
  • false otherwise

Definition at line 10969 of file PLemAutoRun.cpp.

References BPV_STATE_CLOSED, BPV_STATE_OPEN, BPVX, BPVX_STATE, BPVY, BPVY_STATE, fEnabled, fExp, fLemvacInputKey, and fLemVacValveInitialState.

Referenced by RunStart(), SetTemp(), and SetTempOvenOmega().

void PLemAutoRun::GetDemandHVSampleChamber ( )
private

Gets the demand high voltages from the sample chamber.

Definition at line 10662 of file PLemAutoRun.cpp.

References ErrorMsg(), fAutoRunCurrentIter, fHVDemandKey, fHVDemandSampleChamber, HTML_ABORTED, HV_FUG_CHS, HV_FUG_RAL, LAR_FUG_NO_RESPONSE, and UpdateWebPage().

Referenced by SetTemp(), and SetTempOvenOmega().

float PLemAutoRun::GetEnergyLoss ( float  hv_mod)
private

Calculates the energy loss at the C-foil

Parameters
hv_modmoderator high voltage

Definition at line 3626 of file PLemAutoRun.cpp.

References fEnabled, fEnergyLossParam, and NO_ENERGY_LOSS_PARAM.

Referenced by SetTitle().

QString* PLemAutoRun::GetExpName ( )
inline

Definition at line 236 of file PLemAutoRun.h.

References fExpName.

int PLemAutoRun::GetGotoLine ( )
private

PLemAutoRun::GetGotoLine.

Returns

Definition at line 2774 of file PLemAutoRun.cpp.

References fExp.

Referenced by ExecAutoRun(), and GotoLine().

QString* PLemAutoRun::GetHostName ( )
inline

Definition at line 235 of file PLemAutoRun.h.

References fHostName.

int PLemAutoRun::GetRunState ( )
private

PLemAutoRun::GetRunState.

Returns

Definition at line 2673 of file PLemAutoRun.cpp.

References fExp.

Referenced by ExecAutoRun().

QString PLemAutoRun::GetUserAutoRunSeqFln ( )

PLemAutoRun::GetUserAutoRunSeqFln.

Returns

Definition at line 3022 of file PLemAutoRun.cpp.

References fAutoRunPath, and GetAutoRunSequence().

Referenced by main().

QString* PLemAutoRun::GetXMLAutoRunFln ( )
inline

Definition at line 239 of file PLemAutoRun.h.

References fXMLAutoRunFln.

Referenced by main().

QString* PLemAutoRun::GetXMLAutoRunValidateFln ( )
inline

Definition at line 240 of file PLemAutoRun.h.

References fXMLAutoRunValidateFln.

Referenced by main().

QString* PLemAutoRun::GetXMLSchemaFln ( )
inline

Definition at line 238 of file PLemAutoRun.h.

References fXMLSchemaFln.

Referenced by main().

void PLemAutoRun::GotoLine ( PAutoRunCmdVector::Iterator &  iter,
int  max 
)
private
Parameters
iter
max

Definition at line 10617 of file PLemAutoRun.cpp.

References fAutoRunCmdVector, fCurrentAutoRunCmd, GetGotoLine(), SetGotoLine(), ShowComments(), and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::HandleOdbTitleTags ( QString &  title)
private

PLemAutoRun::HandleOdbTitleTags.

Parameters
title

Definition at line 10086 of file PLemAutoRun.cpp.

References fExp, and fOdbTagVector.

Referenced by SetTitle().

void PLemAutoRun::HandleParseError ( int  noOfErrors,
int  idx,
int  errorNo,
int  line,
QString  errorMsg 
)
slot

Handle autorun script parse errors

Definition at line 2944 of file PLemAutoRun.cpp.

References FeedLiveDataErrors(), HTML_PARSE_ERROR, LAR_STATE_STOPPED, UpdateRunState(), UpdateStatusMsg(), and UpdateWebPage().

void PLemAutoRun::InitEnabled ( )
private

PLemAutoRun::InitEnabled.

Definition at line 2448 of file PLemAutoRun.cpp.

References fEnabled.

Referenced by PLemAutoRun().

bool PLemAutoRun::IsIdle ( )

Checks if the auto run state is stopped, i.e. idle

Definition at line 2982 of file PLemAutoRun.cpp.

References ErrorMsg(), fClientsKey, LAR_MIDAS_KEY_FAILURE, and StatusMsg().

Referenced by main().

double PLemAutoRun::LakeShoreTime ( char *  str)
private

Function to calculate the number of seconds since 1-1-2000, from the DateTime string send by the LakeShore340.

return:

  • if ok: number of seconds since 1-1-2000
  • otherwise: -1.0
Parameters
strdatetime string from the LakeShore340

Definition at line 3816 of file PLemAutoRun.cpp.

Referenced by CheckTempStability().

bool PLemAutoRun::LoadHvSettings ( PAutoRunCmdVector::Iterator  iter,
QString  fln,
int  lineNo,
bool  simulated = false 
)
private

Load HV transport settings from HV setting file and set the values, if simulated == false.

Parameters
iteriterator to the autorun sequence
flnpath file name of the HV settings file to be loaded.
lineNoline number of the calling auto run script
simulatedflag, if true only simulate the load process (needed to check if file is a proper file).

Definition at line 8209 of file PLemAutoRun.cpp.

References ErrorMsg(), fEnabled, fExp, fFugHvCheck, fHVAccuracy, fHVDemandKey, fHVMeasuredKey, fHVTimeout, PLemHvSettingsFileParser::GetChNo(), PLemHvSettingsFileParser::GetCurrentLimits(), PLemHvSettingsFileParser::GetHvDemands(), HTML_PARSE_ERROR, PLemHvSettingsFileParser::isValid(), LAR_MSG_NO_LINE_NO, LAR_XML_FILE_MISSING, UpdateWebPage(), and Wait().

Referenced by CheckForTransportHvCmd(), and SetTransportHV().

float PLemAutoRun::NeedleValve ( float  Tset)
private

Calculates the needlevalve setting depending on temperature

Parameters
Tsetcurrent setpoint

Definition at line 8591 of file PLemAutoRun.cpp.

References fDebug, fPrefNeedleValveCof_1_0, fPrefNeedleValveCof_1_1, fPrefNeedleValveCof_2_0, fPrefNeedleValveCof_2_1, fPrefNeedleValveCof_3_0, fPrefNeedleValveCof_3_1, fPrefNeedleValveCof_4_0, and fPrefNeedleValveCof_4_1.

Referenced by SetFlowAndNeedleValve(), and SetTemp().

void PLemAutoRun::NetworkConnectionLost ( )
privateslot

slot executed if the network connection is lost

Called when a network problem occured. At the moment it just emits an error message.

Definition at line 2608 of file PLemAutoRun.cpp.

References ErrorMsg(), and LAR_LOST_NETWORK_CONNECTION.

Referenced by ConnectToExp().

void PLemAutoRun::RawVoltageDump ( )
private
void PLemAutoRun::ReadSampleCryoXML ( )

Handles the sample cryo parameter XML file.

Definition at line 2383 of file PLemAutoRun.cpp.

References CRYO_KONTI, CRYO_LOWTEMP, CRYO_NO, CRYO_OVEN_OMEGA, ErrorMsg(), fEnabled, fSampleCryoInUse, fSampleCryoKey, and LAR_XML_FILE_MISSING.

Referenced by main().

void PLemAutoRun::ReadStartupXML ( )

Handles the XML start file.

Definition at line 2360 of file PLemAutoRun.cpp.

References ErrorMsg(), and LAR_XML_FILE_MISSING.

Referenced by main().

void PLemAutoRun::ReceivedShutdownCmd ( )
privateslot

slot executed if a shutdown command has been received

Called when a shutdown command was sent. It disconnects from the experiment and quits.

Definition at line 2621 of file PLemAutoRun.cpp.

References DisconnectAndQuit(), ErrorMsg(), fAutoRunCurrentIter, fExp, HTML_ABORTED, LAR_RECIEVED_SHUTDOWN_CMD, LAR_STATE_STOPPED, StatusMsg(), and UpdateWebPage().

Referenced by ConnectToExp().

void PLemAutoRun::RunStart ( AutoRunCmd arc)
private
void PLemAutoRun::RunStop ( AutoRunCmd arc)
private
bool PLemAutoRun::RunStopCheck ( )
private
void PLemAutoRun::SampleTempAdjustFlow ( )
private
void PLemAutoRun::SampleTempConsiderFlow ( )
private
void PLemAutoRun::SampleTempConsiderNeedleValve ( )
private
float PLemAutoRun::SampleTempPrefHeaterOutput ( float  heaterRange)
private

Returns the optimal heater output in (%) depending on the heater range of the LakeShore340.

At the moment this is hard wired, but should eventually be transferred to the XML-startup.

Parameters
heaterRangeheater range of the LakeShore340

Definition at line 4044 of file PLemAutoRun.cpp.

References fDebug, fSampleOutput, and LS340_OUTPUT_SETPOINT.

Referenced by SampleTempAdjustFlow().

void PLemAutoRun::SampleTempSetNeedleValve ( float  value)
private

Sets the needle valve position of the transfer line. This is done only if the needle valve is set to the automatic mode = 2.

Definition at line 4213 of file PLemAutoRun.cpp.

References ErrorMsg(), fEnabled, fNeedleValveInUse, fPrefNeedleValveCof_1_0, fSampleOutputKey, fTflOutputKey, LAR_MSG_NO_LINE_NO, LS340_OUTPUT_SETPOINT, SM_MODUS_NEEDLEVALVE, and SM_OUTPUT_NEEDLEVALVE.

Referenced by SetFlowAndNeedleValve(), and SetTemp().

bool PLemAutoRun::SampleTempStable ( )
private
void PLemAutoRun::SampleTempTrend ( )
private

Fits the history buffer to a parabola in the following way: Let $f$ be

\[ f = \sum_i \left( T_i - \sum_{k=0}^2 a_k t_i^k \right)^2 \]

where $ T_i $ is a measured temperature point, $ t_i $ the corresponding time, and the $a_k$ the parameter to be determined.

The extremum condition for the $a_k$'s are than $\partial_{a_j} f = 0$. From this it follows

\[ \partial_{a_j} f = 2 \sum_i \left( t_i^j T_i - \sum_{k=0}^2 a_k t_i^{k+j} \right) = 0 \]

or in matrix form

\[ \sum_i \underbrace{ \left(\begin{array}{ccc} 1 & t_i & t_i^2 \\ t_i & t_i^2 & t_i^3 \\ t_i^2 & t_i^3 & t_i^4 \end{array}\right)}_{\displaystyle =: A} \cdot \left(\begin{array}{c} a_0 \\ a_1 \\ a_2 \end{array}\right) = \sum_i \left(\begin{array}{c} T_i \\ t_i T_i \\ t_i^2 T_i \end{array}\right)\]

From this the $a_k$'s follow from the matrix inversion of $A$, which is hopefully implemented correctly.

Definition at line 3873 of file PLemAutoRun.cpp.

References SampleTempInfo::datetime, fDebug, SampleTempInfo::flow, fSampleHistoNoEntries, fSampleHistoPos, fSampleTempAverage, fSampleTempHisto, fSampleTempRmsqd, fSampleTempSecond, fSampleTempTrend, SampleTempInfo::heater, SampleTempInfo::measured_T, SampleTempInfo::pressure, and SAMPLE_TEMP_HISTO_MAX.

Referenced by CheckTempStability().

void PLemAutoRun::SetAutoRunSeq ( PAutoRunCmdVector arcv)
inline

Definition at line 243 of file PLemAutoRun.h.

References fAutoRunCmdVector.

Referenced by main().

void PLemAutoRun::SetBPV ( AutoRunCmd arc)
private

Autorun command which allows to Opens/Close the BPVX/Y.

Parameters
arcpointer to the autorun command structure.

Definition at line 10847 of file PLemAutoRun.cpp.

References BPV_CLOSE, BPV_OPEN, BPVX, BPVY, AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fEnabled, fNoOfAutoRunCmds, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun(), SetTemp(), SetTempOvenOmega(), and WarmUp().

bool PLemAutoRun::SetBPV ( int  valve,
int  cmd 
)
private

Opens/Close the BPVX/Y and validates that it really happend.

return:

  • true if command was executed
  • false otherwise
Parameters
valvetag showing which valve should be handled
cmdopen or close command

Definition at line 10898 of file PLemAutoRun.cpp.

References BPV_CLOSE, BPV_STATE_CLOSED, BPV_STATE_OPEN, BPVX, BPVX_ENABLED, BPVX_SET, BPVX_STATE, BPVY_ENABLED, BPVY_SET, BPVY_STATE, fEnabled, fLemvacInputKey, fLemvacOutputKey, and Wait().

float PLemAutoRun::SetDemandTempRamping ( QString  rampParam)
private

Sets the ramping speed if wished (helper function for SetTemp).

Parameters
rampParamramping parameter

Definition at line 8669 of file PLemAutoRun.cpp.

References fSampleInput, fSampleOutputKey, LS340_INPUT_RAMP, LS340_OUTPUT_RAMP, and Wait().

Referenced by SetTemp().

void PLemAutoRun::SetDump ( AutoRunCmd arc)
private
void PLemAutoRun::SetEnabled ( const QString  key,
bool  val 
)
private

PLemAutoRun::SetEnabled.

Parameters
key
val

Definition at line 2506 of file PLemAutoRun.cpp.

References fEnabled.

void PLemAutoRun::SetField ( AutoRunCmd arc)
private

Set's the field of the sample magnet. Depending on the used magnet, is will either use the Danfysik magnet power supply or the WEW magnet power supply.

Parameters
arcautorun command

Definition at line 6724 of file PLemAutoRun.cpp.

References ErrorMsg(), fCurrentAutoRunCmd, fMagParamWew, fNoOfAutoRunCmds, fSetupBparEnabled, fSetupWewEnabled, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, SetFieldDanfysik(), SetFieldWEWH(), and SetFieldWEWL().

Referenced by ExecAutoRun().

void PLemAutoRun::SetFieldDanfysik ( AutoRunCmd arc)
private
void PLemAutoRun::SetFieldWEWH ( AutoRunCmd arc)
private
void PLemAutoRun::SetFieldWEWL ( AutoRunCmd arc)
private
void PLemAutoRun::SetFlow ( QString  flowParam)
private

Sets the flow for the LowTemp if explicitly given.

Parameters
flowParamflow parameter string

Definition at line 8764 of file PLemAutoRun.cpp.

References BH_OUTPUT_FLOW, fSampleBhOdbOffsetOutput, and fSampleOutputKey.

Referenced by SetTemp().

void PLemAutoRun::SetFlowAndNeedleValve ( QString  flowParam,
float &  rampSpeed,
float  newDemandTemp,
float  deltaT,
float  flowScale 
)
private

Sets the bronkhorst flow value and tweaks the needle valve of the transfer line (helper function for SetTemp).

This routine is only used for new demand temperature > current temperature.

In case of ramping, the flow is picked up at the current flow (not the estimated one) and gradually changed according the following formula

$ f_{\rm corr}(T) = \left[(a_0 - 1)\,\frac{T-T_1}{T_0-T_1} + 1\right] f(t) $

where

\[ f_{\rm corr}(T) \]

is the corrected flow with the property

\[ f_{\rm corr}(T_0) = \]

the current flow,

\[ f(t) \]

is the estimated flow,

\[ a_0 = f_{\rm corr}(T_0)/f(T_0) \]

, and

\[ T_0, T, T_1 \]

are the starting temperature, the current temperature, and the new demand temperature.

Parameters
flowParamflow parameter
rampSpeedtemperature ramping speed in (K/min)
newDemandTemptarget demand temperature
deltaTstarting temperature - target demand temperature, i.e.

\[ =T_0-T_1 \]

flowScaleis

\[ = a_0 \]

Definition at line 8717 of file PLemAutoRun.cpp.

References BH_OUTPUT_FLOW, EmpiricalFlow(), fBHFlowOffset, fSampleBhOdbOffsetOutput, fSampleInput, fSampleOutputKey, LS340_INPUT_SETPOINT, NeedleValve(), and SampleTempSetNeedleValve().

Referenced by SetTemp().

void PLemAutoRun::SetFlowTweak ( float  flow)
private

used to tweak the flow in the cooling procedure (helper function for SetTemp).

Parameters
flowto be tweaked

Definition at line 8945 of file PLemAutoRun.cpp.

References BH_OUTPUT_FLOW, CheckTempStability(), fFlowTimeoutReduction, fSampleBhOdbOffsetOutput, fSampleOutputKey, and Wait().

Referenced by SetTemp().

void PLemAutoRun::SetFOM ( AutoRunCmd arc)
private
void PLemAutoRun::SetGotoLine ( const int  line)
private

PLemAutoRun::SetGotoLine.

Parameters
line

Definition at line 2759 of file PLemAutoRun.cpp.

References fExp.

Referenced by GotoLine().

void PLemAutoRun::SetHvOff ( AutoRunCmd arc)
private
void PLemAutoRun::SetIgnoreAlarms ( AutoRunCmd arc)
private

alarm command. Allows to temporarily enable/disable the alarm checks.

Parameters
arcautorun command

Definition at line 6161 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fIgnoreAlarms, fNoOfAutoRunCmds, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetIgnoreClients ( AutoRunCmd arc)
private

client command. Allows to temporarily enable/disable the client checks.

Parameters
arcautorun command

Definition at line 6187 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fIgnoreClients, fNoOfAutoRunCmds, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetLEMSetup ( AutoRunCmd arc)
private

Sets the LEM setup info variable in the ODB.

Parameters
arcautorun command

Definition at line 7160 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fEnabled, fLemSetupKey, fNoOfAutoRunCmds, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetLS340HeaterRangeAndPIDs ( AutoRunCmd arc)
private

Sets the heater range and the PID's of the LS340 (helper function for SetTemp). see also LakeShore 340 'User's manual' p.9-39

Parameters
arcautorun command

Definition at line 8812 of file PLemAutoRun.cpp.

References fSampleOutputKey, LS340_OUTPUT_HEATER_RANGE, LS340_OUTPUT_PID_D, LS340_OUTPUT_PID_I, LS340_OUTPUT_PID_P, AutoRunCmd::param, TEMP_D_PID, TEMP_HEATER_RANGE, TEMP_I_PID, and TEMP_P_PID.

Referenced by SetTemp().

void PLemAutoRun::SetLS340Mode ( AutoRunCmd arc)
private

Sets the control mode of the LS340 (helper function for SetTemp). see also LakeShore 340 'User's manual' p.9-28

Parameters
arcautorun command

Definition at line 8783 of file PLemAutoRun.cpp.

References fSampleInput, fSampleOutputKey, LS340_CTRL_PID, LS340_CTRL_ZONE, LS340_INPUT_HEATER_MODE, LS340_OUTPUT_HEATER_MODE, AutoRunCmd::param, TEMP_D_PID, TEMP_HEATER_RANGE, TEMP_I_PID, and TEMP_P_PID.

Referenced by SetTemp().

void PLemAutoRun::SetLS340Setpoint ( float  setpoint,
float  rampSpeed 
)
private

Sets the setpoint the LS340 (helper function for SetTemp).

Parameters
setpointset point to be set
rampSpeeddemand temperature ramping speed

Definition at line 8866 of file PLemAutoRun.cpp.

References ErrorMsg(), fAutoRunCurrentIter, fSampleInput, fSampleOutputKey, HTML_ABORTED, LAR_MIDAS_READBACK_FAILURE, LS340_INPUT_SETPOINT, LS340_OUTPUT_SETPOINT, UpdateWebPage(), and Wait().

Referenced by SetTemp().

void PLemAutoRun::SetModInfo ( AutoRunCmd arc)
private

Sets the Moderator info variables in the ODB.

Parameters
arcautorun command

Definition at line 7194 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fEnabled, fModDateKey, fModNameKey, fNoOfAutoRunCmds, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetOdbData ( AutoRunCmd arc)
private

Sets ODB variables. For details see the documentation. Already from the parsing process, the parameters are filled in the following order: param: [0] odb_set_key_path, [1] set_key_index, [2] set_key_value, [3] odb_readback_key_path, [4] readback_key_index, [5] timeout, [6] tolerance In case some of these parameters are not present, the corresponding parameter string will be empty!

Parameters
arcautorun command

Definition at line 7577 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fExp, fNoOfAutoRunCmds, LAR_MIDAS_KEY_FAILURE, LAR_MSG, LAR_MSG_NO_LINE_NO, AutoRunCmd::lineNo, AutoRunCmd::param, StatusMsg(), and Wait().

Referenced by ExecAutoRun().

void PLemAutoRun::SetOdbDataArray ( AutoRunCmd arc)
private

Sets ODB variables. For details see the documentation.

Parameters
arcautorun command

Definition at line 7825 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fExp, fNoOfAutoRunCmds, LAR_MIDAS_KEY_FAILURE, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::noElements, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetOdbTagVec ( POdbTagVector otv)
inline

Definition at line 242 of file PLemAutoRun.h.

References fOdbTagVector.

Referenced by main().

void PLemAutoRun::SetOmegaSetpoint ( float  setpoint)
private

Sets the setpoint the Omega controller (helper function for SetTempOvenOmega).

Parameters
setpointset point to be set

Definition at line 8906 of file PLemAutoRun.cpp.

References ErrorMsg(), fAutoRunCurrentIter, fSampleOvenOmegaInput, fSampleOvenOmegaOutputKey, HTML_ABORTED, LAR_MIDAS_READBACK_FAILURE, OMEGA_OVEN_INPUT_SETPOINT, OMEGA_OVEN_OUTPUT_SETPOINT, UpdateWebPage(), and Wait().

Referenced by SetTempOvenOmega().

void PLemAutoRun::SetRA_HV ( AutoRunCmd arc)
private
void PLemAutoRun::SetSampleHV ( AutoRunCmd arc)
private
void PLemAutoRun::SetSampleLS340ZoneSettings ( )
private

Checks at the beginning of an autorun if there is a setTemp command present. If yes it will check if the current parameter settings of the sample LS340 is corresponding to its ZONE settings.

Definition at line 8510 of file PLemAutoRun.cpp.

References ErrorMsg(), fAutoRunCmdVector, fEnabled, fExp, fSampleOutputKey, LAR_MSG_NO_LINE_NO, LS340_OUTPUT_HEATER_MODE, LS340_OUTPUT_HEATER_RANGE, LS340_OUTPUT_PID_D, LS340_OUTPUT_PID_I, LS340_OUTPUT_PID_P, and LS340_OUTPUT_SETPOINT.

Referenced by ExecAutoRun().

void PLemAutoRun::SetSpinRot ( AutoRunCmd arc)
private
void PLemAutoRun::SetTemp ( AutoRunCmd arc)
private

Sets the sample temperature and checks that it is indeed reached and stable.

Parameters
arcautorun command

Definition at line 9029 of file PLemAutoRun.cpp.

References BH_OUTPUT_FLOW, BPV_CLOSE, BPV_OPEN, BPV_STATE_OPEN, BPVX, ChangeSampleChamberHV(), CheckClients(), CheckTempStability(), AutoRunCmd::cmdString, CRYO_KONTI, CRYO_LOWTEMP, DisconnectFromExp(), EmpiricalFlow(), ErrorMsg(), fAutoRunCurrentIter, fBHFlowOffset, fBHFlowTemp, fBHFlowTempOffset, fCurrentAutoRunCmd, fDebug, fDSetRatio, fEnabled, fFlowSetAbsolute, fFlowSetRatio, fLargeFlow, fLemvacFeRunning, fLemVacValveInitialState, fMaxTempIncrease, fNoOfAutoRunCmds, fSampleBhOdbOffsetOutput, fSampleCryoInUse, fSampleCryoKey, fSampleCtrlCh, fSampleFeRunning, fSampleInput, fSampleInputKey, fSampleOutput, fSampleOutputKey, fSampleTempAccuracy, fSampleTempUnstable, fTimeoutFlowSet, GetBPV(), GetDemandHVSampleChamber(), HTML_ABORTED, LAR_BPVY_NO_RESPONSE, LAR_LS340_TEMP_NOT_STABLE, LAR_MIDAS_DEVICE_NOT_REMOTE, LAR_MIDAS_FE_NOT_RUNNING, LAR_MSG, AutoRunCmd::lineNo, LS340_INPUT_PID_D, LS340_INPUT_RAMP, LS340_INPUT_SETPOINT, LS340_OUTPUT_PID_D, LS340_OUTPUT_REMOTE, LS340_OUTPUT_SETPOINT, NeedleValve(), AutoRunCmd::noElements, AutoRunCmd::param, SampleTempConsiderFlow(), SampleTempConsiderNeedleValve(), SampleTempSetNeedleValve(), SampleTempStable(), SetBPV(), SetDemandTempRamping(), SetFlow(), SetFlowAndNeedleValve(), SetFlowTweak(), SetLS340HeaterRangeAndPIDs(), SetLS340Mode(), SetLS340Setpoint(), SetTempOvenOmega(), StatusMsg(), TEMP_DELTA_T, TEMP_DEMAND_TEMP, TEMP_FLOW, TEMP_RAMP, TEMP_STABILITY_TIMEOUT, UpdateWebPage(), Wait(), and WaitUntilSampleLS340Ready().

Referenced by ExecAutoRun().

void PLemAutoRun::SetTempOvenOmega ( AutoRunCmd arc)
private
void PLemAutoRun::SetTfl ( AutoRunCmd arc)
private
void PLemAutoRun::SetTitle ( AutoRunCmd arc)
private
void PLemAutoRun::SetTof ( AutoRunCmd arc)
private

Sets the time of flight info.

Parameters
arcautorun command

Definition at line 10277 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fEnabled, fNoOfAutoRunCmds, fTofMaxKey, fTofMinKey, LAR_MSG, AutoRunCmd::lineNo, AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetTransportHV ( AutoRunCmd arc)
private

Load HV transport settings from HV setting file and set the values.

Parameters
arcautorun command

Definition at line 8338 of file PLemAutoRun.cpp.

References AutoRunCmd::cmdString, ErrorMsg(), fCurrentAutoRunCmd, fEnabled, fHvSettingsPath, fNoOfAutoRunCmds, LAR_MSG, AutoRunCmd::lineNo, LoadHvSettings(), AutoRunCmd::param, and StatusMsg().

Referenced by ExecAutoRun().

void PLemAutoRun::SetWait ( AutoRunCmd arc)
private
bool PLemAutoRun::ShowComments ( )
private

PLemAutoRun::ShowComments.

Returns

Definition at line 2734 of file PLemAutoRun.cpp.

References fExp.

Referenced by GotoLine(), and UpdateWebPage().

void PLemAutoRun::StatusMsg ( const QString  statusMsg)
signal
void PLemAutoRun::UpdateRunState ( const int  state)
private

UpdateRunState.

Parameters
state

Definition at line 2696 of file PLemAutoRun.cpp.

References fExp.

Referenced by ExecAutoRun(), and HandleParseError().

void PLemAutoRun::UpdateStatusMsg ( const QString  statusMsg)
privateslot

Update autorun status message in ODB.

Definition at line 2650 of file PLemAutoRun.cpp.

References fExp.

Referenced by ExecAutoRun(), HandleParseError(), and PLemAutoRun().

void PLemAutoRun::UpdateWebPage ( PAutoRunCmdVector::Iterator  currentIter,
int  tag,
int  errLineNo = 0,
QString  errMsg = "" 
)
private

Generates dynamically the 'LEM Autorun Parameter' web-page with status informations about the current autorun. It further displays the current autorun sequence, highlighting the current command.

Parameters
currentItercurrent autorun command iterator
tagThese tags are used to differentiate the autorun states, and can have the three possible values
  • HTML_LOAD indicates that the autorun sequence just needs to be loaded
  • HTML_START indicating the start of the autorun sequence (not used at the moment)
  • HTML_RUNNING indicating that an autorun sequence is underway
  • HTML_STOP indicating that an autorun sequence just finished
  • HTML_ABORTED indicating that the autorun sequence was aborted by the user, or by autorun if there some mandatory conditions are not fulfilled.
  • HTML_WARMUP indicating that the warmup command started
  • HTML_STRANGE indicating that a run is already active when autorun was started and
  • HTML_PARSE_ERROR autorun script parse error present
  • HTML_FATAL if something really goes wrong, e.g. no autorun commands present

Definition at line 4468 of file PLemAutoRun.cpp.

References ErrorMsg(), fAutoRunCmdVector, fAutoRunPath, fExpName, fXMLAutoRunHTML, GetAutoRunSequence(), HTML_ABORTED, HTML_ALARM, HTML_FATAL, HTML_LOAD, HTML_PARSE_ERROR, HTML_STOP, HTML_STRANGE, HTML_WARMUP, LAR_MSG_NO_LINE_NO, and ShowComments().

Referenced by ChangeSampleChamberHV(), CheckForTransportHvCmd(), CheckMidasAlarms(), DegaussDanfysik(), DegaussSpinRot(), DegaussWEW(), ExecAutoRun(), GetDemandHVSampleChamber(), HandleParseError(), LoadHvSettings(), ReceivedShutdownCmd(), RunStart(), RunStop(), RunStopCheck(), SetFieldDanfysik(), SetFieldWEWH(), SetFieldWEWL(), SetLS340Setpoint(), SetOmegaSetpoint(), SetRA_HV(), SetSampleHV(), SetSpinRot(), SetTemp(), SetTempOvenOmega(), SetTfl(), and WarmUp().

void PLemAutoRun::Wait ( int  timeout)
private

Performs a midas watchdog save wait where needed. It splits the given timeout into 1 sec slots and feeds the watchdog by calling cm_yield.

Parameters
timeoutin milliseconds

Definition at line 11051 of file PLemAutoRun.cpp.

References fExp.

Referenced by ChangeSampleChamberHV(), DegaussDanfysik(), DegaussSpinRot(), DegaussWEW(), ExecAutoRun(), LoadHvSettings(), RunStart(), SetBPV(), SetDemandTempRamping(), SetFieldDanfysik(), SetFieldWEWH(), SetFieldWEWL(), SetFlowTweak(), SetFOM(), SetHvOff(), SetLS340Setpoint(), SetOdbData(), SetOmegaSetpoint(), SetRA_HV(), SetSampleHV(), SetSpinRot(), SetTemp(), SetTempOvenOmega(), SetWait(), WaitUntilSampleLS340Ready(), and WarmUp().

void PLemAutoRun::WaitUntilSampleLS340Ready ( )
private

Waits for the LS340 to be ready.

Definition at line 8840 of file PLemAutoRun.cpp.

References fSampleNoConnectionKey, and Wait().

Referenced by SetTemp().

void PLemAutoRun::WarmUp ( PAutoRunCmdVector::Iterator  iter)
private

Friends And Related Function Documentation

friend class PLemAutoRunXMLParser
friend

Definition at line 463 of file PLemAutoRun.h.

friend class PLemSampleCryoXMLParser
friend

Definition at line 464 of file PLemAutoRun.h.

void TdHvTripFlagChanged ( HNDLE  ,
HNDLE  ,
void *  info 
)
friend

Called when the TD HV Trip Alarm flag has changed.

Parameters
infopointer to the PLemAutoRun object

Definition at line 11076 of file PLemAutoRun.cpp.

Referenced by GetAllKeys().

Member Data Documentation

float PLemAutoRun::fAbsMaxTempDiff
private

absolute temperature deviation allowed in stability test

Definition at line 299 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempStable().

PKey* PLemAutoRun::fAlarmsKey
private

pointer to the ODB key: alarms

Definition at line 484 of file PLemAutoRun.h.

Referenced by CheckMidasAlarms(), GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fAlarmsPath
private

ODB path to the alarms.

Definition at line 392 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fAlarmTdHvTripKey
private

pointer to the ODB key: TD HV trip trigger flag

Definition at line 485 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fAlarmTdHvTripPath
private

ODB path to the TD HV trip alarm/warning.

Definition at line 393 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fAnalyzerName
private

name of the analyzer in the ODB

Definition at line 444 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), RunStart(), RunStop(), and RunStopCheck().

bool PLemAutoRun::fAnalyzerRunning
private

flag indicating if the analyzer is running

Definition at line 453 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), RunStart(), RunStop(), and RunStopCheck().

PAutoRunCmdVector* PLemAutoRun::fAutoRunCmdVector
private
PAutoRunCmdVector::Iterator PLemAutoRun::fAutoRunCurrentIter
private
QString PLemAutoRun::fAutoRunPath
private

path to the autorun sequence directory

Definition at line 278 of file PLemAutoRun.h.

Referenced by FeedLiveDataAutoRun(), GetUserAutoRunSeqFln(), PLemAutoRun(), SetDump(), and UpdateWebPage().

QString PLemAutoRun::fAutoRunSequence
private

autorun sequence file name as found under /AutoRun/Auto Run Sequence

Definition at line 256 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

int PLemAutoRun::fAutoRunState
private

autorun run state as defined under /AutoRun/Run State

Definition at line 261 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

QString PLemAutoRun::fAutoRunStatusMsg
private

autorun status message as defined under /AutoRun/Status

Definition at line 260 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

PKey* PLemAutoRun::fBeamlineDemandKey
private

pointer to the ODB key: Beamline demand values

Definition at line 527 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), WarmUp(), and ~PLemAutoRun().

QString PLemAutoRun::fBeamlineDemandPath
private

ODB path to the beamline demand variables.

Definition at line 434 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fBHFlowDHeat
private

see SampleTempAdjustFlow()

Definition at line 294 of file PLemAutoRun.h.

Referenced by SampleTempAdjustFlow().

float PLemAutoRun::fBHFlowOffset
private

variable needed to calculate the flow if non is explicitly given (see SetTemp())

Definition at line 297 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), PLemAutoRun(), SetFlowAndNeedleValve(), SetTemp(), and WarmUp().

float PLemAutoRun::fBHFlowPHeat0
private

see SampleTempAdjustFlow()

Definition at line 292 of file PLemAutoRun.h.

Referenced by SampleTempAdjustFlow().

float PLemAutoRun::fBHFlowPHeat1
private

see SampleTempAdjustFlow()

Definition at line 293 of file PLemAutoRun.h.

Referenced by SampleTempAdjustFlow().

float PLemAutoRun::fBHFlowTemp
private

variable needed to calculate the flow if non is explicitly given (see SetTemp())

Definition at line 295 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), PLemAutoRun(), SampleTempConsiderFlow(), SetTemp(), and WarmUp().

float PLemAutoRun::fBHFlowTempOffset
private

variable needed to calculate the flow if non is explicitly given (see SetTemp())

Definition at line 296 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), PLemAutoRun(), SetTemp(), and WarmUp().

float PLemAutoRun::fBHMaxFlow
private

max. allowed flow for the bronkhorst flow meter

Definition at line 290 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), PLemAutoRun(), SampleTempAdjustFlow(), and SampleTempConsiderFlow().

float PLemAutoRun::fBHMinFlow
private

min. allowed flow for the bronkhorst flow meter

Definition at line 291 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), PLemAutoRun(), SampleTempAdjustFlow(), and SampleTempConsiderFlow().

PKey* PLemAutoRun::fClientsKey
private

pointer to the ODB key: running clients

Definition at line 498 of file PLemAutoRun.h.

Referenced by CheckClients(), GetAllKeys(), IsIdle(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fClientsPath
private

ODB path to the running clients.

Definition at line 405 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

int PLemAutoRun::fCurrentAutoRunCmd
private
QString PLemAutoRun::fDanfysikFeName
private

name of the danfysik scfe in the ODB

Definition at line 450 of file PLemAutoRun.h.

Referenced by CheckClients(), and PLemAutoRun().

bool PLemAutoRun::fDanfysikFeRunning
private

flag indicating if the danfysik_scfe is running

Definition at line 458 of file PLemAutoRun.h.

Referenced by CheckClients(), DegaussDanfysik(), PLemAutoRun(), and SetFieldDanfysik().

PKey* PLemAutoRun::fDanfysikInputKey
private

pointer to the ODB key: danfysik input variables

Definition at line 506 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetFieldDanfysik(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fDanfysikInputPath
private

ODB path to the danfysik input variables.

Definition at line 413 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fDanfysikMaxCurrent
private

maximal allowed current for the danfysik power supply

Definition at line 354 of file PLemAutoRun.h.

Referenced by CheckFieldCmd(), and PLemAutoRun().

PKey* PLemAutoRun::fDanfysikOutputKey
private

pointer to the ODB key: danfysik output variables

Definition at line 507 of file PLemAutoRun.h.

Referenced by DegaussDanfysik(), GetAllKeys(), PLemAutoRun(), SetFieldDanfysik(), and ~PLemAutoRun().

QString PLemAutoRun::fDanfysikOutputPath
private

ODB path to the danfysik output variables.

Definition at line 414 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

bool PLemAutoRun::fDebug
private
float PLemAutoRun::fDFlowDp0
private

calculates d(flow)/dP from d(flow)/dP =

Definition at line 311 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), and PLemAutoRun().

float PLemAutoRun::fDFlowDp1
private

DFDP_0 + DFDP_1 * exp( DFDP_EXP * Temp )

Definition at line 312 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), and PLemAutoRun().

float PLemAutoRun::fDFlowDpExp
private

Definition at line 313 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), and PLemAutoRun().

float PLemAutoRun::fDSetRatio
private

ratio at which the PID-D has to be switched back (for temperature increase)

Definition at line 298 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SetTemp().

int PLemAutoRun::fDumpCounter
private

counter of raw voltage dumps

Definition at line 368 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), PLemAutoRun(), RawVoltageDump(), SetDump(), and SetWait().

QFile PLemAutoRun::fDumpFile
private

file for dumping raw_voltage

Definition at line 370 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), RawVoltageDump(), SetDump(), and SetWait().

QString PLemAutoRun::fDumpFileName
private

file name of the raw voltage dump. It will be RawVoltageOutput-<cryo>-<datatime>.dat, e.g. RawVoltageOutput-Konti4-220316-1235.dat

Definition at line 369 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and SetDump().

bool PLemAutoRun::fDumpInUse
private

flag telling if a raw data dump is going on

Definition at line 367 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), PLemAutoRun(), SetDump(), and SetWait().

bool PLemAutoRun::fEnableAll
private

flag telling if all watched clients and equipments will be enabled/disabled by default.

Definition at line 263 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

QMap<QString, bool> PLemAutoRun::fEnabled
private
QString PLemAutoRun::fEnableOnOffModePath
private

ODB path to the enable On/Off mode, e.g. red/green, pulsing RA.

Definition at line 391 of file PLemAutoRun.h.

Referenced by ConnectToExp(), and PLemAutoRun().

float PLemAutoRun::fEnergyLossParam[NO_ENERGY_LOSS_PARAM]
private

energy loss parameters

Definition at line 282 of file PLemAutoRun.h.

Referenced by GetAllKeys(), GetEnergyLoss(), and PLemAutoRun().

PKey* PLemAutoRun::fEnergyLossParamKey
private

pointer to the ODB key: energy loss parameters

Definition at line 497 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fEnergyLossParamPath
private

ODB path to the energy loss parameters.

Definition at line 404 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PExperiment* PLemAutoRun::fExp
private
QString PLemAutoRun::fExpName
private

experiment name

Definition at line 273 of file PLemAutoRun.h.

Referenced by ConnectToExp(), GetExpName(), and UpdateWebPage().

float PLemAutoRun::fFieldAccuracy
private

field accuracy needed before going on (in (A))

Definition at line 285 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), SetFieldDanfysik(), SetFieldWEWH(), and SetFieldWEWL().

QString PLemAutoRun::fFieldPwrSupply
private

name of the power supply to generate the magnetic field (WEWL, WEWH, danfysik)

Definition at line 279 of file PLemAutoRun.h.

Referenced by ConnectToExp(), PLemAutoRun(), RunStart(), SetFieldDanfysik(), SetFieldWEWH(), SetFieldWEWL(), and SetTitle().

float PLemAutoRun::fFieldTimeout
private

time in which the field ramping must be accomplished (in (sec))

Definition at line 284 of file PLemAutoRun.h.

Referenced by DegaussSpinRot(), PLemAutoRun(), SetFieldDanfysik(), SetFieldWEWH(), SetFieldWEWL(), SetFOM(), and SetSpinRot().

float PLemAutoRun::fFlowFactor
private

constant used in SampleTempConsiderFlow()

Definition at line 305 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempConsiderFlow().

float PLemAutoRun::fFlowLowestFlowToConsider
private

lowest demand flow to consider

Definition at line 309 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempConsiderFlow().

float PLemAutoRun::fFlowMaxRelFlowDiffToConsider
private

maximum rel flow error to consider

Definition at line 310 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempConsiderFlow().

float PLemAutoRun::fFlowSetAbsolute
private

absolute flow deviation allowed in stability test

Definition at line 307 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SetTemp().

float PLemAutoRun::fFlowSetRatio
private

relative flow deviation allowed in stability test

Definition at line 306 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SetTemp().

float PLemAutoRun::fFlowTimeoutReduction
private

timeout between gradual flow reduction while cooling

Definition at line 308 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SetFlowTweak().

float PLemAutoRun::fFOMCurrentAccuracy
private

current accuracy needed before going on (in (mA))

Definition at line 361 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SetFOM().

PKey* PLemAutoRun::fFOMInputKey
private

pointer to the ODB key: FOM input values

Definition at line 525 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetFOM(), and ~PLemAutoRun().

QString PLemAutoRun::fFOMInputPath
private

ODB path to the FOM input variables.

Definition at line 432 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fFOMOutputKey
private

pointer to the ODB key: FOM output values

Definition at line 526 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetFOM(), and ~PLemAutoRun().

QString PLemAutoRun::fFOMOutputPath
private

ODB path to the FOM output variables.

Definition at line 433 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fFrontendName
private

name of the frontend in the ODB

Definition at line 445 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), RunStart(), RunStop(), and RunStopCheck().

bool PLemAutoRun::fFrontendRunning
private

flag indicating if the frontend is running

Definition at line 454 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), RunStart(), RunStop(), and RunStopCheck().

bool PLemAutoRun::fFugHvCheck
private

flag: if true demand==measured checks for the FUG HV devices will be performed, otherwise not. This should be true, expcept for test purposes!

Definition at line 268 of file PLemAutoRun.h.

Referenced by ChangeSampleChamberHV(), DegaussSpinRot(), DegaussWEW(), LoadHvSettings(), PLemAutoRun(), SetRA_HV(), SetSampleHV(), SetSpinRot(), SetTitle(), and WarmUp().

int PLemAutoRun::fGotoLine
private

address to jump to within a running autorun. Defined under /AutoRun/GotoLine

Definition at line 258 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

float PLemAutoRun::fHeatCapCof1
private

heat Capacity of cryo =

Definition at line 317 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), and PLemAutoRun().

float PLemAutoRun::fHeatCapCof2
private

HC_1 * T + HC_2 * T² + HC_3 * T³

Definition at line 318 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), and PLemAutoRun().

float PLemAutoRun::fHeatCapCof3
private

Definition at line 319 of file PLemAutoRun.h.

Referenced by EmpiricalFlow(), and PLemAutoRun().

float PLemAutoRun::fHeaterMax
private

max. acceptable heater value

Definition at line 302 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), SampleTempConsiderFlow(), and SampleTempStable().

float PLemAutoRun::fHeaterMin
private

min. acceptable heater value

Definition at line 303 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), SampleTempConsiderFlow(), and SampleTempStable().

QString PLemAutoRun::fHostName
private

host name on which the experiment is running

Definition at line 272 of file PLemAutoRun.h.

Referenced by ConnectToExp(), and GetHostName().

float PLemAutoRun::fHVAccuracy
private

HV accuracy needed before going on (in (kV))

Definition at line 287 of file PLemAutoRun.h.

Referenced by DegaussSpinRot(), LoadHvSettings(), PLemAutoRun(), SetRA_HV(), SetSampleHV(), and SetSpinRot().

PKey* PLemAutoRun::fHVCurrentKey
private

pointer to the ODB key: FUG HV measured current values

Definition at line 501 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fHVCurrentPath
private

ODB path to the FUG HV measured current variables.

Definition at line 408 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fHVDemandKey
private
QString PLemAutoRun::fHVDemandPath
private

ODB path to the FUG HV demand variables.

Definition at line 406 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fHVDemandSampleChamber[5]
private

demand HV of the sample chamber

Definition at line 288 of file PLemAutoRun.h.

Referenced by ChangeSampleChamberHV(), and GetDemandHVSampleChamber().

PKey* PLemAutoRun::fHVDetectorDemandKey
private

pointer to the ODB key: HV Detector demand values

Definition at line 502 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetHvOff(), and ~PLemAutoRun().

QString PLemAutoRun::fHVDetectorDemandPath
private

ODB path to the HV Detectors demand variables.

Definition at line 409 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fHVDetectorMeasuredKey
private

pointer to the ODB key: HV Detector measured values

Definition at line 503 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetHvOff(), and ~PLemAutoRun().

QString PLemAutoRun::fHVDetectorMeasuredPath
private

ODB path to the HV Detectors measured variables.

Definition at line 410 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fHVFeName
private

name of the hv_fug_scfe in the ODB

Definition at line 451 of file PLemAutoRun.h.

Referenced by CheckClients(), and PLemAutoRun().

bool PLemAutoRun::fHVFeRunning
private

flag indicating if the hv_fug_scfe is running

Definition at line 460 of file PLemAutoRun.h.

Referenced by CheckClients(), DegaussSpinRot(), PLemAutoRun(), SetRA_HV(), and SetSampleHV().

PKey* PLemAutoRun::fHVMeasuredKey
private

pointer to the ODB key: FUG HV measured values

Definition at line 500 of file PLemAutoRun.h.

Referenced by ChangeSampleChamberHV(), DegaussSpinRot(), DegaussWEW(), GetAllKeys(), LoadHvSettings(), PLemAutoRun(), SetRA_HV(), SetSampleHV(), SetSpinRot(), SetTitle(), WarmUp(), and ~PLemAutoRun().

QString PLemAutoRun::fHVMeasuredPath
private

ODB path to the FUG HV measured variables.

Definition at line 407 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fHvSettingsPath
private

Definition at line 364 of file PLemAutoRun.h.

Referenced by CheckForTransportHvCmd(), PLemAutoRun(), and SetTransportHV().

float PLemAutoRun::fHVTimeout
private

time in which the HV ramping must be accomplished (in (sec))

Definition at line 286 of file PLemAutoRun.h.

Referenced by DegaussSpinRot(), LoadHvSettings(), PLemAutoRun(), SetRA_HV(), SetSampleHV(), and SetSpinRot().

int PLemAutoRun::fHvTripFlag
private

flag: set if the TD HV trip alarm fired

Definition at line 270 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), GetAllKeys(), PLemAutoRun(), and TdHvTripFlagChanged().

bool PLemAutoRun::fIgnoreAlarms
private

flag: if true checking for any alarms will not performed: only for testing!!

Definition at line 267 of file PLemAutoRun.h.

Referenced by CheckMidasAlarms(), PLemAutoRun(), and SetIgnoreAlarms().

bool PLemAutoRun::fIgnoreClients
private

flag: if true checking of clients will not performed: only for testing!!

Definition at line 266 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), and SetIgnoreClients().

bool PLemAutoRun::fLargeFlow
private

signaling extra large flow during cool down

Definition at line 314 of file PLemAutoRun.h.

Referenced by SampleTempConsiderFlow(), and SetTemp().

PKey* PLemAutoRun::fLemSetupKey
private

pointer to the ODB key: LEM setup info

Definition at line 492 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetLEMSetup(), and ~PLemAutoRun().

QString PLemAutoRun::fLemSetupPath
private

ODB path to the LEM setup info.

Definition at line 399 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fLemvacFeName
private

name of the lemvac_scfe in the ODB

Definition at line 452 of file PLemAutoRun.h.

Referenced by CheckClients(), and PLemAutoRun().

bool PLemAutoRun::fLemvacFeRunning
private

flag indicating if the lemvac_scfe is running

Definition at line 461 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), SetTemp(), and SetTempOvenOmega().

PKey* PLemAutoRun::fLemvacInputKey
private

pointer to the ODB key: lemvac input values

Definition at line 523 of file PLemAutoRun.h.

Referenced by GetAllKeys(), GetBPV(), PLemAutoRun(), SetBPV(), and ~PLemAutoRun().

QString PLemAutoRun::fLemvacInputPath
private

ODB path to the lemvac input variables.

Definition at line 430 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fLemvacOutputKey
private

pointer to the ODB key: lemvac output values

Definition at line 524 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetBPV(), WarmUp(), and ~PLemAutoRun().

QString PLemAutoRun::fLemvacOutputPath
private

ODB path to the lemvac output variables.

Definition at line 431 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fLemVacValveInitialState[2]
private

states of BPVX, BPVY before set temperature

Definition at line 289 of file PLemAutoRun.h.

Referenced by GetBPV(), RunStart(), SetTemp(), and SetTempOvenOmega().

PKey* PLemAutoRun::fMagFieldKey
private

pointer to the ODB key: magnetic field value

Definition at line 510 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fMagFieldPath
private

ODB path to the magnetic field value.

Definition at line 417 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fMagParamBpar[2]
private

calibration array for the Bpar

Definition at line 355 of file PLemAutoRun.h.

Referenced by CheckFieldCmd(), GetAllKeys(), SetFieldDanfysik(), and SetTitle().

PKey* PLemAutoRun::fMagParamBparKey
private

pointer to the ODB key: Bpar magnet parameters (A -> G)

Definition at line 529 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fMagParamBparPath
private

ODB path to the Bpar parameters (A -> G)

Definition at line 436 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fMagParamWew[2]
private

calibration array for the WEW

Definition at line 353 of file PLemAutoRun.h.

Referenced by CheckFieldCmd(), GetAllKeys(), SetField(), SetFieldWEWH(), SetFieldWEWL(), and SetTitle().

PKey* PLemAutoRun::fMagParamWewKey
private

pointer to the ODB key: WEW magnet parameters (A -> G)

Definition at line 528 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fMagParamWewPath
private

ODB path to the WEW parameters (A -> G)

Definition at line 435 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fMaxTempIncrease
private

maximal temperature increase without shuting down the HV

Definition at line 283 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), SetTemp(), and SetTempOvenOmega().

float PLemAutoRun::fMaxTempTrend
private

max. acceptable temperature trend

Definition at line 301 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempStable().

PKey* PLemAutoRun::fModDateKey
private

pointer to the ODB key: moderator growing date

Definition at line 491 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetModInfo(), and ~PLemAutoRun().

QString PLemAutoRun::fModDatePath
private

ODB path to the moderator growing date.

Definition at line 398 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fModNameKey
private

pointer to the ODB key: moderator info

Definition at line 490 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetModInfo(), and ~PLemAutoRun().

QString PLemAutoRun::fModNamePath
private

ODB path to the moderator info.

Definition at line 397 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

bool PLemAutoRun::fNeedleValveInUse
private

Tag for use of electric needle valve.

Definition at line 322 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), SampleTempConsiderNeedleValve(), and SampleTempSetNeedleValve().

QString PLemAutoRun::fNextAutoRunSequence
private

next autorun sequence file name as found under /AutoRun/Next

Definition at line 259 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

int PLemAutoRun::fNoOfAutoRunCmds
private
POdbTagVector* PLemAutoRun::fOdbTagVector
private

pointer to the ODB tag list

Definition at line 466 of file PLemAutoRun.h.

Referenced by HandleOdbTitleTags(), and SetOdbTagVec().

float PLemAutoRun::fPrefNeedleValveAbsStep
private

absolute change in SampleTempConsiderNeedleValve

Definition at line 332 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempConsiderNeedleValve().

float PLemAutoRun::fPrefNeedleValveCof_1_0
private

NV setting = _1_0 * _1_1 * T for T<8.

Definition at line 323 of file PLemAutoRun.h.

Referenced by NeedleValve(), PLemAutoRun(), and SampleTempSetNeedleValve().

float PLemAutoRun::fPrefNeedleValveCof_1_1
private

Definition at line 324 of file PLemAutoRun.h.

Referenced by NeedleValve(), and PLemAutoRun().

float PLemAutoRun::fPrefNeedleValveCof_2_0
private

NV setting = _1_0 * _1_1 * T for 8<T<10.

Definition at line 325 of file PLemAutoRun.h.

Referenced by NeedleValve(), and PLemAutoRun().

float PLemAutoRun::fPrefNeedleValveCof_2_1
private

Definition at line 326 of file PLemAutoRun.h.

Referenced by NeedleValve(), and PLemAutoRun().

float PLemAutoRun::fPrefNeedleValveCof_3_0
private

NV setting = _1_0 * _1_1 * T for 10<T<15.

Definition at line 327 of file PLemAutoRun.h.

Referenced by NeedleValve(), and PLemAutoRun().

float PLemAutoRun::fPrefNeedleValveCof_3_1
private

Definition at line 328 of file PLemAutoRun.h.

Referenced by NeedleValve(), and PLemAutoRun().

float PLemAutoRun::fPrefNeedleValveCof_4_0
private

NV setting = _1_0 * _1_1 * T for 15<T.

Definition at line 329 of file PLemAutoRun.h.

Referenced by NeedleValve(), PLemAutoRun(), and SampleTempConsiderNeedleValve().

float PLemAutoRun::fPrefNeedleValveCof_4_1
private

Definition at line 330 of file PLemAutoRun.h.

Referenced by NeedleValve(), and PLemAutoRun().

float PLemAutoRun::fPrefNeedleValveRelStep
private

relative change in SampleTempConsiderNeedleValve

Definition at line 331 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempConsiderNeedleValve().

bool PLemAutoRun::fRAPulsingEnabled
private

flag: if true, the RA pulsing is enabled and hence WEW can take any field values.

Definition at line 269 of file PLemAutoRun.h.

Referenced by ConnectToExp(), PLemAutoRun(), SetFieldWEWH(), and SetFieldWEWL().

float PLemAutoRun::fRelMaxTempDiff
private

relative temperature deviation allowed in stability test

Definition at line 300 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SampleTempStable().

bool PLemAutoRun::fRunCheckEvents
private

if true check number of events, otherwise check time

Definition at line 475 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), RunStart(), RunStop(), and RunStopCheck().

PKey* PLemAutoRun::fRunCommentKey
private

pointer to the ODB key: run comment

Definition at line 487 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fRunCommentPath
private

ODB path to the run comment.

Definition at line 394 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

RunInfo PLemAutoRun::fRunInfo
private

run info structure (mirror of the ODB /Runinfo)

Definition at line 474 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), RunStart(), RunStopCheck(), and WarmUp().

PKey* PLemAutoRun::fRunInfoKey
private

pointer to the ODB key: run info

Definition at line 486 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), GetAllKeys(), PLemAutoRun(), RunStart(), RunStopCheck(), and ~PLemAutoRun().

QString PLemAutoRun::fRunInfoPath
private

ODB path to the run info.

Definition at line 389 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

int PLemAutoRun::fRunNoEventsNeeded
private

number of events needed to complete a run

Definition at line 476 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), RunStart(), RunStop(), RunStopCheck(), and WarmUp().

QTime PLemAutoRun::fRunStarted
private

time stamp, when a run started

Definition at line 477 of file PLemAutoRun.h.

Referenced by RunStart(), RunStop(), and RunStopCheck().

bool PLemAutoRun::fRunStopped
private

flag telling if a run is stopped

Definition at line 473 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), PLemAutoRun(), RunStart(), RunStop(), RunStopCheck(), and WarmUp().

float PLemAutoRun::fRunTimeout
private

time in sec after which the run shall be stopped.

Definition at line 478 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), RunStart(), RunStop(), and RunStopCheck().

int PLemAutoRun::fSampleBhOdbOffsetInput
private

ODB offset of the bronkhorst within the ODB (input variables)

Definition at line 441 of file PLemAutoRun.h.

Referenced by CheckTempStability(), PLemAutoRun(), RawVoltageDump(), and SampleTempConsiderNeedleValve().

int PLemAutoRun::fSampleBhOdbOffsetOutput
private

ODB offset of the bronkhorst within the ODB (output variables.

Definition at line 442 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), SampleTempAdjustFlow(), SampleTempConsiderFlow(), SampleTempConsiderNeedleValve(), SetFlow(), SetFlowAndNeedleValve(), SetFlowTweak(), SetTemp(), and WarmUp().

PKey* PLemAutoRun::fSampleChannelKey
private

pointer to the ODB key: sample cryo LS340 channel assignement

Definition at line 514 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetDump(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleChannelPath
private

ODB path to the sample cryo LS340 channel assignement.

Definition at line 421 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

int PLemAutoRun::fSampleCryoInUse
private

-1 = no cryo in use, 0 = Konti-Cryo in use, 1 = LowTemp-Cryo, 2 = Oven in use

Definition at line 336 of file PLemAutoRun.h.

Referenced by ExecAutoRun(), PLemAutoRun(), ReadSampleCryoXML(), SetTemp(), and SetWait().

PKey* PLemAutoRun::fSampleCryoKey
private

pointer to the ODB key: sample cryo name

Definition at line 496 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), ReadSampleCryoXML(), SetTemp(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleCryoPath
private

ODB path to the sample cryo name used.

Definition at line 403 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

int PLemAutoRun::fSampleCtrlCh
private

index of channel A or B

Definition at line 335 of file PLemAutoRun.h.

Referenced by CheckTempStability(), GetAllKeys(), RawVoltageDump(), SetTemp(), SetTitle(), and WarmUp().

PKey* PLemAutoRun::fSampleCtrlChKey
private

pointer to the ODB key: sample cryo LS340 control channel

Definition at line 513 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetDump(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleCtrlChPath
private

ODB path to the sample cryo LS340 control channel.

Definition at line 420 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSampleDatetimeKey
private

pointer to the ODB key: sample cryo date and time

Definition at line 518 of file PLemAutoRun.h.

Referenced by CheckTempStability(), GetAllKeys(), PLemAutoRun(), RawVoltageDump(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleDatetimePath
private

ODB path to the sample cryo (LS340, bronkhorst) DD date and time variable.

Definition at line 425 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fSampleFeName
private

name of the tfl_scfe in the ODB

name of the sample_scfe in the ODB

Definition at line 447 of file PLemAutoRun.h.

Referenced by CheckClients(), and PLemAutoRun().

bool PLemAutoRun::fSampleFeRunning
private

flag indicating if the sample_scfe is running (LS340, BH)

Definition at line 456 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), and SetTemp().

double PLemAutoRun::fSampleHistoLastTime
private

time stamp of the previous reading in seconds since 1-1-2000

Definition at line 341 of file PLemAutoRun.h.

Referenced by CheckTempStability(), and PLemAutoRun().

int PLemAutoRun::fSampleHistoNoEntries
private

number of entries in the history

Definition at line 342 of file PLemAutoRun.h.

Referenced by CheckTempStability(), ExecAutoRun(), PLemAutoRun(), SampleTempTrend(), and SetWait().

int PLemAutoRun::fSampleHistoPos
private

index of the start of the ring buffer

Definition at line 343 of file PLemAutoRun.h.

Referenced by CheckTempStability(), PLemAutoRun(), and SampleTempTrend().

double PLemAutoRun::fSampleHistoTime
private

time stamp of the current reading in seconds since 1-1-2000

Definition at line 340 of file PLemAutoRun.h.

Referenced by CheckTempStability().

float PLemAutoRun::fSampleInput[SAMPLE_CRYO_INPUT]
private
PKey* PLemAutoRun::fSampleInputKey
private

pointer to the ODB key: sample cryo input values

Definition at line 516 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), RawVoltageDump(), SampleTempConsiderNeedleValve(), SetTemp(), SetTitle(), WarmUp(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleInputPath
private

ODB path to the sample cryo (LS340, bronkhorst) input variables.

Definition at line 423 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSampleNameKey
private

pointer to the ODB key: Sample Name

Definition at line 493 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and SetTitle().

QString PLemAutoRun::fSampleNamePath
private

ODB path to the sample name.

Definition at line 400 of file PLemAutoRun.h.

Referenced by GetAllKeys().

PKey* PLemAutoRun::fSampleNoConnectionKey
private

pointer to the ODB key: sample cryo no connection

Definition at line 520 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), WaitUntilSampleLS340Ready(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleNoConnectionPath
private

ODB path to the sample cryo (LS340, bronkhorst) DD 'no connection' flag.

Definition at line 427 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fSampleOutput[SAMPLE_CRYO_OUTPUT]
private
PKey* PLemAutoRun::fSampleOutputKey
private
QString PLemAutoRun::fSampleOutputPath
private

ODB path to the sample cryo (LS340, bronkhorst) output variables.

Definition at line 424 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fSampleOvenOmegaFeName
private

name of the oven omega scfe in the ODB

Definition at line 448 of file PLemAutoRun.h.

Referenced by CheckClients().

bool PLemAutoRun::fSampleOvenOmegaFeRunning
private

flag indicating if the omega_scfe is running

Definition at line 459 of file PLemAutoRun.h.

Referenced by CheckClients(), PLemAutoRun(), and SetTempOvenOmega().

float PLemAutoRun::fSampleOvenOmegaInput[SAMPLE_OVEN_OMEGA_INPUT]
private
PKey* PLemAutoRun::fSampleOvenOmegaInputKey
private

pointer to the ODB key: sample oven omega input values

Definition at line 521 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleOvenOmegaInputPath
private

ODB path to the sample oven omega: input variables.

Definition at line 428 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fSampleOvenOmegaOutput[SAMPLE_OVEN_OMEGA_OUTPUT]
private

Definition at line 381 of file PLemAutoRun.h.

Referenced by CheckTempStabilityOvenOmega(), and GetAllKeys().

PKey* PLemAutoRun::fSampleOvenOmegaOutputKey
private

pointer to the ODB key: sample oven omega output values

Definition at line 522 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetOmegaSetpoint(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleOvenOmegaOutputPath
private

ODB path to the sample oven omega: output variables.

Definition at line 429 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSampleRawVoltageKey[10]
private

pointer to the ODB key: sample cryo raw voltage

Definition at line 519 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), RawVoltageDump(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleRawVoltagePath
private

ODB path to the LS340 Raw Voltage.

Definition at line 426 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSampleSensorTypeKey
private

pointer to the ODB key: sample cryo LS340 sensor type assignement

Definition at line 515 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetDump(), and ~PLemAutoRun().

QString PLemAutoRun::fSampleSensorTypePath
private

ODB path to the sample cryo LS340 sensor type assignement.

Definition at line 422 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fSampleTempAccuracy
private

temperature tolerance

Definition at line 337 of file PLemAutoRun.h.

Referenced by CheckTempStability(), CheckTempStabilityOvenOmega(), PLemAutoRun(), and SetTemp().

SampleTempInfo PLemAutoRun::fSampleTempAverage
private

average temperature control parameters

Definition at line 345 of file PLemAutoRun.h.

Referenced by SampleTempConsiderFlow(), SampleTempConsiderNeedleValve(), SampleTempStable(), and SampleTempTrend().

SampleTempInfo PLemAutoRun::fSampleTempHisto[SAMPLE_TEMP_HISTO_MAX]
private

array holding the sample temperature history

Definition at line 344 of file PLemAutoRun.h.

Referenced by CheckTempStability(), and SampleTempTrend().

bool PLemAutoRun::fSampleTempRegulation
private

flag: if true temperature regulation algorithm is active, otherwise not

Definition at line 338 of file PLemAutoRun.h.

Referenced by CheckTempStability(), ExecAutoRun(), PLemAutoRun(), and SetWait().

SampleTempInfo PLemAutoRun::fSampleTempRmsqd
private

RMS of the quadratic model of the temperature control parameters.

Definition at line 348 of file PLemAutoRun.h.

Referenced by SampleTempStable(), and SampleTempTrend().

SampleTempInfo PLemAutoRun::fSampleTempSecond
private

2nd derivative of the quadratic model of the temperature control parameters

Definition at line 347 of file PLemAutoRun.h.

Referenced by SampleTempConsiderFlow(), and SampleTempTrend().

SampleTempInfo PLemAutoRun::fSampleTempTrend
private

1st derivative of the quadratic model of the temperature control parameters

Definition at line 346 of file PLemAutoRun.h.

Referenced by SampleTempAdjustFlow(), SampleTempConsiderFlow(), SampleTempStable(), and SampleTempTrend().

bool PLemAutoRun::fSampleTempUnstable
private

flag: true if the temperature is out of bound

Definition at line 339 of file PLemAutoRun.h.

Referenced by CheckTempStability(), CheckTempStabilityOvenOmega(), ExecAutoRun(), PLemAutoRun(), SetTemp(), SetTempOvenOmega(), and SetWait().

bool PLemAutoRun::fSetupBparEnabled
private

true if the Bpar magnet is in use. This is fed with the Danfysik power supply.

Definition at line 386 of file PLemAutoRun.h.

Referenced by ConnectToExp(), GetAllKeys(), PLemAutoRun(), and SetField().

PKey* PLemAutoRun::fSetupBparEnabledKey
private

pointer to the ODB key: Bpar enabled flag

Definition at line 532 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fSetupBparEnabledPath
private

ODB path to the Bpar enabled flag.

Definition at line 439 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

bool PLemAutoRun::fSetupSampleEnabled
private

true if the sample frontend is enabled (normal operation), otherwise MCP2 setup.

Definition at line 384 of file PLemAutoRun.h.

Referenced by ConnectToExp(), GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSetupSampleEnabledKey
private

pointer to the ODB key: Sample enabled flag

Definition at line 530 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fSetupSampleEnabledPath
private

ODB path to the sample enabled flag.

Definition at line 437 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

bool PLemAutoRun::fSetupWewEnabled
private

true if the WEW magnet is in use. This is fed with the WEWL/H power supplies.

Definition at line 385 of file PLemAutoRun.h.

Referenced by CheckFieldCmd(), ConnectToExp(), Degauss(), GetAllKeys(), PLemAutoRun(), and SetField().

PKey* PLemAutoRun::fSetupWewEnabledKey
private

pointer to the ODB key: WEW enabled flag

Definition at line 531 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), and ~PLemAutoRun().

QString PLemAutoRun::fSetupWewEnabledPath
private

ODB path to the WEW enabled flag.

Definition at line 438 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

bool PLemAutoRun::fShowComments
private

flag indicating if comments shall be suppressed. Defined under /AutoRun/Shows Comments

Definition at line 257 of file PLemAutoRun.h.

Referenced by PLemAutoRun().

PKey* PLemAutoRun::fSpinRotAngleKey
private

pointer to the ODB key: spin rotation angle

Definition at line 495 of file PLemAutoRun.h.

Referenced by DegaussSpinRot(), GetAllKeys(), PLemAutoRun(), SetSpinRot(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fSpinRotAnglePath
private

ODB path to the spin rotation angle.

Definition at line 402 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSpinRotEnabledKey
private

pointer to the ODB key: spin rotation enabled flag

Definition at line 494 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetSpinRot(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fSpinRotEnabledPath
private

ODB path to the spin rotation enabled flag.

Definition at line 401 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSpinRotMagInputKey
private

pointer to the ODB key: danfysik spin rotator input variables

Definition at line 504 of file PLemAutoRun.h.

Referenced by DegaussSpinRot(), GetAllKeys(), PLemAutoRun(), SetSpinRot(), and ~PLemAutoRun().

QString PLemAutoRun::fSpinRotMagInputPath
private

ODB path to the danfysik spin rotator magnet power supply input variables.

Definition at line 411 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fSpinRotMagOutputKey
private

pointer to the ODB key: danfysik spin rotator output variables

Definition at line 505 of file PLemAutoRun.h.

Referenced by DegaussSpinRot(), GetAllKeys(), PLemAutoRun(), SetSpinRot(), and ~PLemAutoRun().

QString PLemAutoRun::fSpinRotMagOutputPath
private

ODB path to the danfysik spin rotator magnet power supply output variables.

Definition at line 412 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fTflFeName
private

Definition at line 446 of file PLemAutoRun.h.

Referenced by CheckClients().

bool PLemAutoRun::fTflFeRunning
private

flag indicating if the tfl_scfe is running

Definition at line 455 of file PLemAutoRun.h.

Referenced by CheckClients(), and SetTfl().

PKey* PLemAutoRun::fTflInputKey
private

pointer to the ODB key: tfl input values

Definition at line 511 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SampleTempConsiderNeedleValve(), and ~PLemAutoRun().

QString PLemAutoRun::fTflInputPath
private

ODB path to the tfl input variables.

Definition at line 418 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fTflOutputKey
private

pointer to the ODB key: tfl output values

Definition at line 512 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SampleTempConsiderNeedleValve(), SampleTempSetNeedleValve(), SetTfl(), and ~PLemAutoRun().

QString PLemAutoRun::fTflOutputPath
private

ODB path to the tfl output variables.

Definition at line 419 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fTimeoutFlowSet
private

timeout before the flow can be changed next time (see SetTemp())

Definition at line 304 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and SetTemp().

PKey* PLemAutoRun::fTofMaxKey
private

pointer to the ODB key: TOF max

Definition at line 489 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetTof(), and ~PLemAutoRun().

QString PLemAutoRun::fTofMaxPath
private

ODB path to the TOF max.

Definition at line 396 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fTofMinKey
private

pointer to the ODB key: TOF min

Definition at line 488 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), SetTof(), and ~PLemAutoRun().

QString PLemAutoRun::fTofMinPath
private

ODB path to the TOF min.

Definition at line 395 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

PKey* PLemAutoRun::fTriggerEventsKey
private

pointer to the ODB key: trigger event

Definition at line 483 of file PLemAutoRun.h.

Referenced by GetAllKeys(), PLemAutoRun(), RunStopCheck(), and ~PLemAutoRun().

QString PLemAutoRun::fTriggerEventsPath
private

ODB path to the trigger events.

Definition at line 390 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QDateTime PLemAutoRun::fWarmUpDateTime
private

when the warmup shall take place

Definition at line 375 of file PLemAutoRun.h.

Referenced by CheckForWarmUpCmd(), and ExecAutoRun().

bool PLemAutoRun::fWarmUpVent
private

warmup with vent flag, false=no vent, true=vent

Definition at line 374 of file PLemAutoRun.h.

Referenced by CheckForWarmUpCmd(), PLemAutoRun(), and WarmUp().

bool PLemAutoRun::fWarmUpWished
private

warmup command present

Definition at line 373 of file PLemAutoRun.h.

Referenced by CheckForWarmUpCmd(), ExecAutoRun(), and PLemAutoRun().

float PLemAutoRun::fWEWCriticalCurrentRA
private

critical current for the WEW. For larger currents, the RA HV's should be switched off due to the Penning trap problem

Definition at line 358 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), RunStart(), SetFieldWEWH(), and SetFieldWEWL().

QString PLemAutoRun::fWEWFeName
private

name of the WEW scfe in the ODB

Definition at line 449 of file PLemAutoRun.h.

Referenced by CheckClients(), and PLemAutoRun().

bool PLemAutoRun::fWEWFeRunning
private

flag indicating if the wew_scfe is running

Definition at line 457 of file PLemAutoRun.h.

Referenced by CheckClients(), DegaussWEW(), PLemAutoRun(), SetFieldWEWH(), and SetFieldWEWL().

float PLemAutoRun::fWEWHMaxCurrent
private

maximal allowed current for the WEWH power supply

Definition at line 352 of file PLemAutoRun.h.

Referenced by CheckFieldCmd(), and PLemAutoRun().

PKey* PLemAutoRun::fWEWInputKey
private

pointer to the ODB key: WEW input values

Definition at line 508 of file PLemAutoRun.h.

Referenced by DegaussWEW(), GetAllKeys(), PLemAutoRun(), RunStart(), SetFieldWEWH(), SetFieldWEWL(), SetTitle(), and ~PLemAutoRun().

QString PLemAutoRun::fWEWInputPath
private

ODB path to the WEW input variable.

Definition at line 415 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

float PLemAutoRun::fWEWLMaxCurrent
private

maximal allowed current for the WEWL power supply

Definition at line 351 of file PLemAutoRun.h.

Referenced by CheckFieldCmd(), and PLemAutoRun().

PKey* PLemAutoRun::fWEWOutputKey
private

pointer to the ODB key: WEW output values

Definition at line 509 of file PLemAutoRun.h.

Referenced by DegaussWEW(), GetAllKeys(), PLemAutoRun(), SetFieldWEWH(), SetFieldWEWL(), and ~PLemAutoRun().

QString PLemAutoRun::fWEWOutputPath
private

ODB path to the WEW output variable.

Definition at line 416 of file PLemAutoRun.h.

Referenced by GetAllKeys(), and PLemAutoRun().

QString PLemAutoRun::fXMLAutoRunFln
private

path-file name of the generated XML-autorun sequence

Definition at line 275 of file PLemAutoRun.h.

Referenced by GetXMLAutoRunFln(), and PLemAutoRun().

QString PLemAutoRun::fXMLAutoRunHTML
private

path-file name of the HTML autorun status page

Definition at line 277 of file PLemAutoRun.h.

Referenced by PLemAutoRun(), and UpdateWebPage().

QString PLemAutoRun::fXMLAutoRunValidateFln
private

path-file name of the generated XML-autorun sequence for validation

Definition at line 276 of file PLemAutoRun.h.

Referenced by GetXMLAutoRunValidateFln().

QString PLemAutoRun::fXMLSchemaFln
private

path-file name of the XML-schema for the parsing process

Definition at line 274 of file PLemAutoRun.h.

Referenced by GetXMLSchemaFln(), and PLemAutoRun().


The documentation for this class was generated from the following files: