Improve plotting
This commit is contained in:
@@ -263,6 +263,7 @@ void JFJochStateMachine::Initialize() {
|
||||
logger.Info("Initialize");
|
||||
|
||||
state = JFJochState::Busy;
|
||||
|
||||
ClearMeasurementStatistics();
|
||||
measurement = std::async(std::launch::async, &JFJochStateMachine::InitializeThread, this, std::move(ul));
|
||||
}
|
||||
@@ -494,6 +495,7 @@ void JFJochStateMachine::LoadDetectorSettings(const DetectorSettings &settings)
|
||||
ApplyDetectorSettings(experiment, settings);
|
||||
break;
|
||||
case JFJochState::Idle:
|
||||
state = JFJochState::Busy;
|
||||
ApplyDetectorSettings(experiment, settings);
|
||||
measurement = std::async(std::launch::async, &JFJochStateMachine::PedestalThread, this, std::move(ul));
|
||||
break;
|
||||
@@ -523,14 +525,10 @@ BrokerStatus JFJochStateMachine::GetStatus() const {
|
||||
return ret;
|
||||
}
|
||||
|
||||
Plot JFJochStateMachine::GetPlots(const PlotRequest &request) const {
|
||||
MultiLinePlot JFJochStateMachine::GetPlots(const PlotRequest &request) const {
|
||||
return services.GetPlots(request);
|
||||
}
|
||||
|
||||
RadialIntegrationProfiles JFJochStateMachine::GetRadialIntegrationProfiles() const {
|
||||
return services.GetRadialIntegrationProfiles();
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetSpotFindingSettings(const SpotFindingSettings &settings) {
|
||||
std::unique_lock<std::mutex> ul(data_processing_settings_mutex);
|
||||
DiffractionExperiment::CheckDataProcessingSettings(settings);
|
||||
@@ -690,3 +688,43 @@ void JFJochStateMachine::LoadInternalGeneratorImage(const void *data, size_t siz
|
||||
|
||||
services.LoadInternalGeneratorImage(experiment, image, image_number);
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetBoxROI(const std::vector<ROIBox> &input) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("ROI can be modified only when detector is not running");
|
||||
|
||||
experiment.ROI().SetROIBox(input);
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetCircleROI(const std::vector<ROICircle> &input) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("ROI can be modified only when detector is not running");
|
||||
|
||||
experiment.ROI().SetROICircle(input);
|
||||
}
|
||||
|
||||
std::vector<ROIBox> JFJochStateMachine::GetBoxROI() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
return experiment.ROI().GetROIBox();
|
||||
}
|
||||
|
||||
std::vector<ROICircle> JFJochStateMachine::GetCircleROI() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
return experiment.ROI().GetROICircle();
|
||||
}
|
||||
|
||||
std::vector<uint64_t> JFJochStateMachine::GetXFELPulseID() const {
|
||||
std::vector<uint64_t> ret;
|
||||
services.GetXFELPulseID(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::vector<uint64_t> JFJochStateMachine::GetXFELEventCode() const {
|
||||
std::vector<uint64_t> ret;
|
||||
services.GetXFELEventCode(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user