Commit 3667e0b7 authored by legoc's avatar legoc Committed by Locatelli
Browse files

Recompile jar of nomad special modules

parents 21556413 63b2ecc5
......@@ -32,7 +32,7 @@ const string CyclopsDataHeader::END = "*";
* Constructor
*/
CyclopsDataHeader::CyclopsDataHeader(const string& name) :
utilities::CountSpy(name) {
ExperimentController(name) {
setFamily(family::HIDDEN);
......@@ -40,6 +40,7 @@ CyclopsDataHeader::CyclopsDataHeader(const string& name) :
m_CamDriver.init(this, "cammeraDriver");
m_Title.init(this, "title");
m_CountSpy.init(this, "count_spy");
m_SampleSettings.init(this, "sample_settings");
m_ScanInfo.init(this, "scan_info");
m_CyclopsSetting.init(this, "cyclops_setting");
......@@ -66,30 +67,17 @@ CyclopsDataHeader::~CyclopsDataHeader() {
* postConfiguration
*/
void CyclopsDataHeader::postConfiguration() {
utilities::CountSpy::postConfiguration();
registerUpdater(m_CountSpy->statusMessage, &CyclopsDataHeader::updateStatusMessage, this);
}
/*
* updateProperty
*/
void CyclopsDataHeader::updateProperty(ChangeAspect* aChangeAspect) {
string propertyName = aChangeAspect->getStringParam();
string controllername = aChangeAspect->getControllerName();
int32 i;
for (i = 0; i < (int32) m_CountControllers.size(); ++i) {
if (m_CountControllers[i]->getName() == controllername) {
break;
}
}
if (i < (int32) m_CountControllers.size()) {
if (propertyName == statusMessage.getName()) {
boost::any propvalue = dynamic_cast<AbstractController*>(m_CountControllers[i])->getValue(propertyName);
if (any_cast<string>(propvalue) == "Writing parameters") {
createHeader();
}
}
void CyclopsDataHeader::updateStatusMessage() {
if (m_CountSpy->statusMessage() == "Writing parameters") {
createHeader();
}
utilities::CountSpy::updateProperty(aChangeAspect);
}
/*
......@@ -115,7 +103,7 @@ void CyclopsDataHeader::createHeader() {
create_i(header, "nbang", m_ScanInfo->nbController(), 0);
create_i(header, "nkmes", m_ScanInfo->nbStep(), 0);
create_i(header, "npmes", m_ScanInfo->actualStep(), 0);
create_i(header, "jcode", modeint(), 0);
create_i(header, "jcode", m_CountSpy->modeint(), 0);
create_i(header, "count", 0, 0);
create_i(header, "gain", m_CyclopsSetting->gain(), 0);
create_i(header, "mode", m_CyclopsSetting->mode(), 0);
......@@ -141,12 +129,17 @@ void CyclopsDataHeader::createHeader() {
create_f(header, "reqt", m_SampleSettings->getMainSampleTempController()->wantedTemperature(), 8 ,2);
create_f(header, "samp", m_SampleSettings->getMainSampleTempController()->sampleTemperature(), 8 ,2);
create_f(header, "heat", m_SampleSettings->getMainSampleTempController()->power(), 8 ,2);
if (m_SampleSettings->getSecSampleTempController()->isEnabled() == true) {
create_f(header, "temp2", m_SampleSettings->getSecSampleTempController()->regulationTemperature(), 8 ,2);
create_f(header, "stpt2", m_SampleSettings->getSecSampleTempController()->setpointTemperature(), 8 ,2);
create_f(header, "reqt2", m_SampleSettings->getSecSampleTempController()->wantedTemperature(), 8 ,2);
create_f(header, "samp2", m_SampleSettings->getSecSampleTempController()->sampleTemperature(), 8 ,2);
create_f(header, "heat2", m_SampleSettings->getSecSampleTempController()->power(), 8 ,2);
if (m_SampleSettings->getSecSampleTempController() != NULL) {
if (m_SampleSettings->getSecSampleTempController()->isEnabled() == true) {
create_f(header, "temp2", m_SampleSettings->getSecSampleTempController()->regulationTemperature(), 8 ,2);
create_f(header, "stpt2", m_SampleSettings->getSecSampleTempController()->setpointTemperature(), 8 ,2);
create_f(header, "reqt2", m_SampleSettings->getSecSampleTempController()->wantedTemperature(), 8 ,2);
create_f(header, "samp2", m_SampleSettings->getSecSampleTempController()->sampleTemperature(), 8 ,2);
create_f(header, "heat2", m_SampleSettings->getSecSampleTempController()->power(), 8 ,2);
}
else {
create_f(header, "temp2", -1., 8 ,2);
}
}
else {
create_f(header, "temp2", -1., 8 ,2);
......
......@@ -41,7 +41,7 @@ namespace cyclops {
* \class cyclops data server path setiing
* \brief Configure data path and name for cyclops data server
*/
class CyclopsDataHeader: public utilities::CountSpy {
class CyclopsDataHeader: public ExperimentController {
public:
......@@ -59,12 +59,6 @@ public:
*/
virtual ~CyclopsDataHeader();
virtual void updateProperty(ChangeAspect* aChangeAspect);
/*!
* Properties
*/
private:
/*!
......@@ -73,8 +67,11 @@ private:
*/
virtual void postConfiguration();
void updateStatusMessage();
DriverPtr<psl::PslDriver> m_CamDriver;
ControllerPtr<acquisition::ExperimentData> m_Title;
ControllerPtr<utilities::CountSpy> m_CountSpy;
ControllerPtr<sample_environment::SampleSettings> m_SampleSettings;
ControllerPtr<scan::ScanInfo> m_ScanInfo;
ControllerPtr<CyclopsSetting> m_CyclopsSetting;
......
This diff is collapsed.
......@@ -20,18 +20,19 @@
#define CAENCFDCONTROLLER_H
#include "CAENAdcController.h"
#include "drivers/ioxos/cfd/CfdDriver.h"
//#include "drivers/ioxos/cfd/CfdDriver.h"
#include "drivers/caen_cfd/CAENCfdDriver.h"
namespace npp {
/*!
* \class CAENV1724Driver
* \brief Main class for the CAENV1724Driver device driver
* \class CAENV1725Driver
* \brief Main class for the CAENV1725Driver device driver
*
* \par
* Class for CAENV1724Driver driver. Implements DeviceDriver methods.
* Class for CAENV1725Driver driver. Implements DeviceDriver methods.
* \par
* The CAENV1724Driver device manages the global functionality of the CAEN V1724 VME Digitiser.
* The CAENV1724Driver device manages the global functionality of the CAEN V1725 VME Digitiser.
*/
class CAENCfdController: public CAENAdcController {
......@@ -56,44 +57,84 @@ public:
*/
virtual void postConfiguration();
// Global properties
Property<int32> delay;
Property<int32> attenuation;
// Channel property
Property<int32> trapezoidRise;
Property<int32> trapezoidFlat;
Property<int32> decayTime;
Property<int32> peaking;
Property<int32> bitShift;
Property<int32> channelOffset;
// Channels properties
Property<int32> nbBits;
Property<float64> signalDecayTime;
Property<float64> trapezoidFlatTop;
Property<float64> trapezoidRiseTime;
Property<float64> flatTopDelay;
Property<int32> triggerSmoothing;
Property<float64> signalRiseTime;
Property<int32> triggerThreshold;
Property<int32> baselineMean;
Property<int32> peakMean;
Property<float64> peakHoldOff;
Property<float64> baselineHoldOff;
Property<float64> triggerHoldOff;
Property<int32> triggerWindowSize;
Property<int32> triggerWindowEnable;
Property<int32> digitalGain;
Property<float64> trapezoidGain;
Property<int32> decimation;
Property<int32> cfdActive;
Property<int32> cfdFraction;
Property<int32> cfdDelay;
Property<int32> cfdSignalZero;
Property<int32> dynamicRange;
Property<int32> cfdTrap;
// Channels properties outside dppParam
Property<int32> useFirstDerivative;
protected:
DriverPtr<cfd::CfdDriver> m_CfdDriver;
DriverPtr<caen_cfd::CAENCfdDriver> m_dgtzDriver;
private:
void refreshDelayProperty(int32 aValue) throw (CannotSetValue);
void refreshAttenuationProperty(int32 aValue) throw (CannotSetValue);
void refreshTrapezoidRiseProperty(int32 aValue) throw (CannotSetValue);
void refreshTrapezoidFlatProperty(int32 aValue) throw (CannotSetValue);
void refreshDecayTimeProperty(int32 aValue) throw (CannotSetValue);
void refreshPeakingProperty(int32 aValue) throw (CannotSetValue);
void refreshBitShiftProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshChannelActiveProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshRecordLengthProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshDisplayChannelProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshChannelOffsetProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshNbChannelsProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshPulsePolarityProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshDisplayChannelProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshRecordLengthProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshcfdTrapProperty(int32 aValue) throw (CannotSetValue);
virtual void refreshDppAcqModeProperty(int32 aValue) throw (CannotSetValue);
virtual void updateBoardProperties();
void updateCfdProperties(int32 channel);
virtual void refreshChannelActiveProperty(int32 aValue) throw (CannotSetValue);
void refreshSignalDecayTime(float64 aValue) throw (CannotSetValue);
void refreshTrapezoidFlatTopProperty(float64 aValue) throw (CannotSetValue);
void refreshTrapezoidRiseTimeProperty(float64 aValue) throw (CannotSetValue);
void refreshFlatTopDelayProperty(float64 aValue) throw (CannotSetValue);
void refreshTriggerSmoothing(int32 aValue) throw (CannotSetValue);
void refreshSignalRiseTimeProperty(float64 aValue) throw (CannotSetValue);
void refreshTriggerThresholdProperty(int32 aValue) throw (CannotSetValue);
void refreshBaselineMean(int32 aValue) throw (CannotSetValue);
void refreshPeakMean(int32 aValue) throw (CannotSetValue);
void refreshPeaklineHoldOffProperty(float64 aValue) throw (CannotSetValue);
void refreshBaselineHoldOffProperty(float64 aValue) throw (CannotSetValue);
void refreshTriggerHoldOffProperty(float64 aValue) throw (CannotSetValue);
void refreshTriggerWindowSizeProperty(int32 aValue) throw (CannotSetValue);
void refreshTriggerWindowEnableProperty(int32 aValue) throw (CannotSetValue);
void refreshDigitalGainProperty(int32 aValue) throw (CannotSetValue);
void refreshTrapezoidGainProperty(float64 aValue) throw (CannotSetValue);
void refreshDecimationProperty(int32 aValue) throw (CannotSetValue);
void refreshDcOffsetProperty(int32 aValue) throw (CannotSetValue);
void refreshPreTriggerProperty(int32 aValue) throw (CannotSetValue);
void refreshPulsePolarityProperty(int32 aValue) throw (CannotSetValue);
void refreshUseFirstDerivativeProperty(int32 aValue) throw (CannotSetValue);
void refreshCfdActiveProperty(int32 aValue) throw (CannotSetValue);
void refreshCfdFractionProperty(int32 aValue) throw (CannotSetValue);
void refreshCfdDelayProperty(int32 aValue) throw (CannotSetValue);
void refreshCfdSignalZeroProperty(int32 aValue) throw (CannotSetValue);
void refreshDynamicRangeProperty(int32 aValue) throw (CannotSetValue);
virtual void updateBoardProperties();
void updateNbBitsProperty();
virtual void clearData();
virtual void writeParam();
virtual void initChannel(int32 aChannel);
void initBoard();
};
}
......
......@@ -364,7 +364,7 @@ void CAENPhaController::updateBoardProperties() {
if (modelName() == "V1724") {
cardType = lstdpp128::C1724_PHA_RT;
}
else if (modelName() == "V1730") {
else if (modelName() == "V1725") {
cardType = lstdpp128::C1730_PHA_RT;
}
channels.update(m_dgtzDriver->channels());
......
<module name="npp_s">
<controller class="npp::CAENCfdController"/>
<controller class="npp::CAENPhaController"/>
<controller class="npp::CAENCfdController"/>
<controller class="npp::CAENPksController"/>
<controller class="npp::CAENPsdController"/>
<controller class="npp::DPPAcquisitionController"/>
......
# Board Params
cfd_controller.boardParamsTitle=Board Parameters
cfd_controller.nbChannels=Nb channels:
cfd_controller.nbBits=Nb bits:
cfd_controller.acqMode=Acquisition mode:
cfd_controller.recordLength=Record length
cfd_controller.cfdTrap=Select Plot
# Channel General Settings
cfd_controller.generalSettingsTitle=General Settings
cfd_controller.recordLength=Record length
cfd_controller.displayChannel=Channel
cfd_controller.channelEnabled=Channel enabled
cfd_controller.pulsePolarity=Pulse polarity
cfd_controller.dcOffset=DC offset
cfd_controller.digitalGain=Digital gain
cfd_controller.decimation=Decimation
cfd_controller.enabledCheckedValue=1
cfd_controller.enabledUncheckedValue=0
cfd_controller.dynamicRange=Dynamic range
# Timing Filter
cfd_controller.selfTrigger=Self-trigger
cfd_controller.stenabledLabel=Enable
cfd_controller.stenabledValue=1
cfd_controller.stdisableLabel=Disable
cfd_controller.stdisableValue=0
cfd_controller.timingFilterTitle=Trigger and Timing Filter
cfd_controller.preTrigger=Pre-trigger
cfd_controller.threshold=Threshold
cfd_controller.triggerSmoothing=Smoothing
cfd_controller.signalRiseTime=Rise time
cfd_controller.triggerHoldOff=Trigger holdoff
cfd_controller.charge_sensitivity=Charge sens.
cfd_controller.fcversuslsb=fc/LSB
cfd_controller.20csValue=0
cfd_controller.20csLabel=20
cfd_controller.40csValue=1
cfd_controller.40csLabel=40
cfd_controller.80csValue=2
cfd_controller.80csLabel=80
cfd_controller.160csValue=3
cfd_controller.160csLabel=160
cfd_controller.320csValue=4
cfd_controller.320csLabel=320
cfd_controller.640csValue=5
cfd_controller.640csLabel=640
# Energy Filter
cfd_controller.energyFilterTitle=Energy Filter
cfd_controller.signalDecayTime=Decay time
cfd_controller.trapezoidlRiseTime=Trapezoid rise
cfd_controller.trapezoidFlatTop=Trapezoid flat-top
cfd_controller.baselineMean=Baseline mean
cfd_controller.shortGate=Short gate
cfd_controller.longGate=Long gate
cfd_controller.preGate=Pre gate
cfd_controller.trapezoidGain=Trapezoid gain
cfd_controller.flatTopDelay=Peaking delay
cfd_controller.peakMean=Peak mean
cfd_controller.baselineHoldOff=Baseline holdoff
cfd_controller.peakHoldOff=Peak holdoff
# Units
cfd_controller.lsbUnit=LSB
......@@ -56,6 +48,12 @@ cfd_controller.positiveLabel=Positive
cfd_controller.negativeValue=1
cfd_controller.negativeLabel=Negative
# Combo dynamic range
cfd_controller.twoValue=0
cfd_controller.twoLabel=2V
cfd_controller.zeroFiveValue=1
cfd_controller.zeroFiveLabel=0.5V
# Combo digital gain
cfd_controller.gain1Value=0
cfd_controller.gain1Label=1
......@@ -92,21 +90,19 @@ cfd_controller.smooth32Label=32
# Combo base mean
cfd_controller.base0Value=0
cfd_controller.base0Label=Fixed
cfd_controller.base8Value=1
cfd_controller.base8Label=8
cfd_controller.base16Value=2
cfd_controller.base0Label=0
cfd_controller.base16Value=1
cfd_controller.base16Label=16
cfd_controller.base32Value=3
cfd_controller.base32Label=32
cfd_controller.base64Value=4
cfd_controller.base64Value=2
cfd_controller.base64Label=64
cfd_controller.base128Value=5
cfd_controller.base128Label=128
cfd_controller.base256Value=6
cfd_controller.base256Value=3
cfd_controller.base256Label=256
cfd_controller.base512Value=7
cfd_controller.base512Label=512
cfd_controller.base1024Value=4
cfd_controller.base1024Label=1024
cfd_controller.base4096Value=5
cfd_controller.base4096Label=4096
cfd_controller.base16384Value=6
cfd_controller.base16384Label=16384
# Combo peak mean
cfd_controller.peak1Value=0
......@@ -123,6 +119,8 @@ cfd_controller.oscilloscopeValue=0
cfd_controller.oscilloscopeLabel=Oscilloscope
cfd_controller.histogramValue=1
cfd_controller.histogramLabel=Histogram
cfd_controller.waveformValue=2
cfd_controller.waveformLabel=Wave Form
# Plot group
cfd_controller.histogranPlotTitle=Energy histogram
......@@ -139,14 +137,36 @@ cfd_controller.peakingLegend=Peaking
cfd_controller.percentSuffix=%
cfd_controller.pn1CoincidencePlotTitle=E-dE
cfd_controller.cfdGlobalTitle=CFD global parameters
cfd_controller.channelOffset=Channel offset
# CFD parametres
cfd_controller.cfdParametersTitle=CFD Parameters
cfd_controller.cfdEnabled=Enable CFD
cfd_controller.enabledCheckedValue=1
cfd_controller.enabledUncheckedValue=0
cfd_controller.cfdTrapCheckedValue=1
cfd_controller.cfdTrapUncheckedValue=0
cfd_controller.fraction=Fraction
cfd_controller.delay=Delay
cfd_controller.attenuation=Attenuation
cfd_controller.cfdEnergyTitle=CFD Energy parameters
cfd_controller.pulse_polarity=Pulse polarity
cfd_controller.trapezoid_rise=Trapezoid rise
cfd_controller.trapezoid_flat=Trapezoid flat
cfd_controller.decay_time=Decay time
cfd_controller.peaking=Peaking
cfd_controller.bitShift=Bit shift
\ No newline at end of file
cfd_controller.signalZero=Baseline
cfd_controller.percentUnit=%
cfd_controller.2nSecUnit=2ns
cfd_controller.4nSecUnit=4ns
cfd_controller.adcUnit=channels
# Combo fraction
cfd_controller.25Value=0
cfd_controller.25Label=25
cfd_controller.50Value=1
cfd_controller.50Label=50
cfd_controller.100Value=3
cfd_controller.100Label=100
cfd_controller.CFDValue=1
cfd_controller.CFDLabel=CFD
cfd_controller.TrapValue=0
cfd_controller.TrapLabel=Trapezoid
......@@ -6,81 +6,114 @@
<strictly_positive/>
</property>
<property name="nb_bits" type="int32" max_length="3">
<strictly_positive/>
</property>
<property name="record_length" type="int32" max_length="6">
</property>
<property name="display_channel" type="int32" max_length="3">
<property_range min_property="min_range" max_property="max_range"/>
</property>
<property name="channel_offset" type="int32" max_length="3">
<property name="decay_time" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<property name="record_length" type="int32" max_length="6">
<property name="trapezoid_flat" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<!-- <property name="trigger_holdoff" type="float64" max_length="6"> -->
<!-- <decimal_format nb_decimal_places="2"/> -->
<!-- <strictly_positive/> -->
<!-- </property> -->
<property name="trapezoid_rise" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<!-- <property name="trigger_threshold" type="int32" max_length="3"> -->
<!-- <strictly_positive/> -->
<!-- </property> -->
<property name="flat_top" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<!-- <property name="self_trigger" type="int32"> -->
<!-- </property> -->
<property name="trigger_smoothing" type="int32">
</property>
<!-- <property name="charge_sensitivity" type="int32"> -->
<!-- </property> -->
<property name="rise_time" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<!-- <property name="short_gate" type="float64" max_length="6"> -->
<!-- <decimal_format nb_decimal_places="2"/> -->
<!-- <strictly_positive/> -->
<!-- </property> -->
<property name="trigger_threshold" type="int32" max_length="3">
<strictly_positive/>
</property>
<!-- <property name="long_gate" type="float64" max_length="6"> -->
<!-- <decimal_format nb_decimal_places="2"/> -->
<!-- <strictly_positive/> -->
<!-- </property> -->
<property name="base_mean" type="int32">
</property>
<!-- <property name="pre_gate" type="float64" max_length="6"> -->
<!-- <decimal_format nb_decimal_places="2"/> -->
<!-- <strictly_positive/> -->
<!-- </property> -->
<property name="peak_mean" type="int32">
</property>
<property name="trigger_validation" type="int32">
<property name="dynamic_range" type="int32">
</property>
<!-- <property name="base_mean" type="int32"> -->
<!-- </property> -->
<property name="peak_holdoff" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<property name="channel_active" type="int32">
<property name="base_holdoff" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<property name="pre_trigger" type="int32" max_length="4">
<property name="trigger_holdoff" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<property name="delay" type="int32">
<property name="trigger_window_size" type="float64" max_length="6">
<strictly_positive/>
</property>
<property name="attenuation" type="int32">
<property name="trigger_window_enable" type="int32">
</property>
<property name="pulse_polarity" type="int32">
<property name="digital_gain" type="int32">
</property>
<property name="trapezoid_rise" type="int32">
<property name="trapezoid_gain" type="float64" max_length="6">
<decimal_format nb_decimal_places="2"/>
<strictly_positive/>
</property>
<property name="trapezoid_flat" type="int32">
<property name="decimation" type="int32">
</property>
<property name="decay_time" type="int32">
<property name="channel_active" type="int32">
</property>
<property name="peaking" type="int32">
<property name="dc_offset" type="int32" max_length="4">
</property>
<property name="bit_shift" type="int32">
<property name="pre_trigger" type="int32" max_length="4">
<strictly_positive/>
</property>
<property name="pulse_polarity" type="int32">
</property>
<property name="use_first_derivative" type="int32">
</property>
<property name="cfd_delay" type="int32" max_length="4">
<strictly_positive/>
</property>
<property name="signal_zero" type="int32" max_length="4">
<strictly_positive/>
</property>
<!-- OSCILLOSCOPE CURVES -->
......