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
bdfe8f28
Commit
bdfe8f28
authored
Dec 08, 2016
by
Jacob Lamblin
Browse files
Add CalibParamController. Add Spy for StereoelecController. Correct small bugs.
parent
ccc7b268
Changes
37
Hide whitespace changes
Inline
Side-by-side
src/controllers/stereo_daq/CalibParamController.cpp
0 → 100644
View file @
bdfe8f28
/*
* 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.
*/
#include <cmath>
#include <bitset>
#include "drivers/stereo_elec/StereoElecDef.h"
#include "CalibParamController.h"
#include "controllers/common/family/Families.h"
using
namespace
std
;
namespace
stereo_daq
{
const
string
CalibParamController
::
TYPE
=
"calibparam_controller"
;
/*
* Constructor
*/
CalibParamController
::
CalibParamController
(
const
string
&
name
)
:
ExperimentController
(
name
),
controller
::
Stoppable
(
this
),
Select
(
this
),
Set
(
this
)
{
setFamily
(
family
::
ACQUISITION
,
family
::
SETTING
);
sourcetype
.
init
(
this
,
NOSAVE
,
"sourcetype"
);
x
.
init
(
this
,
NOSAVE
,
"x"
);
y
.
init
(
this
,
NOSAVE
,
"y"
);
z
.
init
(
this
,
NOSAVE
,
"z"
);
m_ELECDriver
.
init
(
this
,
"driver"
);
registerFunction
(
TYPE
);
}
CalibParamController
::
CalibParamController
(
const
CalibParamController
&
controller
)
:
ExperimentController
(
controller
),
controller
::
Stoppable
(
this
),
Select
(
this
),
Set
(
this
)
{
m_ELECDriver
.
copy
(
controller
.
m_ELECDriver
);
sourcetype
.
copy
(
this
,
controller
.
sourcetype
);
x
.
copy
(
this
,
controller
.
x
);
y
.
copy
(
this
,
controller
.
y
);
z
.
copy
(
this
,
controller
.
z
);
}
/*
* Destructor
*/
CalibParamController
::~
CalibParamController
()
{
// Empty
}
void
CalibParamController
::
postConfiguration
()
{
registerRefresher
(
sourcetype
,
&
CalibParamController
::
refreshSourceTypeProperty
,
this
);
registerRefresher
(
x
,
&
CalibParamController
::
refreshXProperty
,
this
);
registerRefresher
(
y
,
&
CalibParamController
::
refreshYProperty
,
this
);
registerRefresher
(
z
,
&
CalibParamController
::
refreshZProperty
,
this
);
sourcetype
=
"none"
;
x
=
0
;
y
=
0
;
z
=
0
;
}
void
CalibParamController
::
refreshSourceTypeProperty
(
const
std
::
string
&
value
)
throw
(
CannotSetValue
)
{
m_ELECDriver
->
DAQParams
.
sourceType
=
(
string
)
value
;
}
void
CalibParamController
::
refreshXProperty
(
float64
value
)
throw
(
CannotSetValue
)
{
m_ELECDriver
->
DAQParams
.
sourcePosX
=
(
float
)
value
;
}
void
CalibParamController
::
refreshYProperty
(
float64
value
)
throw
(
CannotSetValue
)
{
m_ELECDriver
->
DAQParams
.
sourcePosY
=
(
float
)
value
;
}
void
CalibParamController
::
refreshZProperty
(
float64
value
)
throw
(
CannotSetValue
)
{
m_ELECDriver
->
DAQParams
.
sourcePosZ
=
(
float
)
value
;
}
void
CalibParamController
::
select
()
{
}
void
CalibParamController
::
set
()
{
}
void
CalibParamController
::
start
()
{
}
void
CalibParamController
::
stop
()
{
}
}
src/controllers/stereo_daq/CalibParamController.h
0 → 100644
View file @
bdfe8f28
/*
* 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 CALIBPARAMCONTROLLER_H
#define CALIBPARAMCONTROLLER_H
#include <Controller.h>
#include "drivers/stereo_elec/StereoElecDriver.h"
#include "DAQParamController.h"
namespace
stereo_daq
{
/*!
* \class CalibParamController
*/
class
CalibParamController
:
public
ExperimentController
,
public
controller
::
Stoppable
,
public
Select
,
public
Set
{
public:
//! Type of controller
static
const
std
::
string
TYPE
;
/*!
* \brief Constructor
*
* It is the default constructor called by the creator class ExperimentControllerCreator.
*
* \param[in] name the name of the controller
*/
CalibParamController
(
const
std
::
string
&
name
);
/*!
* \brief Copy constructor
*
* \param[in] controller the controller to copy
*/
CalibParamController
(
const
CalibParamController
&
controller
);
/*!
* \brief Destructor
*/
virtual
~
CalibParamController
();
/*!
* \brief Method called before changing the property value
*
* This method is called after setting configuration during the creation of controller.
*/
virtual
void
postConfiguration
();
/*!
* Properties
*/
Property
<
string
>
sourcetype
;
Property
<
float64
>
x
;
Property
<
float64
>
y
;
Property
<
float64
>
z
;
protected:
DriverPtr
<
stereo_elec
::
StereoElecDriver
>
m_ELECDriver
;
//! The driver linked to the controller
/*!
* \brief select command
*/
virtual
void
select
();
/*!
* \brief select command
*/
virtual
void
set
();
/*!
* \brief start
*
*/
virtual
void
start
();
/*!
* \brief Stop command
*/
virtual
void
stop
();
private:
void
refreshSourceTypeProperty
(
const
std
::
string
&
value
)
throw
(
CannotSetValue
);
void
refreshXProperty
(
float64
value
)
throw
(
CannotSetValue
);
void
refreshYProperty
(
float64
value
)
throw
(
CannotSetValue
);
void
refreshZProperty
(
float64
value
)
throw
(
CannotSetValue
);
};
}
#endif // CALIBPARAMCONTROLLER_H
src/controllers/stereo_daq/DAQParamController.cpp
View file @
bdfe8f28
...
@@ -83,6 +83,26 @@ acquisition::TimeAcquisitionController(name), Select(this),Set(this) {
...
@@ -83,6 +83,26 @@ acquisition::TimeAcquisitionController(name), Select(this),Set(this) {
trigthresall
.
init
(
this
,
NOSAVE
,
"trigthresall"
);
trigthresall
.
init
(
this
,
NOSAVE
,
"trigthresall"
);
ntotall
.
init
(
this
,
NOSAVE
,
"ntotall"
);
ntailall
.
init
(
this
,
NOSAVE
,
"ntailall"
);
t2tgon
.
init
(
this
,
NOSAVE
,
"t2tgon"
);
t2gcon
.
init
(
this
,
NOSAVE
,
"t2gcon"
);
t2vton
.
init
(
this
,
NOSAVE
,
"t2vton"
);
t2tgor
.
init
(
this
,
NOSAVE
,
"t2tgor"
);
t2gcor
.
init
(
this
,
NOSAVE
,
"t2gcor"
);
t2vtor
.
init
(
this
,
NOSAVE
,
"t2vtor"
);
t2tgmode
.
init
(
this
,
NOSAVE
,
"t2tgmode"
);
t2gcmode
.
init
(
this
,
NOSAVE
,
"t2gcmode"
);
t2vtmode
.
init
(
this
,
NOSAVE
,
"t2vtmode"
);
t2tgmin
.
init
(
this
,
NOSAVE
,
"t2tgmin"
);
t2gcmin
.
init
(
this
,
NOSAVE
,
"t2gcmin"
);
t2vtmin
.
init
(
this
,
NOSAVE
,
"t2vtmin"
);
t2tgmax
.
init
(
this
,
NOSAVE
,
"t2tgmax"
);
t2gcmax
.
init
(
this
,
NOSAVE
,
"t2gcmax"
);
t2vtmax
.
init
(
this
,
NOSAVE
,
"t2vtmax"
);
t2timeresetthres
.
init
(
this
,
NOSAVE
,
"t2timeresetthres"
);
m_HVDriver
.
init
(
this
,
"hvdriver"
);
m_HVDriver
.
init
(
this
,
"hvdriver"
);
experimentData
.
init
(
this
,
"experimentinfo"
);
experimentData
.
init
(
this
,
"experimentinfo"
);
...
@@ -119,6 +139,26 @@ acquisition::TimeAcquisitionController(name), Select(this),Set(this) {
...
@@ -119,6 +139,26 @@ acquisition::TimeAcquisitionController(name), Select(this),Set(this) {
registerRefresher
(
t1timereset
,
&
DAQParamController
::
refreshT1TimeResetProperty
,
this
);
registerRefresher
(
t1timereset
,
&
DAQParamController
::
refreshT1TimeResetProperty
,
this
);
registerRefresher
(
namechannel
,
&
DAQParamController
::
refreshNameChannelProperty
,
this
);
registerRefresher
(
namechannel
,
&
DAQParamController
::
refreshNameChannelProperty
,
this
);
registerRefresher
(
trigthresall
,
&
DAQParamController
::
refreshTrigThresAllProperty
,
this
);
registerRefresher
(
trigthresall
,
&
DAQParamController
::
refreshTrigThresAllProperty
,
this
);
registerRefresher
(
ntotall
,
&
DAQParamController
::
refreshNTotAllProperty
,
this
);
registerRefresher
(
ntailall
,
&
DAQParamController
::
refreshNTailAllProperty
,
this
);
registerRefresher
(
t2tgon
,
&
DAQParamController
::
refreshT2TGOnProperty
,
this
);
registerRefresher
(
t2gcon
,
&
DAQParamController
::
refreshT2GCOnProperty
,
this
);
registerRefresher
(
t2vton
,
&
DAQParamController
::
refreshT2VTOnProperty
,
this
);
registerRefresher
(
t2tgor
,
&
DAQParamController
::
refreshT2TGOrProperty
,
this
);
registerRefresher
(
t2gcor
,
&
DAQParamController
::
refreshT2GCOrProperty
,
this
);
registerRefresher
(
t2vtor
,
&
DAQParamController
::
refreshT2VTOrProperty
,
this
);
registerRefresher
(
t2tgmode
,
&
DAQParamController
::
refreshT2TGModeProperty
,
this
);
registerRefresher
(
t2gcmode
,
&
DAQParamController
::
refreshT2GCModeProperty
,
this
);
registerRefresher
(
t2vtmode
,
&
DAQParamController
::
refreshT2VTModeProperty
,
this
);
registerRefresher
(
t2tgmin
,
&
DAQParamController
::
refreshT2TGMinProperty
,
this
);
registerRefresher
(
t2gcmin
,
&
DAQParamController
::
refreshT2GCMinProperty
,
this
);
registerRefresher
(
t2vtmin
,
&
DAQParamController
::
refreshT2VTMinProperty
,
this
);
registerRefresher
(
t2tgmax
,
&
DAQParamController
::
refreshT2TGMaxProperty
,
this
);
registerRefresher
(
t2gcmax
,
&
DAQParamController
::
refreshT2GCMaxProperty
,
this
);
registerRefresher
(
t2vtmax
,
&
DAQParamController
::
refreshT2VTMaxProperty
,
this
);
registerRefresher
(
t2timeresetthres
,
&
DAQParamController
::
refreshT2TimeResetThresProperty
,
this
);
// registerRefresher(enabledfe, &DAQParamController::refreshEnabledFEProperty, this);
// registerRefresher(enabledfe, &DAQParamController::refreshEnabledFEProperty, this);
...
@@ -170,6 +210,25 @@ DAQParamController::DAQParamController(const DAQParamController& controller) :
...
@@ -170,6 +210,25 @@ DAQParamController::DAQParamController(const DAQParamController& controller) :
setvalue
.
copy
(
this
,
controller
.
setvalue
);
setvalue
.
copy
(
this
,
controller
.
setvalue
);
trigthresall
.
copy
(
this
,
controller
.
trigthresall
);
trigthresall
.
copy
(
this
,
controller
.
trigthresall
);
ntotall
.
copy
(
this
,
controller
.
ntotall
);
ntailall
.
copy
(
this
,
controller
.
ntailall
);
t2tgon
.
copy
(
this
,
controller
.
t2tgon
);
t2gcon
.
copy
(
this
,
controller
.
t2gcon
);
t2vton
.
copy
(
this
,
controller
.
t2vton
);
t2tgor
.
copy
(
this
,
controller
.
t2tgor
);
t2gcor
.
copy
(
this
,
controller
.
t2gcor
);
t2vtor
.
copy
(
this
,
controller
.
t2vtor
);
t2tgmode
.
copy
(
this
,
controller
.
t2tgmode
);
t2gcmode
.
copy
(
this
,
controller
.
t2gcmode
);
t2vtmode
.
copy
(
this
,
controller
.
t2vtmode
);
t2tgmin
.
copy
(
this
,
controller
.
t2tgmin
);
t2gcmin
.
copy
(
this
,
controller
.
t2gcmin
);
t2vtmin
.
copy
(
this
,
controller
.
t2vtmin
);
t2tgmax
.
copy
(
this
,
controller
.
t2tgmax
);
t2gcmax
.
copy
(
this
,
controller
.
t2gcmax
);
t2vtmax
.
copy
(
this
,
controller
.
t2vtmax
);
t2timeresetthres
.
copy
(
this
,
controller
.
t2timeresetthres
);
m_HVDriver
.
copy
(
controller
.
m_HVDriver
);
m_HVDriver
.
copy
(
controller
.
m_HVDriver
);
experimentData
.
copy
(
controller
.
experimentData
);
experimentData
.
copy
(
controller
.
experimentData
);
...
@@ -178,7 +237,8 @@ DAQParamController::DAQParamController(const DAQParamController& controller) :
...
@@ -178,7 +237,8 @@ DAQParamController::DAQParamController(const DAQParamController& controller) :
registerRefresher
(
nfeboard
,
&
DAQParamController
::
refreshNFEBoardCloneProperty
,
this
);
registerRefresher
(
nfeboard
,
&
DAQParamController
::
refreshNFEBoardCloneProperty
,
this
);
registerRefresher
(
nfeboardmax
,
&
DAQParamController
::
refreshNFEBoardMaxProperty
,
this
);
registerRefresher
(
nfeboardmax
,
&
DAQParamController
::
refreshNFEBoardMaxProperty
,
this
);
registerRefresher
(
ntotall
,
&
DAQParamController
::
refreshNTotAllProperty
,
this
);
registerRefresher
(
ntailall
,
&
DAQParamController
::
refreshNTailAllProperty
,
this
);
}
}
/*
/*
...
@@ -225,10 +285,23 @@ void DAQParamController::postConfiguration() {
...
@@ -225,10 +285,23 @@ void DAQParamController::postConfiguration() {
ledused
=
0
;
ledused
=
0
;
m_ELECDriver
->
DAQParams
.
ledUsed
=
false
;
m_ELECDriver
->
DAQParams
.
ledUsed
=
false
;
trigthresall
=
0
;
trigthresall
=
0
;
ntotall
=
0
;
ntailall
=
0
;
setparam
=
""
;
setparam
=
""
;
setvalue
=
"0"
;
setvalue
=
"0"
;
m_ELECDriver
->
DAQParams
.
sourceType
=
"none"
;
m_ELECDriver
->
DAQParams
.
sourcePosX
=
0.
;
m_ELECDriver
->
DAQParams
.
sourcePosY
=
0.
;
m_ELECDriver
->
DAQParams
.
sourcePosZ
=
0.
;
t2tgon
=
false
;
t2gcon
=
false
;
t2vton
=
false
;
t2timeresetthres
=
0
;
experimentData
->
title
=
""
;
experimentData
->
subtitle
=
""
;
}
}
void
DAQParamController
::
refreshNFEBoardMaxProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
\
void
DAQParamController
::
refreshNFEBoardMaxProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
\
// Resize properties and vector
// Resize properties and vector
ntot
.
resize
(
value
);
ntot
.
resize
(
value
);
...
@@ -262,7 +335,7 @@ void DAQParamController::refreshNFEBoardMaxProperty(int32 value) throw (CannotSe
...
@@ -262,7 +335,7 @@ void DAQParamController::refreshNFEBoardMaxProperty(int32 value) throw (CannotSe
void
DAQParamController
::
refreshNFEBoardProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshNFEBoardProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
cout
<<
std
::
showbase
<<
dec
;
cout
<<
std
::
showbase
<<
dec
;
cout
<<
dec
<<
"nfeboard ancienne
puis nouvelle
"
<<
nfeboard
()
<<
" "
<<
value
<<
endl
;
cout
<<
dec
<<
"nfeboard ancienne "
<<
nfeboard
()
<<
"
nouvelle
"
<<
value
<<
endl
;
if
(
nfeboard
()
==
value
){
if
(
nfeboard
()
==
value
){
cout
<<
"nfeboard inchanged, skip the refresher"
<<
endl
;
cout
<<
"nfeboard inchanged, skip the refresher"
<<
endl
;
return
;
return
;
...
@@ -480,7 +553,7 @@ void DAQParamController::refreshNFEBoardCloneProperty(int32 value) throw (Cannot
...
@@ -480,7 +553,7 @@ void DAQParamController::refreshNFEBoardCloneProperty(int32 value) throw (Cannot
void
DAQParamController
::
refreshDAQModeProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshDAQModeProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
m_ELECDriver
->
DAQParams
.
DAQMode
=
(
short
unsigned
)
value
;
m_ELECDriver
->
DAQParams
.
DAQMode
=
(
short
unsigned
)
value
;
cout
<<
"DAQMode "
<<
m_ELECDriver
->
DAQParams
.
DAQMode
<<
endl
;
//
cout << "DAQMode " << m_ELECDriver->DAQParams.DAQMode << endl;
}
}
void
DAQParamController
::
refreshTrigModeProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshTrigModeProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
m_ELECDriver
->
DAQParams
.
trigMode
=
(
short
unsigned
)
value
;
m_ELECDriver
->
DAQParams
.
trigMode
=
(
short
unsigned
)
value
;
...
@@ -505,12 +578,17 @@ void DAQParamController::refreshLedUsedProperty(int value) throw (CannotSetValue
...
@@ -505,12 +578,17 @@ void DAQParamController::refreshLedUsedProperty(int value) throw (CannotSetValue
m_ELECDriver
->
DAQParams
.
ledUsed
=
value
;
m_ELECDriver
->
DAQParams
.
ledUsed
=
value
;
}
}
void
DAQParamController
::
refreshNTotProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshNTotProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
cout
<<
"NTOT refresher index "
<<
index
<<
" nfeboard() "
<<
nfeboard
()
<<
" value "
<<
value
<<
endl
;
if
(
index
<
nfeboard
()
&&
ntotall
()
==
0
){
if
(
index
<
nfeboard
())
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
nTot
=
(
short
unsigned
)
value
;
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
nTot
=
(
short
unsigned
)
value
;
//cout << "NTot(" << index << ") = " << value << endl;
}
}
}
void
DAQParamController
::
refreshNTailProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshNTailProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
if
(
index
<
nfeboard
())
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
nTail
=
(
short
unsigned
)
value
;
if
(
index
<
nfeboard
()
&&
ntailall
()
==
0
){
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
nTail
=
(
short
unsigned
)
value
;
//cout << "NTail(" << index << ") = " << value << endl;
}
}
}
void
DAQParamController
::
refreshPretrigProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshPretrigProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
...
@@ -528,7 +606,7 @@ void DAQParamController::refreshTrigChannelProperty(int32 index, bool value) thr
...
@@ -528,7 +606,7 @@ void DAQParamController::refreshTrigChannelProperty(int32 index, bool value) thr
if
(
index
<
nfeboard
()){
if
(
index
<
nfeboard
()){
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
0x00FF
;
// mise à 1 des 8 premiers bits
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
0x00FF
;
// mise à 1 des 8 premiers bits
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
0xFF00
;
// mise à 0 des 8 premiers bits
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
0xFF00
;
// mise à 0 des 8 premiers bits
cout
<<
"trigMask "
<<
(
bitset
<
16
>
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
<<
endl
;
//
cout << "trigMask " << (bitset<16> ) m_ELECDriver->DAQParams.FEParams_v.at(index).trigMask << endl;
}
}
}
}
...
@@ -536,7 +614,7 @@ void DAQParamController::refreshTrigSum03Property(int32 index, bool value) throw
...
@@ -536,7 +614,7 @@ void DAQParamController::refreshTrigSum03Property(int32 index, bool value) throw
if
(
index
<
nfeboard
()){
if
(
index
<
nfeboard
()){
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
(
short
unsigned
)
(
1u
<<
8
);
// mise à 1 du bit 8
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
(
short
unsigned
)
(
1u
<<
8
);
// mise à 1 du bit 8
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
(
short
unsigned
)
~
(
1u
<<
8
);
// mise à 0 du bit 8
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
(
short
unsigned
)
~
(
1u
<<
8
);
// mise à 0 du bit 8
cout
<<
"trigMask "
<<
(
bitset
<
16
>
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
<<
endl
;
//
cout << "trigMask " << (bitset<16> ) m_ELECDriver->DAQParams.FEParams_v.at(index).trigMask << endl;
}
}
}
}
...
@@ -544,7 +622,7 @@ void DAQParamController::refreshTrigSum47Property(int32 index, bool value) throw
...
@@ -544,7 +622,7 @@ void DAQParamController::refreshTrigSum47Property(int32 index, bool value) throw
if
(
index
<
nfeboard
()){
if
(
index
<
nfeboard
()){
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
(
short
unsigned
)
(
1u
<<
9
);
// mise à 1 du bit 9
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
(
short
unsigned
)
(
1u
<<
9
);
// mise à 1 du bit 9
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
(
short
unsigned
)
~
(
1u
<<
9
);
// mise à 0 du bit 9
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
(
short
unsigned
)
~
(
1u
<<
9
);
// mise à 0 du bit 9
cout
<<
"trigMask "
<<
(
bitset
<
16
>
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
<<
endl
;
//
cout << "trigMask " << (bitset<16> ) m_ELECDriver->DAQParams.FEParams_v.at(index).trigMask << endl;
}
}
}
}
...
@@ -553,7 +631,7 @@ void DAQParamController::refreshTrigSum07Property(int32 index, bool value) throw
...
@@ -553,7 +631,7 @@ void DAQParamController::refreshTrigSum07Property(int32 index, bool value) throw
if
(
index
<
nfeboard
()){
if
(
index
<
nfeboard
()){
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
(
short
unsigned
)
(
1u
<<
10
);
// mise à 1 du bit 10
if
(
value
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
|=
(
short
unsigned
)
(
1u
<<
10
);
// mise à 1 du bit 10
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
(
short
unsigned
)
~
(
1u
<<
10
);
// mise à 0 du bit 10
else
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
&=
(
short
unsigned
)
~
(
1u
<<
10
);
// mise à 0 du bit 10
cout
<<
"trigMask "
<<
(
bitset
<
16
>
)
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
).
trigMask
<<
endl
;
//
cout << "trigMask " << (bitset<16> ) m_ELECDriver->DAQParams.FEParams_v.at(index).trigMask << endl;
}
}
}
}
...
@@ -580,14 +658,14 @@ void DAQParamController::refreshT1AcceptedProperty(int32 index, bool value) thro
...
@@ -580,14 +658,14 @@ void DAQParamController::refreshT1AcceptedProperty(int32 index, bool value) thro
if
(
index
<
nfeboard
()){
if
(
index
<
nfeboard
()){
if
(
value
)
m_ELECDriver
->
DAQParams
.
fe_trigger_mask
|=
(
1
<<
slotindex
(
index
));
if
(
value
)
m_ELECDriver
->
DAQParams
.
fe_trigger_mask
|=
(
1
<<
slotindex
(
index
));
else
m_ELECDriver
->
DAQParams
.
fe_trigger_mask
&=
~
(
1
<<
slotindex
(
index
));
else
m_ELECDriver
->
DAQParams
.
fe_trigger_mask
&=
~
(
1
<<
slotindex
(
index
));
cout
<<
"fe_trigger_mask "
<<
m_ELECDriver
->
DAQParams
.
fe_trigger_mask
<<
" value="
<<
value
<<
endl
;
//
cout << "fe_trigger_mask "<< m_ELECDriver->DAQParams.fe_trigger_mask << " value=" << value << endl;
}
}
}
}
void
DAQParamController
::
refreshT1TimeResetProperty
(
int32
index
,
bool
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshT1TimeResetProperty
(
int32
index
,
bool
value
)
throw
(
CannotSetValue
)
{
if
(
index
<
nfeboard
()){
if
(
index
<
nfeboard
()){
if
(
value
)
m_ELECDriver
->
DAQParams
.
fe_reset_mask
|=
(
1
<<
slotindex
(
index
));
if
(
value
)
m_ELECDriver
->
DAQParams
.
fe_reset_mask
|=
(
1
<<
slotindex
(
index
));
else
m_ELECDriver
->
DAQParams
.
fe_reset_mask
&=
~
(
1
<<
slotindex
(
index
));
else
m_ELECDriver
->
DAQParams
.
fe_reset_mask
&=
~
(
1
<<
slotindex
(
index
));
cout
<<
"fe_reset_mask "
<<
m_ELECDriver
->
DAQParams
.
fe_reset_mask
<<
" value="
<<
value
<<
endl
;
//
cout << "fe_reset_mask "<< m_ELECDriver->DAQParams.fe_reset_mask << " value=" << value << endl;
}
}
}
}
//void DAQParamController::refreshEnabledFEProperty(int32 index, bool value) throw (CannotSetValue) {
//void DAQParamController::refreshEnabledFEProperty(int32 index, bool value) throw (CannotSetValue) {
...
@@ -603,7 +681,7 @@ void DAQParamController::refreshGain20Property(int32 index, bool value) throw (C
...
@@ -603,7 +681,7 @@ void DAQParamController::refreshGain20Property(int32 index, bool value) throw (C
void
DAQParamController
::
refreshTrigThresProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshTrigThresProperty
(
int32
index
,
int32
value
)
throw
(
CannotSetValue
)
{
if
(
index
<
ntotchannel
()
&&
trigthresall
()
==
0
){
if
(
index
<
ntotchannel
()
&&
trigthresall
()
==
0
){
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
/
stereo_elec
::
NBFECHANNEL
).
threshold_v
[
ichannel
(
index
)]
=
(
short
unsigned
)
value
;
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
/
stereo_elec
::
NBFECHANNEL
).
threshold_v
[
ichannel
(
index
)]
=
(
short
unsigned
)
value
;
cout
<<
"refreshTrigThresProperty "
<<
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
index
/
stereo_elec
::
NBFECHANNEL
).
threshold_v
[
ichannel
(
index
)]
<<
endl
;
//
cout << "refreshTrigThresProperty " <<m_ELECDriver->DAQParams.FEParams_v.at(index / stereo_elec::NBFECHANNEL).threshold_v[ichannel(index)] << endl;
}
}
}
}
...
@@ -632,20 +710,95 @@ void DAQParamController::refreshNameChannelProperty(int32 index, const std::stri
...
@@ -632,20 +710,95 @@ void DAQParamController::refreshNameChannelProperty(int32 index, const std::stri
}
}
void
DAQParamController
::
refreshTrigThresAllProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
void
DAQParamController
::
refreshTrigThresAllProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
if
(
value
>
0
){
if
(
value
>
0
){
cout
<<
"DAQParamController "
<<
endl
;
for
(
int
i
=
0
;
i
<
nfeboard
();
i
++
){
for
(
int
i
=
0
;
i
<
nfeboard
();
i
++
){
for
(
int
j
=
0
;
j
<
stereo_elec
::
NBFECHANNEL
;
j
++
){
for
(
int
j
=
0
;
j
<
stereo_elec
::
NBFECHANNEL
;
j
++
){
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
i
).
threshold_v
[
j
]
=
(
short
unsigned
)
value
;
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
i
).
threshold_v
[
j
]
=
(
short
unsigned
)
value
;
}
}
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
i
).
sumThreshold
=
(
short
unsigned
)
value
;
m_ELECDriver
->
DAQParams
.
FEParams_v
.
at
(
i
).
sumThreshold
=
(
short
unsigned
)
value
;
//sumthres.set(i,value);
}
}
//for(int i=0;i<ntotchannel();i++) trigthres.set(i,value);
log
(
Level
::
s_Info
)
<<
"Trigger threshold have been set to "
<<
value
<<
" for all channels"
<<
endlog
;
}
}
void
DAQParamController
::
refreshNTotAllProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
if
(
value
>
0
){
for
(
int
i
=
0
;
i
<
nfeboard
();
i
++
){
//m_ELECDriver->DAQParams.FEParams_v.at(i).nTot = (short unsigned) value;
ntot
.
set
(
i
,
value
);
}
log
(
Level
::
s_Info
)
<<
"Ntot have been set to "
<<
value
<<
" for all channels"
<<
endlog
;
cout
<<
dec
<<
"Trigger threshold for all channels have been set to "
<<
value
<<
endl
;
}
}
}
}
void
DAQParamController
::
refreshNTailAllProperty
(
int32
value
)
throw
(
CannotSetValue
)
{
if
(
value
>
0
){
for
(
int
i
=
0
;
i
<
nfeboard
();
i
++
){
//m_ELECDriver->DAQParams.FEParams_v.at(i).nTail = (short unsigned) value;
ntail
.
set
(
i
,
value
);
}
log
(
Level
::
s_Info
)
<<
"Ntail have been set to "
<<
value
<<
" for all channels"
<<
endlog
;
}
}
void
DAQParamController
::
refreshT2TGOnProperty
(
bool
value
)
throw
(
CannotSetValue
){
if
(
value
==
false
){
t2tgmode
=
false
;
t2tgmin
=
0x80000000
;
t2tgmax
=
0x7FFFFFFF
;
}
}
void
DAQParamController
::
refreshT2GCOnProperty
(
bool
value
)
throw
(
CannotSetValue
){
if
(
value
==
false
){
t2gcmode
=
false
;
t2gcmin
=
0x80000000
;