Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Instrument Control
NomadSpecialModules
Commits
63b2ecc5
Commit
63b2ecc5
authored
Dec 20, 2017
by
Locatelli
Browse files
Merge branch 'master' of
https://code.ill.fr/instrument-control/nomad-special-modules.git
parents
39f46f84
2486c15f
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
src/controllers/npp/CAENCfdController.cpp
View file @
63b2ecc5
This diff is collapsed.
Click to expand it.
src/controllers/npp/CAENCfdController.h
View file @
63b2ecc5
...
...
@@ -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 CAENV172
4
Driver
* \brief Main class for the CAENV172
4
Driver device driver
* \class CAENV172
5
Driver
* \brief Main class for the CAENV172
5
Driver device driver
*
* \par
* Class for CAENV172
4
Driver driver. Implements DeviceDriver methods.
* Class for CAENV172
5
Driver driver. Implements DeviceDriver methods.
* \par
* The CAENV1724Driver device manages the global functionality of the CAEN V172
4
VME Digitiser.
* The CAENV1724Driver device manages the global functionality of the CAEN V172
5
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_
Cfd
Driver
;
DriverPtr
<
caen_
cfd
::
CAEN
CfdDriver
>
m_
dgtz
Driver
;
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
();
};
}
...
...
src/controllers/npp/CAENPhaController.cpp
View file @
63b2ecc5
...
...
@@ -364,7 +364,7 @@ void CAENPhaController::updateBoardProperties() {
if
(
modelName
()
==
"V1724"
)
{
cardType
=
lstdpp128
::
C1724_PHA_RT
;
}
else
if
(
modelName
()
==
"V17
30
"
)
{
else
if
(
modelName
()
==
"V17
25
"
)
{
cardType
=
lstdpp128
::
C1730_PHA_RT
;
}
channels
.
update
(
m_dgtzDriver
->
channels
());
...
...
src/controllers/npp/Module.xml
View file @
63b2ecc5
<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"
/>
...
...
src/controllers/npp/gui/cfd_controler/cfd_controller.properties
View file @
63b2ecc5
# 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
src/controllers/npp/gui/cfd_controler/cfd_controllerProperties.xml
View file @
63b2ecc5
...
...
@@ -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="tr
igger_holdoff
" type="float64" max_length="6">
-->
<!--
<decimal_format nb_decimal_places="2"/>
-->
<!--
<strictly_positive/>
-->
<!--
</property>
-->
<property
name=
"tr
apezoid_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_
ti
m
e"
type=
"int32"
>
<property
name=
"
channel_ac
ti
v
e"
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 -->
...
...
src/controllers/npp/gui/cfd_controler/cfd_controllerView.xml
View file @
63b2ecc5
<plugin>
<controller
type=
"cfd_controller"
role=
"cfd_controller1"
/>
<property_switcher
role=
"cfd_controller1"
property=
"dpp_acq_mode"
switcher_key=
"
useScop
eSwitcher"
/>
<property_switcher
role=
"cfd_controller1"
property=
"dpp_acq_mode"
switcher_key=
"
acqMod
eSwitcher"
/>
<group
title=
"cfd_controller.boardParamsTitle"
>
<text
role=
"cfd_controller1"
property=
"nb_channels"
prefix=
"cfd_controller.nbChannels"
/>
<label
role=
"cfd_controller1"
property=
"nb_bits"
prefix=
"cfd_controller.nbBits"
/>
<newLine/>
<combo
role=
"cfd_controller1"
property=
"dpp_acq_mode"
prefix=
"cfd_controller.acqMode"
valuesAndLabels=
"cfd_controller.oscilloscope,cfd_controller.histogram"
/>
<switchable_composite
switcher_key=
"useScopeSwitcher"
switch_values=
"0"
>
<simple_label
prefix=
"cfd_controller.recordLength"
/>
<text
role=
"cfd_controller1"
property=
"record_length"
/>
<combo
role=
"cfd_controller1"
property=
"dpp_acq_mode"
prefix=
"cfd_controller.acqMode"
valuesAndLabels=
"cfd_controller.oscilloscope,cfd_controller.histogram,cfd_controller.waveform"
/>
<switchable_composite
switcher_key=
"acqModeSwitcher"
switch_values=
"0"
>
<text
role=
"cfd_controller1"
property=
"record_length"
prefix=
"cfd_controller.recordLength"
/>
<plot_launcher
role=
"cfd_controller1"
data=
"cfd_input_plot,cfd_trapezoid_plot,cfd_trigger_plot,cfd_peaking_plot"
title=
"cfd_controller.inputPlotTitle"
height=
"20"
/>
<simple_label
prefix=
"cfd_controller.cfdTrap"
/>
<combo
role=
"cfd_controller1"
property=
"cfd_trap"
valuesAndLabels=
"cfd_controller.CFD,cfd_controller.Trap"
/>
</switchable_composite>
<switchable_composite
switcher_key=
"acqModeSwitcher"
switch_values=
"2"
>
<text
role=
"cfd_controller1"
property=
"record_length"
prefix=
"cfd_controller.recordLength"
/>
</switchable_composite>
</group>
<newLine/>
<group
title=
"cfd_controller.generalSettingsTitle"
>
<simple_label
prefix=
"cfd_controller.displayChannel"
/>
<text
role=
"cfd_controller1"
property=
"display_channel"
/>
<newLine/>
<table_composite
nbColumns=
"4"
>
<simple_label
prefix=
"cfd_controller.d
isplayChannel
"
/>
<
text
role=
"cfd_controller1"
property=
"d
isplay_channel
"
/>
<simple_label
prefix=
"cfd_controller.d
ynamicRange
"
/>
<
combo
role=
"cfd_controller1"
property=
"d
ynamic_range"
valuesAndLabels=
"cfd_controller.two,cfd_controller.zeroFive
"
/>
<simple_label
prefix=
"cfd_controller.channelEnabled"
/>
<check
role=
"cfd_controller1"
property=
"channel_active"
checkBoxValues=
"cfd_controller.enabled"
/>
<simple_label
prefix=
"cfd_controller.pulsePolarity"
/>
<combo
role=
"cfd_controller1"
property=
"pulse_polarity"
valuesAndLabels=
"cfd_controller.positive,cfd_controller.negative"
/>
<simple_label
prefix=
"cfd_controller.dcOffset"
/>
<text
role=
"cfd_controller1"
property=
"dc_offset"
/>
<simple_label
prefix=
"cfd_controller.digitalGain"
/>
<combo
role=
"cfd_controller1"
property=
"digital_gain"
valuesAndLabels=
"cfd_controller.gain1,cfd_controller.gain2,cfd_controller.gain4,cfd_controller.gain8"
/>
<simple_label
prefix=
"cfd_controller.decimation"
/>
<combo
role=
"cfd_controller1"
property=
"decimation"
valuesAndLabels=
"cfd_controller.dec0,cfd_controller.dec2,cfd_controller.dec4,cfd_controller.dec8"
/>
</table_composite>
</group>
<newLine/>
<!-- <composite alignment="top_left"> -->
<!-- <group title="cfd_controller.timingFilterTitle" alignment="top_left"> -->
<!-- <table_composite nbColumns="2"> -->
<!-- <simple_label prefix="cfd_controller.selfTrigger"/> -->
<!-- <combo role="cfd_controller1" property="self_trigger" valuesAndLabels="cfd_controller.stenabled,cfd_controller.stdisable"/> -->
<!-- <simple_label prefix="cfd_controller.preTrigger"/> -->
<!-- <text role="cfd_controller1" property="pre_trigger"/> -->
<!-- <simple_label prefix="cfd_controller.charge_sensitivity"/> -->
<!-- <combo role="cfd_controller1" property="charge_sensitivity" valuesAndLabels="cfd_controller.20cs,cfd_controller.40cs,cfd_controller.80cs,cfd_controller.160cs,cfd_controller.320cs,cfd_controller.640cs" suffix="cfd_controller.fcversuslsb"/> -->
<!-- <simple_label prefix="cfd_controller.baselineMean"/> -->
<!-- <combo role="cfd_controller1" property="base_mean" valuesAndLabels="cfd_controller.base0,cfd_controller.base8,cfd_controller.base16,cfd_controller.base32,cfd_controller.base64,cfd_controller.base128,cfd_controller.base256,cfd_controller.base512"/> -->
<!-- <simple_label prefix="cfd_controller.triggerHoldOff"/> -->
<!-- <text role="cfd_controller1" property="trigger_holdoff" suffix="cfd_controller.uSecUnit"/> -->
<!-- </table_composite> -->
<!-- </group> -->
<!-- <group title="cfd_controller.energyFilterTitle" alignment="top_left"> -->
<!-- <table_composite nbColumns="2"> -->
<!-- <simple_label prefix="cfd_controller.threshold"/> -->
<!-- <text role="cfd_controller1" property="trigger_threshold" suffix="cfd_controller.lsbUnit"/> -->
<!-- <simple_label prefix="cfd_controller.shortGate"/> -->
<!-- <text role="cfd_controller1" property="short_gate" suffix="cfd_controller.uSecUnit"/> -->
<!-- <simple_label prefix="cfd_controller.longGate"/> -->
<!-- <text role="cfd_controller1" property="long_gate" suffix="cfd_controller.uSecUnit"/> -->
<!-- <simple_label prefix="cfd_controller.preGate"/> -->
<!-- <text role="cfd_controller1" property="pre_gate" suffix="cfd_controller.uSecUnit"/> -->
<!-- </table_composite> -->
<!-- </group> -->
<newLine/>
<group
title=
"cfd_controller.cfdGlobalTitle"
alignment=
"top_left"
>
<composite
alignment=
"top_left"
>
<group
title=
"cfd_controller.timingFilterTitle"
alignment=
"top_left"
>
<table_composite
nbColumns=
"2"
>
<simple_label
prefix=
"cfd_controller.preTrigger"
/>
<text
role=
"cfd_controller1"
property=
"pre_trigger"
/>
<simple_label
prefix=
"cfd_controller.threshold"
/>
<text
role=
"cfd_controller1"
property=
"trigger_threshold"
suffix=
"cfd_controller.lsbUnit"
/>
<simple_label
prefix=
"cfd_controller.triggerSmoothing"
/>
<combo
role=
"cfd_controller1"
property=
"trigger_smoothing"
valuesAndLabels=
"cfd_controller.smooth1,cfd_controller.smooth2,cfd_controller.smooth4,cfd_controller.smooth8,cfd_controller.smooth16,cfd_controller.smooth32"
/>
<simple_label
prefix=
"cfd_controller.signalRiseTime"
/>
<text
role=
"cfd_controller1"
property=
"rise_time"
suffix=
"cfd_controller.uSecUnit"
/>
<simple_label
prefix=
"cfd_controller.triggerHoldOff"
/>
<text
role=
"cfd_controller1"
property=
"trigger_holdoff"
suffix=
"cfd_controller.uSecUnit"
/>
</table_composite>
</group>
<group
title=
"cfd_controller.energyFilterTitle"
alignment=
"top_left"
>
<table_composite
nbColumns=
"2"
>
<simple_label
prefix=
"cfd_controller.channelOffset"
/>
<text
role=
"cfd_controller1"
property=
"channel_offset"
/>
<simple_label
prefix=
"cfd_controller.delay"
/>
<text
role=
"cfd_controller1"
property=
"delay"
/>
<simple_label
prefix=
"cfd_controller.attenuation"
/>
<text
role=
"cfd_controller1"
property=
"attenuation"
/>
<simple_label
prefix=
"cfd_controller.signalDecayTime"
/>
<text
role=
"cfd_controller1"
property=
"decay_time"
suffix=
"cfd_controller.uSecUnit"
/>
<simple_label
prefix=
"cfd_controller.trapezoidlRiseTime"
/>
<text
role=
"cfd_controller1"
property=
"trapezoid_rise"
suffix=
"cfd_controller.uSecUnit"
/>
<simple_label
prefix=
"cfd_controller.trapezoidFlatTop"
/>
<text
role=
"cfd_controller1"
property=
"trapezoid_flat"
suffix=
"cfd_controller.uSecUnit"
/>
<simple_label
prefix=
"cfd_controller.baselineMean"
/>
<combo
role=
"cfd_controller1"
property=
"base_mean"
valuesAndLabels=
"cfd_controller.base0,cfd_controller.base16,cfd_controller.base64,cfd_controller.base256,cfd_controller.base1024,cfd_controller.base4096,cfd_controller.base16384"
/>
<simple_label
prefix=
"cfd_controller.trapezoidGain"
/>
<text
role=
"cfd_controller1"
property=
"trapezoid_gain"
/>
<simple_label
prefix=
"cfd_controller.flatTopDelay"
suffix=
"cfd_controller.uSecUnit"
/>
<text
role=
"cfd_controller1"
property=
"flat_top"
/>
<simple_label
prefix=
"cfd_controller.peakMean"
/>
<combo
role=
"cfd_controller1"
property=
"peak_mean"
valuesAndLabels=
"cfd_controller.peak1,cfd_controller.peak4,cfd_controller.peak16,cfd_controller.peak64"
/>
<simple_label
prefix=
"cfd_controller.baselineHoldOff"
/>
<text
role=
"cfd_controller1"
property=
"base_holdoff"
suffix=
"cfd_controller.uSecUnit"
/>