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
2486c15f
Commit
2486c15f
authored
Dec 20, 2017
by
acq
Browse files
Add caen 1725 cfd device
parent
d2b79a76
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
src/controllers/npp/CAENCfdController.cpp
View file @
2486c15f
This diff is collapsed.
Click to expand it.
src/controllers/npp/CAENCfdController.h
View file @
2486c15f
...
...
@@ -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 @
2486c15f
...
...
@@ -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 @
2486c15f
<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 @
2486c15f
# 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 @
2486c15f
...
...
@@ -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 @
2486c15f
<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"
/>
<simple_label
prefix=
"cfd_controller.peakHoldOff"
/>