Loading...
Searching...
No Matches
AisCyclicVoltammetryElement.h
1#pragma once
2
3#include "AisAbstractElement.h"
4#include "AisSquidstatGlobal.h"
5#include <QString>
6
7class CyclicVoltammetryElement;
8
25class SQUIDSTATLIBRARY_EXPORT AisCyclicVoltammetryElement final : public AisAbstractElement {
26public:
37 double startVoltage,
38 double firstVoltageLimit,
39 double secondVoltageLimit,
40 double endVoltage,
41 double dEdt,
42 double samplingInterval);
43
48
53
55
60 QString getName() const override;
61
66 QStringList getCategory() const override;
67
72 double getQuietTime() const;
73
78 void setQuietTime(double quietTime);
79
85
90 void setQuietTimeSamplingInterval(double quietTimeSamplingInterval);
91
96 double getStartVoltage() const;
97
102 void setStartVoltage(double startVoltage);
103
109
116 void setStartVoltageVsOCP(bool startVoltageVsOCP);
117
125 double getFirstVoltageLimit() const;
126
134 void setFirstVoltageLimit(double v1);
135
142
149 void setFirstVoltageLimitVsOCP(bool firstVoltageLimitVsOCP);
150
158 double getSecondVoltageLimit() const;
159
167 void setSecondVoltageLimit(double v2);
168
175
182 void setSecondVoltageLimitVsOCP(bool secondVoltageLimitVsOCP);
183
188 unsigned int getNumberOfCycles();
189
194 void setNumberOfCycles(unsigned int cycles);
195
203 double getEndVoltage() const;
204
212 void setEndVoltage(double endVoltage);
213
219 bool isEndVoltageVsOCP() const;
220
227 void setEndVoltageVsOCP(bool endVoltageVsOCP);
228
233 double getdEdt() const;
234
239 void setdEdt(double dEdt);
240
245 double getSamplingInterval() const;
246
251 void setSamplingInterval(double sampInterval);
252
257 bool isAutoRange() const;
258
265
271 double getApproxMaxCurrent() const;
272
280 void setApproxMaxCurrent(double approxMaxCurrent);
281
288 double getAlphaFactor() const;
289
297 void setAlphaFactor(double alphaFactor);
298
299private:
300 std::shared_ptr<CyclicVoltammetryElement> m_dataDerived;
301};
This experiment sweeps the potential of the working electrode back and forth between the first voltag...
Definition AisCyclicVoltammetryElement.h:25
AisCyclicVoltammetryElement & operator=(const AisCyclicVoltammetryElement &)
overload equal to operator for the AisCyclicVoltammetryElement object.
void setSecondVoltageLimit(double v2)
set the second voltage-limit
bool isSecondVoltageLimitVsOCP() const
tells whether the second voltage-limit is set with respect to the open circuit voltage or not.
void setAlphaFactor(double alphaFactor)
alpha factor controls the percentage of data sampled during a given interval. Data will be averaged o...
double getQuietTime() const
Gets the quiet time duration.
unsigned int getNumberOfCycles()
get the value set for the number of cycles
void setAutoRange()
set to auto-select the current range.
double getStartVoltage() const
get the value set for the start voltage
double getFirstVoltageLimit() const
get the value set for the first voltage-limit.
void setApproxMaxCurrent(double approxMaxCurrent)
set maximum current expected, for manual current range selection.
double getSecondVoltageLimit() const
get the value set for the second voltage-limit
bool isAutoRange() const
tells whether the current range is set to auto-select or not.
void setFirstVoltageLimit(double v1)
set the first voltage-limit
AisCyclicVoltammetryElement(const AisCyclicVoltammetryElement &)
copy constructor for the AisCyclicVoltammetryElement object.
AisCyclicVoltammetryElement(double startVoltage, double firstVoltageLimit, double secondVoltageLimit, double endVoltage, double dEdt, double samplingInterval)
constructor of the cyclic voltammetry element.
void setdEdt(double dEdt)
set the value for the constant scan rate dE/dt.
bool isEndVoltageVsOCP() const
tells whether the end voltage is set with respect to the open circuit voltage or the reference termin...
bool isFirstVoltageLimitVsOCP() const
tells whether the first voltage-limit is set with respect to the open circuit voltage or not.
void setEndVoltage(double endVoltage)
set the ending potential value.
double getEndVoltage() const
get the value set for the ending potential value.
void setSecondVoltageLimitVsOCP(bool secondVoltageLimitVsOCP)
set whether to reference the second voltage-limit against the open-circuit voltage or not.
double getAlphaFactor() const
Get the value set for the alpha factor.
double getQuietTimeSamplingInterval() const
gets the potential sampling interval.
void setQuietTime(double quietTime)
Sets the quiet time duration.
double getdEdt() const
get the value set for the constant scan rate dE/dt.
void setFirstVoltageLimitVsOCP(bool firstVoltageLimitVsOCP)
set whether to reference the first voltage-limit against the open-circuit voltage or not.
void setStartVoltage(double startVoltage)
set the value for the start voltage.
double getApproxMaxCurrent() const
get the value set for the expected maximum current.
QString getName() const override
get the name of the element.
double getSamplingInterval() const
get how frequently we are sampling the data.
bool isStartVoltageVsOCP() const
tells whether the start voltage is set with respect to the open circuit voltage or not.
void setEndVoltageVsOCP(bool endVoltageVsOCP)
set whether to reference the end voltage against the open-circuit voltage or the reference terminal.
void setQuietTimeSamplingInterval(double quietTimeSamplingInterval)
Sets the quiet time sampling interval.
void setStartVoltageVsOCP(bool startVoltageVsOCP)
set whether to reference the start voltage against the open-circuit voltage or the reference terminal...
void setSamplingInterval(double sampInterval)
set how frequently we are sampling the data.
void setNumberOfCycles(unsigned int cycles)
set the number of cycles to oscillate between the first voltage-limit and the second voltage-limit.
QStringList getCategory() const override
get a list of applicable categories of the element.