RunSpectrums.h 1.44 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * Nomad Instrument Control Software
 *
 * Copyright 2011 Institut Laue-Langevin
 *
 * Licensed under the EUPL, Version 1.1 only (the "License");
 * You may not use this work except in compliance with the Licence.
 * You may obtain a copy of the Licence at:
 *
 * http://joinup.ec.europa.eu/software/page/eupl
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the Licence is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the Licence for the specific language governing permissions and
 * limitations under the Licence.
 */

#ifndef DIELECTRICS_RUNSPECTRUMS_H
#define DIELECTRICS_RUNSPECTRUMS_H

22
#include "Spectrums.h"
23
24
25

namespace dielectrics {

26
class RunSpectrums : public Spectrums,
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
						public controller::Stoppable,
						public controller::Raz {

public:
	//! Type of controller
	static const std::string TYPE;

	RunSpectrums(const std::string& name);
	virtual ~RunSpectrums();

	virtual void postConfiguration();

	virtual void start();
	virtual void stop();
	virtual void raz();

43
44
	void updateApplicationState();
	void updateState();
45
46
47
	void updateN();
	void updateTime();
	void updateRun();
48

49
50
51
	Property<double> fr;
	Property<double> frMin;
	Property<double> frMax;
52
53
	Property<int32, SETPOINT> N;
	Property<double, SETPOINT> time;
54
	Property<std::string> comment;
55
	Property<int32> actualRun;
56

57
58
protected:
	void logRunNumbers(LogStream& logStream);
59
60
61
62
63
};

}

#endif