ATLAS Offline Software
Loading...
Searching...
No Matches
VP1CaloCellController Class Reference

#include <VP1CaloCellController.h>

Inheritance diagram for VP1CaloCellController:
Collaboration diagram for VP1CaloCellController:

Classes

class  Imp

Public Slots

void toggleDialogState (QObject *widget=0)
void enabledButtonStateChanged ()
void collWidgetContentChanged ()

Signals

void selectionIntervalsChanged (const VP1CCIntervalMap &)
void scaleChanged (const QPair< bool, double > &)
void selectionMbtsChanged (const VP1Interval &)
void showDigitsChanged (const bool &)
void showVolumeOutLinesChanged (bool)
void energyModeEtChanged (bool)
void globalCutsChanged (const VP1CC_GlobalCuts &)
void dummyUpdateTrigger ()

Public Member Functions

 VP1CaloCellController (IVP1System *sys)
virtual ~VP1CaloCellController ()
void actualRestoreSettings (VP1Deserialise &)
int currentSettingsVersion () const
void actualSaveSettings (VP1Serialise &) const
SoGroup * drawOptions () const
void initTilePulse (const TileHWID *tile_hw_id, const TileInfo *tile_info, const TileCablingService *tile_cabling)
void ClearHideDigitForms ()
void DeleteDigitForms ()
void EnableDigitsCheckbox (bool enable)
void displayLArDigits (int n_samples, std::vector< short > samples, std::vector< std::string > &msg)
void displayTileDigits (int n_samples, std::vector< float > samples1, std::vector< float > samples2, std::vector< std::string > &msg)
void displayTileDigits (int n_samples, std::vector< float > samples, std::vector< std::string > &msg)
void displayTilePulse (const TileRawChannel *rawchannel1, const TileRawChannel *rawchannel2, const TileRawChannelContainer *rawchannel_cont, size_t digitsize)
void displayTilePulse (const TileRawChannel *rawchannel, const TileRawChannelContainer *rawchannel_cont, size_t digitsize)
SoMaterial * GetMaterial (VP1CC_SeparatorTypes type)
VP1CCIntervalMap selectionIntervals () const
QPair< bool, double > scale () const
VP1Interval selectionMbts () const
bool showDigits () const
bool showVolumeOutLines () const
bool energyModeEt () const
VP1CC_GlobalCuts globalCuts () const
void initLastVars ()
QByteArray saveSettings () const
void restoreSettings (const QByteArray &)
void setSystemBasePointer (IVP1System *sys)
void message (const QString &) const
void message (const QStringList &, const QString &addtoend="") const
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &) const
void messageDebug (const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &) const
void messageVerbose (const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
IVP1SystemsystemBase () const
const QString & helperClassName () const

Static Public Member Functions

static void setCustomTourEditor (VP1CustomTourEditor *editor)
static VP1CustomTourEditorcustomTourEditor ()
static bool verbose ()
static void warnUndeletedInstances ()
static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Slots

void testForChanges ()

Protected Member Functions

template<class T>
bool changed (T &lastval, const T &newval)
template<class T>
void initDialog (T &theUI, QPushButton *launchbutton, QAbstractButton *enabledButton=0)
void initDialog (QWidget *dialog, QPushButton *launchbutton, QPushButton *closebutton, QAbstractButton *enabledButton=0)
void setupCollWidgetInScrollArea (QScrollArea *scrollarea, VP1CollectionWidget *collWidget)
const char * addUpdateSlot (const char *slot)
void connectToLastUpdateSlot (QObject *sender, const char *signal)
void connectToLastUpdateSlot (QCheckBox *)
void connectToLastUpdateSlot (QComboBox *)
void connectToLastUpdateSlot (QGroupBox *)
void connectToLastUpdateSlot (QSpinBox *)
void connectToLastUpdateSlot (QDoubleSpinBox *)
void connectToLastUpdateSlot (QRadioButton *)
void connectToLastUpdateSlot (QButtonGroup *)
void connectToLastUpdateSlot (QSlider *)
void connectToLastUpdateSlot (VP1ColorSelectButton *)
bool initVarsMode () const
QButtonGroup * defineRadioButtonGroup (QRadioButton *rb0, QRadioButton *rb1, QRadioButton *rb2=0, QRadioButton *rb3=0, QRadioButton *rb4=0, QRadioButton *rb5=0, QRadioButton *rb6=0, QRadioButton *rb7=0, QRadioButton *rb8=0, QRadioButton *rb9=0)
QButtonGroup * defineRadioButtonGroup (const QList< QRadioButton * > &)
SoMaterial * getMaterial (VP1MaterialButton *) const
SoMaterial * fallBackMaterial () const
void setHelperClassName (const QString &n)

Static Protected Member Functions

static QString toString (const bool &par)
static QString toString (const QList< VP1Interval > &l)
static QString toString (SbColor4f)

Private Slots

void possibleChange_selectionIntervals ()
void possibleChange_scale ()
void possibleChange_selectionMbts ()
void possibleChange_showDigits ()
void possibleChange_showVolumeOutLines ()
void possibleChange_energyModeEt ()
void possibleChange_globalCuts ()
void enableUpperThreshold ()
void changeMode ()

Static Private Member Functions

template<class T>
static QString toString (const T &t)
static QString toString (const VP1CCIntervalMap &m)
static QString toString (const QPair< bool, double > &par)
static QString toString (const VP1CC_GlobalCuts &cuts)

Private Attributes

Impm_d
const TileHWIDm_tile_hw_id
const TileInfom_tile_info
const TileCablingServicem_tile_cabling
bool m_initVarsMode
QString m_helpername
IVP1Systemm_system

Static Private Attributes

static VP1CustomTourEditorm_customTourEditor =0
static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")

Detailed Description

Definition at line 32 of file VP1CaloCellController.h.

Constructor & Destructor Documentation

◆ VP1CaloCellController()

VP1CaloCellController::VP1CaloCellController ( IVP1System * sys)

Definition at line 91 of file VP1CaloCellController.cxx.

91 :
92 VP1Controller(sys,"CaloCellController"),
93 m_d(new Imp),
94 m_tile_hw_id(0),
95 m_tile_info(0),
97{
98
99 messageDebug("VP1CaloCellController() constructor...");
100
101 m_d->theclass = this;
102 m_d->ui.setupUi(this);
103
104 // Setup dialogs
105 initDialog(m_d->ui_interact, m_d->ui.pushButton_settings_interactions);
106 initDialog(m_d->ui_cuts, m_d->ui.pushButton_settings_cuts);
107 initDialog(m_d->ui_badchans, m_d->ui.pushButton_settings_badchannels);
108 initDialog(m_d->ui_visopts, m_d->ui.pushButton_settings_visoptions);
109 initDialog(m_d->ui_threshmbts,m_d->ui.pushButton_settings_thresholds_mbts);
110 initDialog(m_d->ui_threshtile,m_d->ui.pushButton_settings_thresholds_tile);
111 initDialog(m_d->ui_threshlarsimp,m_d->ui.pushButton_settings_thresholds_larsimple,m_d->ui.rbtnSimple);
112 initDialog(m_d->ui_threshlarexp,m_d->ui.pushButton_settings_thresholds_larexpert,m_d->ui.rbtnExpert);
113
114 m_d->ui_cuts.wdgEtaPhiCut->setEtaCutEnabled(false);
115
116 m_d->ui_visopts.wdgDrawOptions->setLineWidths(2.0);
117 m_d->ui_visopts.wdgDrawOptions->setPointSizesDisabled();
118 m_d->ui_visopts.wdgDrawOptions->setBaseLightingDisabled();
119 m_d->ui_visopts.wdgDrawOptions->setComplexityDisabled();
120
121 // Initialize flags
122 m_d->singlePlotHasData = false;
123 m_d->doublePlotHasData = false;
124
125 // ------------------------ SLOTS ----------------------
126
127 // ----------------- Selection Intervals ------------------
129
130 // Enable/disable checkboxes
131 connectToLastUpdateSlot(m_d->ui.chbxEMB);
132 connectToLastUpdateSlot(m_d->ui.chbxEMEC);
133 connectToLastUpdateSlot(m_d->ui.chbxHEC);
134 connectToLastUpdateSlot(m_d->ui.chbxFCAL);
135 connectToLastUpdateSlot(m_d->ui.chbxEMB_S0);
136 connectToLastUpdateSlot(m_d->ui.chbxEMB_S1);
137 connectToLastUpdateSlot(m_d->ui.chbxEMB_S2);
138 connectToLastUpdateSlot(m_d->ui.chbxEMB_S3);
139 connectToLastUpdateSlot(m_d->ui.chbxEMEC_S0);
140 connectToLastUpdateSlot(m_d->ui.chbxEMEC_S1);
141 connectToLastUpdateSlot(m_d->ui.chbxEMEC_S2);
142 connectToLastUpdateSlot(m_d->ui.chbxEMEC_S3);
143 connectToLastUpdateSlot(m_d->ui.chbxHEC_S0);
144 connectToLastUpdateSlot(m_d->ui.chbxHEC_S1);
145 connectToLastUpdateSlot(m_d->ui.chbxHEC_S2);
146 connectToLastUpdateSlot(m_d->ui.chbxHEC_S3);
147 connectToLastUpdateSlot(m_d->ui.chbxFCAL_M1);
148 connectToLastUpdateSlot(m_d->ui.chbxFCAL_M2);
149 connectToLastUpdateSlot(m_d->ui.chbxFCAL_M3);
150 connectToLastUpdateSlot(m_d->ui.chbxTILB);
151 connectToLastUpdateSlot(m_d->ui.chbxTILEC);
152 connectToLastUpdateSlot(m_d->ui.chbxTILCR);
153 // Negative checkboxes
154 connectToLastUpdateSlot(m_d->ui.chbxLArNegative);
155 connectToLastUpdateSlot(m_d->ui.chbxEMB_Neg_Expert);
156 connectToLastUpdateSlot(m_d->ui.chbxEMEC_Neg_Expert);
157 connectToLastUpdateSlot(m_d->ui.chbxHEC_Neg_Expert);
158 connectToLastUpdateSlot(m_d->ui.chbxFCAL_Neg_Expert);
159 connectToLastUpdateSlot(m_d->ui.chbxTileNegative);
160
161 // Disable upper thresholds checkboxes
162 connectToLastUpdateSlot(m_d->ui_threshlarsimp.chbxNoLArUpper);
163 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S0Upper);
164 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S1Upper);
165 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S2Upper);
166 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S3Upper);
167 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S0Upper);
168 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S1Upper);
169 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S2Upper);
170 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S3Upper);
171 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S0Upper);
172 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S1Upper);
173 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S2Upper);
174 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S3Upper);
175 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoFCAL_M1Upper);
176 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoFCAL_M2Upper);
177 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoFCAL_M3Upper);
178 connectToLastUpdateSlot(m_d->ui_threshtile.chbxNoTileUpper);
179
180 // Lower threhold spinboxes
181 connectToLastUpdateSlot(m_d->ui_threshlarsimp.dspbxLArLowerThresh);
182 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S0LowerThresh);
183 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S1LowerThresh);
184 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S2LowerThresh);
185 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S3LowerThresh);
186 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S0LowerThresh);
187 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S1LowerThresh);
188 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S2LowerThresh);
189 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S3LowerThresh);
190 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S0LowerThresh);
191 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S1LowerThresh);
192 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S2LowerThresh);
193 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S3LowerThresh);
194 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxFCAL_M1LowerThresh);
195 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxFCAL_M2LowerThresh);
196 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxFCAL_M3LowerThresh);
197 connectToLastUpdateSlot(m_d->ui_threshtile.dspbxTileLowerThresh);
198
199 // Upper threhold spinboxes
200 connectToLastUpdateSlot(m_d->ui_threshlarsimp.dspbxLArUpperThresh);
201 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S0UpperThresh);
202 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S1UpperThresh);
203 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S2UpperThresh);
204 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMB_S3UpperThresh);
205 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S0UpperThresh);
206 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S1UpperThresh);
207 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S2UpperThresh);
208 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxEMEC_S3UpperThresh);
209 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S0UpperThresh);
210 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S1UpperThresh);
211 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S2UpperThresh);
212 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxHEC_S3UpperThresh);
213 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxFCAL_M1UpperThresh);
214 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxFCAL_M2UpperThresh);
215 connectToLastUpdateSlot(m_d->ui_threshlarexp.dspbxFCAL_M3UpperThresh);
216 connectToLastUpdateSlot(m_d->ui_threshtile.dspbxTileUpperThresh);
217
218 // LAr mode change radio button
219 connectToLastUpdateSlot(m_d->ui.rbtnSimple);
220
221 // ----------------- Selection Intervals ------------------
222
223 // ----------------- Global cuts ------------------
225 connectToLastUpdateSlot(m_d->ui_cuts.chbxSideA);
226 connectToLastUpdateSlot(m_d->ui_cuts.chbxSideC);
227 connectToLastUpdateSlot(m_d->ui_cuts.wdgEtaPhiCut,SIGNAL(allowedEtaChanged(const VP1Interval&)));
228 connectToLastUpdateSlot(m_d->ui_cuts.wdgEtaPhiCut,SIGNAL(allowedPhiChanged(const QList<VP1Interval>&)));
229 // ----------------- Global cuts ------------------
230
231 // -------------- Scale ------------
233 connectToLastUpdateSlot(m_d->ui_visopts.dspbxScale);
234 connectToLastUpdateSlot(m_d->ui_visopts.chbxLogscale);
235 // -------------- Scale ------------
236
237 // ---------------- Enable Upper Threshold ----------------
239 connectToLastUpdateSlot(m_d->ui_threshlarsimp.chbxNoLArUpper);
240 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S0Upper);
241 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S1Upper);
242 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S2Upper);
243 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMB_S3Upper);
244 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S0Upper);
245 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S1Upper);
246 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S2Upper);
247 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoEMEC_S3Upper);
248 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S0Upper);
249 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S1Upper);
250 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S2Upper);
251 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoHEC_S3Upper);
252 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoFCAL_M1Upper);
253 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoFCAL_M2Upper);
254 connectToLastUpdateSlot(m_d->ui_threshlarexp.chbxNoFCAL_M3Upper);
255 connectToLastUpdateSlot(m_d->ui_threshtile.chbxNoTileUpper);
256
257 // ----------------- LAr mode ------------------
258 addUpdateSlot(SLOT(changeMode()));
259 connectToLastUpdateSlot(m_d->ui.rbtnSimple);
260
261 // ----------------- MBTS ---------------------
263 connectToLastUpdateSlot(m_d->ui.chbxMbts);
264 connectToLastUpdateSlot(m_d->ui_threshmbts.dspbxMbtsThresh);
265
266 // ------------- Digits checkbox ----------------
268 connectToLastUpdateSlot(m_d->ui_interact.chbxDigits);
269 // ------------- Digits checkbox ----------------
270
271 // ------------- Volume OutLines -------------
273 connectToLastUpdateSlot(m_d->ui_visopts.chbxShowOutlines);
274 // ------------- Volume OutLines -------------
275
276 // ------------- Energy Mode -------------
278 connectToLastUpdateSlot(m_d->ui.rbtnModeEt);
279 // ------------- Energy Mode -------------
280
281 initLastVars();
282 // ------------------------ SLOTS ----------------------
283
284 // ---------------------- Material Buttons --------------------
285 m_d->ui_visopts.matbutLArEMBColorPos->setMaterial(VP1MaterialButton::createMaterial(0.21,0.8,0.51));
286 m_d->ui_visopts.matbutLArEMECColorPos->setMaterial(VP1MaterialButton::createMaterial(0.26,0.8,0.2));
287 m_d->ui_visopts.matbutLArHECColorPos->setMaterial(VP1MaterialButton::createMaterial(0.25,0.8,0.76));
288 m_d->ui_visopts.matbutLArFCALColorPos->setMaterial(VP1MaterialButton::createMaterial(0.09,0.98,0.02));
289 m_d->ui_visopts.matbutLArEMBColorNeg->setMaterial(VP1MaterialButton::createMaterial(0.21,0.51,0.8));
290 m_d->ui_visopts.matbutLArEMECColorNeg->setMaterial(VP1MaterialButton::createMaterial(0.21,0.51,0.8));
291 m_d->ui_visopts.matbutLArHECColorNeg->setMaterial(VP1MaterialButton::createMaterial(0.21,0.51,0.8));
292 m_d->ui_visopts.matbutLArFCALColorNeg->setMaterial(VP1MaterialButton::createMaterial(0.21,0.51,0.8));
293 m_d->ui_visopts.matbutTileColorPosPMT1->setMaterial(VP1MaterialButton::createMaterial(1.,1.,0.));
294 m_d->ui_visopts.matbutTileColorPosPMT0->setMaterial(VP1MaterialButton::createMaterial(1.,0.78,0.));
295 m_d->ui_visopts.matbutTileColorPosNeg->setMaterial(VP1MaterialButton::createMaterial(1.,0.,0.));
296 m_d->ui_visopts.matbutTileColorNegPMT1->setMaterial(VP1MaterialButton::createMaterial(1.,0.,1.));
297 m_d->ui_visopts.matbutTileColorNegPMT0->setMaterial(VP1MaterialButton::createMaterial(0.78,0.,1.));
298 m_d->ui_visopts.matbutTileColorNegPos->setMaterial(VP1MaterialButton::createMaterial(1.,0.,0.));
299 m_d->ui_visopts.matbutMbts->setMaterial(VP1MaterialButton::createMaterial(1.,1.,0.));
300
301 m_d->matButtonMap[VP1CC_SepLArEMBPos] = m_d->ui_visopts.matbutLArEMBColorPos;
302 m_d->matButtonMap[VP1CC_SepLArEMECPos] = m_d->ui_visopts.matbutLArEMECColorPos;
303 m_d->matButtonMap[VP1CC_SepLArHECPos] = m_d->ui_visopts.matbutLArHECColorPos;
304 m_d->matButtonMap[VP1CC_SepLArFCALPos] = m_d->ui_visopts.matbutLArFCALColorPos;
305 m_d->matButtonMap[VP1CC_SepLArEMBNeg] = m_d->ui_visopts.matbutLArEMBColorNeg;
306 m_d->matButtonMap[VP1CC_SepLArEMECNeg] = m_d->ui_visopts.matbutLArEMECColorNeg;
307 m_d->matButtonMap[VP1CC_SepLArHECNeg] = m_d->ui_visopts.matbutLArHECColorNeg;
308 m_d->matButtonMap[VP1CC_SepLArFCALNeg] = m_d->ui_visopts.matbutLArFCALColorNeg;
309 m_d->matButtonMap[VP1CC_SepTilePositiveUp] = m_d->ui_visopts.matbutTileColorPosPMT1;
310 m_d->matButtonMap[VP1CC_SepTilePositiveDown] = m_d->ui_visopts.matbutTileColorPosPMT0;
311 m_d->matButtonMap[VP1CC_SepTilePositiveNeg] = m_d->ui_visopts.matbutTileColorPosNeg;
312 m_d->matButtonMap[VP1CC_SepTileNegativeUp] = m_d->ui_visopts.matbutTileColorNegPMT1;
313 m_d->matButtonMap[VP1CC_SepTileNegativeDown] = m_d->ui_visopts.matbutTileColorNegPMT0;
314 m_d->matButtonMap[VP1CC_SepTileNegativePos] = m_d->ui_visopts.matbutTileColorNegPos;
315 m_d->matButtonMap[VP1CC_SepMBTS] = m_d->ui_visopts.matbutMbts;
316 // ---------------------- Material Buttons --------------------
317
318 // --------------------- Digits Display -------------------------
319 messageDebug("Digits Display...");
320 m_d->digit_form_single = new QWidget(0,Qt::WindowStaysOnTopHint);
321 m_d->digit_form_single->setVisible(false);
322
323 m_d->digit_form_double = new QWidget(0,Qt::WindowStaysOnTopHint);
324 m_d->digit_form_double->setVisible(false);
325
326// // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
327// messageDebug("setting up digits box (s)");
328// m_d->UiDigitsSingle = new Ui::frmCaloDigitsSingle();
329// m_d->UiDigitsSingle->setupUi(m_d->digit_form_single);
330// m_d->UiDigitsSingle->plotDigits->setAxisTitle(QwtPlot::xBottom,"Bunch crossing");
331// m_d->UiDigitsSingle->plotDigits->setAxisTitle(QwtPlot::yLeft,"ADC counts");
332//
333 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
334// messageDebug("setting up digits box (m_d)");
335// m_d->UiDigitsDouble = new Ui::frmCaloDigitsDouble();
336// m_d->UiDigitsDouble->setupUi(m_d->digit_form_double);
337// m_d->UiDigitsDouble->plotDigits_1->setAxisTitle(QwtPlot::xBottom,"Bunch crossing");
338// m_d->UiDigitsDouble->plotDigits_1->setAxisTitle(QwtPlot::yLeft,"ADC counts");
339// m_d->UiDigitsDouble->plotDigits_2->setAxisTitle(QwtPlot::xBottom,"Bunch crossing");
340// m_d->UiDigitsDouble->plotDigits_2->setAxisTitle(QwtPlot::yLeft,"ADC counts");
341 // --------------------- Digits Display -------------------------
342
343 // Fill Sel2Gui maps
344 VP1CCUi2Manager* ui2manager;
345 // EMB
346 ui2manager = new VP1CCUi2Manager;
347 ui2manager->globalEnableCB = m_d->ui.chbxEMB;
348 ui2manager->showNegativeCB = m_d->ui.chbxLArNegative;
349 ui2manager->upperThreshOffCB = m_d->ui_threshlarsimp.chbxNoLArUpper;
350 ui2manager->lowerThresholdSB = m_d->ui_threshlarsimp.dspbxLArLowerThresh;
351 ui2manager->upperThresholdSB = m_d->ui_threshlarsimp.dspbxLArUpperThresh;
352
353 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMB0] = ui2manager;
354 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMB1] = ui2manager;
355 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMB2] = ui2manager;
356 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMB3] = ui2manager;
357
358 // EMEC
359 ui2manager = new VP1CCUi2Manager;
360 ui2manager->globalEnableCB = m_d->ui.chbxEMEC;
361 ui2manager->showNegativeCB = m_d->ui.chbxLArNegative;
362 ui2manager->upperThreshOffCB = m_d->ui_threshlarsimp.chbxNoLArUpper;
363 ui2manager->lowerThresholdSB = m_d->ui_threshlarsimp.dspbxLArLowerThresh;
364 ui2manager->upperThresholdSB = m_d->ui_threshlarsimp.dspbxLArUpperThresh;
365
366 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMEC0] = ui2manager;
367 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMEC1] = ui2manager;
368 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMEC2] = ui2manager;
369 (m_d->sel2GuiSimple)[VP1CC_SelTypeEMEC3] = ui2manager;
370
371 // HEC
372 ui2manager = new VP1CCUi2Manager;
373 ui2manager->globalEnableCB = m_d->ui.chbxHEC;
374 ui2manager->showNegativeCB = m_d->ui.chbxLArNegative;
375 ui2manager->upperThreshOffCB = m_d->ui_threshlarsimp.chbxNoLArUpper;
376 ui2manager->lowerThresholdSB = m_d->ui_threshlarsimp.dspbxLArLowerThresh;
377 ui2manager->upperThresholdSB = m_d->ui_threshlarsimp.dspbxLArUpperThresh;
378
379 (m_d->sel2GuiSimple)[VP1CC_SelTypeHEC0] = ui2manager;
380 (m_d->sel2GuiSimple)[VP1CC_SelTypeHEC1] = ui2manager;
381 (m_d->sel2GuiSimple)[VP1CC_SelTypeHEC2] = ui2manager;
382 (m_d->sel2GuiSimple)[VP1CC_SelTypeHEC3] = ui2manager;
383
384 // FCAL
385 ui2manager = new VP1CCUi2Manager;
386 ui2manager->globalEnableCB = m_d->ui.chbxFCAL;
387 ui2manager->showNegativeCB = m_d->ui.chbxLArNegative;
388 ui2manager->upperThreshOffCB = m_d->ui_threshlarsimp.chbxNoLArUpper;
389 ui2manager->lowerThresholdSB = m_d->ui_threshlarsimp.dspbxLArLowerThresh;
390 ui2manager->upperThresholdSB = m_d->ui_threshlarsimp.dspbxLArUpperThresh;
391
392 (m_d->sel2GuiSimple)[VP1CC_SelTypeFCAL1] = ui2manager;
393 (m_d->sel2GuiSimple)[VP1CC_SelTypeFCAL2] = ui2manager;
394 (m_d->sel2GuiSimple)[VP1CC_SelTypeFCAL3] = ui2manager;
395
396 // ---VP1CC_SelTypeEMB0 ---
397 ui2manager = new VP1CCUi2Manager;
398 ui2manager->globalEnableCB = m_d->ui.chbxEMB_S0;
399 ui2manager->showNegativeCB = m_d->ui.chbxEMB_Neg_Expert;
400 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMB_S0Upper;
401 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S0LowerThresh;
402 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S0UpperThresh;
403 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMB0] = ui2manager;
404
405 // ---VP1CC_SelTypeEMB1 ---
406 ui2manager = new VP1CCUi2Manager;
407 ui2manager->globalEnableCB = m_d->ui.chbxEMB_S1;
408 ui2manager->showNegativeCB = m_d->ui.chbxEMB_Neg_Expert;
409 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMB_S1Upper;
410 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S1LowerThresh;
411 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S1UpperThresh;
412 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMB1] = ui2manager;
413
414 // --- VP1CC_SelTypeEMB2 ---
415 ui2manager = new VP1CCUi2Manager;
416 ui2manager->globalEnableCB = m_d->ui.chbxEMB_S2;
417 ui2manager->showNegativeCB = m_d->ui.chbxEMB_Neg_Expert;
418 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMB_S2Upper;
419 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S2LowerThresh;
420 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S2UpperThresh;
421 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMB2] = ui2manager;
422
423 // --- VP1CC_SelTypeEMB3 ---
424 ui2manager = new VP1CCUi2Manager;
425 ui2manager->globalEnableCB = m_d->ui.chbxEMB_S3;
426 ui2manager->showNegativeCB = m_d->ui.chbxEMB_Neg_Expert;
427 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMB_S3Upper;
428 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S3LowerThresh;
429 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMB_S3UpperThresh;
430 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMB3] = ui2manager;
431
432 // --- VP1CC_SelTypeEMEC0 ---
433 ui2manager = new VP1CCUi2Manager;
434 ui2manager->globalEnableCB = m_d->ui.chbxEMEC_S0;
435 ui2manager->showNegativeCB = m_d->ui.chbxEMEC_Neg_Expert;
436 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMEC_S0Upper;
437 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S0LowerThresh;
438 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S0UpperThresh;
439 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMEC0] = ui2manager;
440
441 // --- VP1CC_SelTypeEMEC1 ---
442 ui2manager = new VP1CCUi2Manager;
443 ui2manager->globalEnableCB = m_d->ui.chbxEMEC_S1;
444 ui2manager->showNegativeCB = m_d->ui.chbxEMEC_Neg_Expert;
445 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMEC_S1Upper;
446 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S1LowerThresh;
447 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S1UpperThresh;
448 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMEC1] = ui2manager;
449
450 // --- VP1CC_SelTypeEMEC2 ---
451 ui2manager = new VP1CCUi2Manager;
452 ui2manager->globalEnableCB = m_d->ui.chbxEMEC_S2;
453 ui2manager->showNegativeCB = m_d->ui.chbxEMEC_Neg_Expert;
454 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMEC_S2Upper;
455 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S2LowerThresh;
456 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S2UpperThresh;
457 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMEC2] = ui2manager;
458
459 // --- VP1CC_SelTypeEMEC3 ---
460 ui2manager = new VP1CCUi2Manager;
461 ui2manager->globalEnableCB = m_d->ui.chbxEMEC_S3;
462 ui2manager->showNegativeCB = m_d->ui.chbxEMEC_Neg_Expert;
463 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoEMEC_S3Upper;
464 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S3LowerThresh;
465 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxEMEC_S3UpperThresh;
466 (m_d->sel2GuiExpert)[VP1CC_SelTypeEMEC3] = ui2manager;
467
468 // --- VP1CC_SelTypeHEC0 ---
469 ui2manager = new VP1CCUi2Manager;
470 ui2manager->globalEnableCB = m_d->ui.chbxHEC_S0;
471 ui2manager->showNegativeCB = m_d->ui.chbxHEC_Neg_Expert;
472 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoHEC_S0Upper;
473 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S0LowerThresh;
474 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S0UpperThresh;
475 (m_d->sel2GuiExpert)[VP1CC_SelTypeHEC0] = ui2manager;
476
477 // --- VP1CC_SelTypeHEC1 ---
478 ui2manager = new VP1CCUi2Manager;
479 ui2manager->globalEnableCB = m_d->ui.chbxHEC_S1;
480 ui2manager->showNegativeCB = m_d->ui.chbxHEC_Neg_Expert;
481 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoHEC_S1Upper;
482 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S1LowerThresh;
483 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S1UpperThresh;
484 (m_d->sel2GuiExpert)[VP1CC_SelTypeHEC1] = ui2manager;
485
486 // --- VP1CC_SelTypeHEC2 ---
487 ui2manager = new VP1CCUi2Manager;
488 ui2manager->globalEnableCB = m_d->ui.chbxHEC_S2;
489 ui2manager->showNegativeCB = m_d->ui.chbxHEC_Neg_Expert;
490 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoHEC_S2Upper;
491 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S2LowerThresh;
492 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S2UpperThresh;
493 (m_d->sel2GuiExpert)[VP1CC_SelTypeHEC2] = ui2manager;
494
495 // --- VP1CC_SelTypeHEC3 ---
496 ui2manager = new VP1CCUi2Manager;
497 ui2manager->globalEnableCB = m_d->ui.chbxHEC_S3;
498 ui2manager->showNegativeCB = m_d->ui.chbxHEC_Neg_Expert;
499 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoHEC_S3Upper;
500 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S3LowerThresh;
501 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxHEC_S3UpperThresh;
502 (m_d->sel2GuiExpert)[VP1CC_SelTypeHEC3] = ui2manager;
503
504 // --- VP1CC_SelTypeFCAL1 ---
505 ui2manager = new VP1CCUi2Manager;
506 ui2manager->globalEnableCB = m_d->ui.chbxFCAL_M1;
507 ui2manager->showNegativeCB = m_d->ui.chbxFCAL_Neg_Expert;
508 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoFCAL_M1Upper;
509 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxFCAL_M1LowerThresh;
510 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxFCAL_M1UpperThresh;
511 (m_d->sel2GuiExpert)[VP1CC_SelTypeFCAL1] = ui2manager;
512
513 // --- VP1CC_SelTypeFCAL2 ---
514 ui2manager = new VP1CCUi2Manager;
515 ui2manager->globalEnableCB = m_d->ui.chbxFCAL_M2;
516 ui2manager->showNegativeCB = m_d->ui.chbxFCAL_Neg_Expert;
517 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoFCAL_M2Upper;
518 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxFCAL_M2LowerThresh;
519 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxFCAL_M2UpperThresh;
520 (m_d->sel2GuiExpert)[VP1CC_SelTypeFCAL2] = ui2manager;
521
522 // --- VP1CC_SelTypeFCAL3 ---
523 ui2manager = new VP1CCUi2Manager;
524 ui2manager->globalEnableCB = m_d->ui.chbxFCAL_M3;
525 ui2manager->showNegativeCB = m_d->ui.chbxFCAL_Neg_Expert;
526 ui2manager->upperThreshOffCB = m_d->ui_threshlarexp.chbxNoFCAL_M3Upper;
527 ui2manager->lowerThresholdSB = m_d->ui_threshlarexp.dspbxFCAL_M3LowerThresh;
528 ui2manager->upperThresholdSB = m_d->ui_threshlarexp.dspbxFCAL_M3UpperThresh;
529 (m_d->sel2GuiExpert)[VP1CC_SelTypeFCAL3] = ui2manager;
530
531 // --- VP1CC_SelTypeTileB ---
532 ui2manager = new VP1CCUi2Manager;
533 ui2manager->globalEnableCB = m_d->ui.chbxTILB;
534 ui2manager->showNegativeCB = m_d->ui.chbxTileNegative;
535 ui2manager->upperThreshOffCB = m_d->ui_threshtile.chbxNoTileUpper;
536 ui2manager->lowerThresholdSB = m_d->ui_threshtile.dspbxTileLowerThresh;
537 ui2manager->upperThresholdSB = m_d->ui_threshtile.dspbxTileUpperThresh;
538 (m_d->sel2GuiSimple)[VP1CC_SelTypeTileB] = ui2manager;
539 (m_d->sel2GuiExpert)[VP1CC_SelTypeTileB] = ui2manager;
540
541 // --- VP1CC_SelTypeTileEC ---
542 ui2manager = new VP1CCUi2Manager;
543 ui2manager->globalEnableCB = m_d->ui.chbxTILEC;
544 ui2manager->showNegativeCB = m_d->ui.chbxTileNegative;
545 ui2manager->upperThreshOffCB = m_d->ui_threshtile.chbxNoTileUpper;
546 ui2manager->lowerThresholdSB = m_d->ui_threshtile.dspbxTileLowerThresh;
547 ui2manager->upperThresholdSB = m_d->ui_threshtile.dspbxTileUpperThresh;
548 (m_d->sel2GuiSimple)[VP1CC_SelTypeTileEC] = ui2manager;
549 (m_d->sel2GuiExpert)[VP1CC_SelTypeTileEC] = ui2manager;
550
551 // --- VP1CC_SelTypeTileCrack ---
552 ui2manager = new VP1CCUi2Manager;
553 ui2manager->globalEnableCB = m_d->ui.chbxTILCR;
554 ui2manager->showNegativeCB = m_d->ui.chbxTileNegative;
555 ui2manager->upperThreshOffCB = m_d->ui_threshtile.chbxNoTileUpper;
556 ui2manager->lowerThresholdSB = m_d->ui_threshtile.dspbxTileLowerThresh;
557 ui2manager->upperThresholdSB = m_d->ui_threshtile.dspbxTileUpperThresh;
558 (m_d->sel2GuiSimple)[VP1CC_SelTypeTileCrack] = ui2manager;
559 (m_d->sel2GuiExpert)[VP1CC_SelTypeTileCrack] = ui2manager;
560}
@ VP1CC_SepTileNegativeDown
@ VP1CC_SepTilePositiveDown
@ VP1CC_SepLArEMBPos
@ VP1CC_SepLArHECNeg
@ VP1CC_SepLArFCALPos
@ VP1CC_SepLArEMECPos
@ VP1CC_SepMBTS
@ VP1CC_SepTilePositiveNeg
@ VP1CC_SepLArEMECNeg
@ VP1CC_SepTilePositiveUp
@ VP1CC_SepLArEMBNeg
@ VP1CC_SepLArHECPos
@ VP1CC_SepTileNegativePos
@ VP1CC_SepTileNegativeUp
@ VP1CC_SepLArFCALNeg
@ VP1CC_SelTypeEMB2
@ VP1CC_SelTypeEMEC1
@ VP1CC_SelTypeFCAL3
@ VP1CC_SelTypeTileB
@ VP1CC_SelTypeEMEC3
@ VP1CC_SelTypeFCAL1
@ VP1CC_SelTypeHEC0
@ VP1CC_SelTypeHEC2
@ VP1CC_SelTypeTileEC
@ VP1CC_SelTypeEMB3
@ VP1CC_SelTypeEMEC0
@ VP1CC_SelTypeEMB0
@ VP1CC_SelTypeFCAL2
@ VP1CC_SelTypeEMB1
@ VP1CC_SelTypeEMEC2
@ VP1CC_SelTypeHEC3
@ VP1CC_SelTypeHEC1
@ VP1CC_SelTypeTileCrack
void possibleChange_globalCuts()
void possibleChange_energyModeEt()
const TileCablingService * m_tile_cabling
void possibleChange_selectionMbts()
void possibleChange_showDigits()
void possibleChange_showVolumeOutLines()
void possibleChange_selectionIntervals()
void initDialog(T &theUI, QPushButton *launchbutton, QAbstractButton *enabledButton=0)
void connectToLastUpdateSlot(QObject *sender, const char *signal)
const char * addUpdateSlot(const char *slot)
VP1Controller(IVP1System *sys, const QString &classname)
void messageDebug(const QString &) const
static SoMaterial * createMaterial(const QColor &, const double &brightness=0.0, const double &transp=0.0)
const QCheckBox * upperThreshOffCB
const QCheckBox * globalEnableCB
const QCheckBox * showNegativeCB
const QDoubleSpinBox * lowerThresholdSB
QDoubleSpinBox * upperThresholdSB

◆ ~VP1CaloCellController()

VP1CaloCellController::~VP1CaloCellController ( )
virtual

Definition at line 562 of file VP1CaloCellController.cxx.

563{
564 // Clean up in Imp maps
565 delete m_d->sel2GuiSimple[VP1CC_SelTypeEMB0];
566 delete m_d->sel2GuiSimple[VP1CC_SelTypeEMEC0];
567 delete m_d->sel2GuiSimple[VP1CC_SelTypeHEC0];
568 delete m_d->sel2GuiSimple[VP1CC_SelTypeFCAL1];
569 //TK: Fixme: why not just iterate and delete all here?
570 m_d->sel2GuiSimple.clear();
571
572 for (auto& p : m_d->sel2GuiExpert)
573 delete p.second;
574 m_d->sel2GuiExpert.clear();
575 delete m_d;
576}

Member Function Documentation

◆ actualRestoreSettings()

void VP1CaloCellController::actualRestoreSettings ( VP1Deserialise & s)
virtual

Implements VP1Controller.

Definition at line 578 of file VP1CaloCellController.cxx.

579{
580 if (s.version()<0 || s.version()>4) {
581 message("Warning: State data in .vp1 file has unsupported version ("+str(s.version())+")");
582 return;
583 }
584
585 s.restore(m_d->ui_interact.chbxDigits);
586 s.restore(m_d->ui_visopts.dspbxScale);
587 s.restore(m_d->ui.chbxMbts);
588 s.restore(m_d->ui_threshmbts.dspbxMbtsThresh);
589 s.restore(m_d->ui_badchans.chbxEnableBadChannels);
590 s.restore(m_d->ui_badchans.chbxMaskDead);
591 s.restore(m_d->ui_badchans.chbxMaskNoisy);
592 s.restore(m_d->ui_badchans.chbxMaskAffected);
593 s.restore(m_d->ui.rbtnSimple,m_d->ui.rbtnExpert);
594 s.restore(m_d->ui.chbxEMB);
595 s.restore(m_d->ui.chbxEMEC);
596 s.restore(m_d->ui.chbxHEC);
597 s.restore(m_d->ui.chbxFCAL);
598 s.restore(m_d->ui.chbxLArNegative);
599 s.restore(m_d->ui_threshlarsimp.dspbxLArLowerThresh);
600 s.restore(m_d->ui_threshlarsimp.dspbxLArUpperThresh);
601 s.restore(m_d->ui_threshlarsimp.chbxNoLArUpper);
602 s.restore(m_d->ui.chbxEMB_Neg_Expert);
603 s.restore(m_d->ui.chbxEMB_S0);
604 s.restore(m_d->ui_threshlarexp.dspbxEMB_S0LowerThresh);
605 s.restore(m_d->ui_threshlarexp.dspbxEMB_S0UpperThresh);
606 s.restore(m_d->ui_threshlarexp.chbxNoEMB_S0Upper);
607 s.restore(m_d->ui.chbxEMB_S1);
608 s.restore(m_d->ui_threshlarexp.dspbxEMB_S1LowerThresh);
609 s.restore(m_d->ui_threshlarexp.dspbxEMB_S1UpperThresh);
610 s.restore(m_d->ui_threshlarexp.chbxNoEMB_S1Upper);
611 s.restore(m_d->ui.chbxEMB_S2);
612 s.restore(m_d->ui_threshlarexp.dspbxEMB_S2LowerThresh);
613 s.restore(m_d->ui_threshlarexp.dspbxEMB_S2UpperThresh);
614 s.restore(m_d->ui_threshlarexp.chbxNoEMB_S2Upper);
615 s.restore(m_d->ui.chbxEMB_S3);
616 s.restore(m_d->ui_threshlarexp.dspbxEMB_S3LowerThresh);
617 s.restore(m_d->ui_threshlarexp.dspbxEMB_S3UpperThresh);
618 s.restore(m_d->ui_threshlarexp.chbxNoEMB_S3Upper);
619 s.restore(m_d->ui.chbxEMEC_Neg_Expert);
620 s.restore(m_d->ui.chbxEMEC_S0);
621 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S0LowerThresh);
622 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S0UpperThresh);
623 s.restore(m_d->ui_threshlarexp.chbxNoEMEC_S0Upper);
624 s.restore(m_d->ui.chbxEMEC_S1);
625 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S1LowerThresh);
626 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S1UpperThresh);
627 s.restore(m_d->ui_threshlarexp.chbxNoEMEC_S1Upper);
628 s.restore(m_d->ui.chbxEMEC_S2);
629 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S2LowerThresh);
630 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S2UpperThresh);
631 s.restore(m_d->ui_threshlarexp.chbxNoEMEC_S2Upper);
632 s.restore(m_d->ui.chbxEMEC_S3);
633 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S3LowerThresh);
634 s.restore(m_d->ui_threshlarexp.dspbxEMEC_S3UpperThresh);
635 s.restore(m_d->ui_threshlarexp.chbxNoEMEC_S3Upper);
636 s.restore(m_d->ui.chbxHEC_Neg_Expert);
637 s.restore(m_d->ui.chbxHEC_S0);
638 s.restore(m_d->ui_threshlarexp.dspbxHEC_S0LowerThresh);
639 s.restore(m_d->ui_threshlarexp.dspbxHEC_S0UpperThresh);
640 s.restore(m_d->ui_threshlarexp.chbxNoHEC_S0Upper);
641 s.restore(m_d->ui.chbxHEC_S1);
642 s.restore(m_d->ui_threshlarexp.dspbxHEC_S1LowerThresh);
643 s.restore(m_d->ui_threshlarexp.dspbxHEC_S1UpperThresh);
644 s.restore(m_d->ui_threshlarexp.chbxNoHEC_S1Upper);
645 s.restore(m_d->ui.chbxHEC_S2);
646 s.restore(m_d->ui_threshlarexp.dspbxHEC_S2LowerThresh);
647 s.restore(m_d->ui_threshlarexp.dspbxHEC_S2UpperThresh);
648 s.restore(m_d->ui_threshlarexp.chbxNoHEC_S2Upper);
649 s.restore(m_d->ui.chbxHEC_S3);
650 s.restore(m_d->ui_threshlarexp.dspbxHEC_S3LowerThresh);
651 s.restore(m_d->ui_threshlarexp.dspbxHEC_S3UpperThresh);
652 s.restore(m_d->ui_threshlarexp.chbxNoHEC_S3Upper);
653 s.restore(m_d->ui.chbxFCAL_Neg_Expert);
654 s.restore(m_d->ui.chbxFCAL_M1);
655 s.restore(m_d->ui_threshlarexp.dspbxFCAL_M1LowerThresh);
656 s.restore(m_d->ui_threshlarexp.dspbxFCAL_M1UpperThresh);
657 s.restore(m_d->ui_threshlarexp.chbxNoFCAL_M1Upper);
658 s.restore(m_d->ui.chbxFCAL_M2);
659 s.restore(m_d->ui_threshlarexp.dspbxFCAL_M2LowerThresh);
660 s.restore(m_d->ui_threshlarexp.dspbxFCAL_M2UpperThresh);
661 s.restore(m_d->ui_threshlarexp.chbxNoFCAL_M2Upper);
662 s.restore(m_d->ui.chbxFCAL_M3);
663 s.restore(m_d->ui_threshlarexp.dspbxFCAL_M3LowerThresh);
664 s.restore(m_d->ui_threshlarexp.dspbxFCAL_M3UpperThresh);
665 s.restore(m_d->ui_threshlarexp.chbxNoFCAL_M3Upper);
666 s.restore(m_d->ui.chbxTILB);
667 s.restore(m_d->ui.chbxTILEC);
668 s.restore(m_d->ui.chbxTILCR);
669 s.restore(m_d->ui.chbxTileNegative);
670 s.restore(m_d->ui_threshtile.dspbxTileLowerThresh);
671 s.restore(m_d->ui_threshtile.dspbxTileUpperThresh);
672 s.restore(m_d->ui_threshtile.chbxNoTileUpper);
673 s.restore(m_d->ui_visopts.matbutLArEMBColorPos);
674 s.restore(m_d->ui_visopts.matbutLArEMBColorNeg);
675 s.restore(m_d->ui_visopts.matbutLArEMECColorPos);
676 s.restore(m_d->ui_visopts.matbutLArEMECColorNeg);
677 s.restore(m_d->ui_visopts.matbutLArHECColorPos);
678 s.restore(m_d->ui_visopts.matbutLArHECColorNeg);
679 s.restore(m_d->ui_visopts.matbutLArFCALColorPos);
680 s.restore(m_d->ui_visopts.matbutLArFCALColorNeg);
681 s.restore(m_d->ui_visopts.matbutTileColorPosPMT0);
682 s.restore(m_d->ui_visopts.matbutTileColorPosPMT1);
683 s.restore(m_d->ui_visopts.matbutTileColorPosNeg);
684 s.restore(m_d->ui_visopts.matbutTileColorNegPMT0);
685 s.restore(m_d->ui_visopts.matbutTileColorNegPMT1);
686 s.restore(m_d->ui_visopts.matbutTileColorNegPos);
687 s.restore(m_d->ui_visopts.matbutMbts);
688
689 if(s.version()>0) {
690 s.restore(m_d->ui_visopts.wdgDrawOptions);
691 s.restore(m_d->ui_visopts.chbxShowOutlines);
692 }
693
694 if(s.version()>1) {
695 s.restore(m_d->ui.rbtnModeEt,m_d->ui.rbtnModeEne);
696 }
697
698 if(s.version()>2) {
699 s.restore(m_d->ui_visopts.chbxLogscale);
700 }
701
702 if(s.version()>3) {
703 s.restore(m_d->ui_cuts.chbxSideA);
704 s.restore(m_d->ui_cuts.chbxSideC);
705 s.restore(m_d->ui_cuts.wdgEtaPhiCut);
706 }
707}
void message(const QString &) const
static QString str(const QString &s)
Definition VP1String.h:49

◆ actualSaveSettings()

void VP1CaloCellController::actualSaveSettings ( VP1Serialise & s) const
virtual

Implements VP1Controller.

Definition at line 714 of file VP1CaloCellController.cxx.

715{
716 s.save(m_d->ui_interact.chbxDigits);
717 s.save(m_d->ui_visopts.dspbxScale);
718 s.save(m_d->ui.chbxMbts);
719 s.save(m_d->ui_threshmbts.dspbxMbtsThresh);
720 s.save(m_d->ui_badchans.chbxEnableBadChannels);
721 s.save(m_d->ui_badchans.chbxMaskDead);
722 s.save(m_d->ui_badchans.chbxMaskNoisy);
723 s.save(m_d->ui_badchans.chbxMaskAffected);
724 s.save(m_d->ui.rbtnSimple,m_d->ui.rbtnExpert);
725 s.save(m_d->ui.chbxEMB);
726 s.save(m_d->ui.chbxEMEC);
727 s.save(m_d->ui.chbxHEC);
728 s.save(m_d->ui.chbxFCAL);
729 s.save(m_d->ui.chbxLArNegative);
730 s.save(m_d->ui_threshlarsimp.dspbxLArLowerThresh);
731 s.save(m_d->ui_threshlarsimp.dspbxLArUpperThresh);
732 s.save(m_d->ui_threshlarsimp.chbxNoLArUpper);
733 s.save(m_d->ui.chbxEMB_Neg_Expert);
734 s.save(m_d->ui.chbxEMB_S0);
735 s.save(m_d->ui_threshlarexp.dspbxEMB_S0LowerThresh);
736 s.save(m_d->ui_threshlarexp.dspbxEMB_S0UpperThresh);
737 s.save(m_d->ui_threshlarexp.chbxNoEMB_S0Upper);
738 s.save(m_d->ui.chbxEMB_S1);
739 s.save(m_d->ui_threshlarexp.dspbxEMB_S1LowerThresh);
740 s.save(m_d->ui_threshlarexp.dspbxEMB_S1UpperThresh);
741 s.save(m_d->ui_threshlarexp.chbxNoEMB_S1Upper);
742 s.save(m_d->ui.chbxEMB_S2);
743 s.save(m_d->ui_threshlarexp.dspbxEMB_S2LowerThresh);
744 s.save(m_d->ui_threshlarexp.dspbxEMB_S2UpperThresh);
745 s.save(m_d->ui_threshlarexp.chbxNoEMB_S2Upper);
746 s.save(m_d->ui.chbxEMB_S3);
747 s.save(m_d->ui_threshlarexp.dspbxEMB_S3LowerThresh);
748 s.save(m_d->ui_threshlarexp.dspbxEMB_S3UpperThresh);
749 s.save(m_d->ui_threshlarexp.chbxNoEMB_S3Upper);
750 s.save(m_d->ui.chbxEMEC_Neg_Expert);
751 s.save(m_d->ui.chbxEMEC_S0);
752 s.save(m_d->ui_threshlarexp.dspbxEMEC_S0LowerThresh);
753 s.save(m_d->ui_threshlarexp.dspbxEMEC_S0UpperThresh);
754 s.save(m_d->ui_threshlarexp.chbxNoEMEC_S0Upper);
755 s.save(m_d->ui.chbxEMEC_S1);
756 s.save(m_d->ui_threshlarexp.dspbxEMEC_S1LowerThresh);
757 s.save(m_d->ui_threshlarexp.dspbxEMEC_S1UpperThresh);
758 s.save(m_d->ui_threshlarexp.chbxNoEMEC_S1Upper);
759 s.save(m_d->ui.chbxEMEC_S2);
760 s.save(m_d->ui_threshlarexp.dspbxEMEC_S2LowerThresh);
761 s.save(m_d->ui_threshlarexp.dspbxEMEC_S2UpperThresh);
762 s.save(m_d->ui_threshlarexp.chbxNoEMEC_S2Upper);
763 s.save(m_d->ui.chbxEMEC_S3);
764 s.save(m_d->ui_threshlarexp.dspbxEMEC_S3LowerThresh);
765 s.save(m_d->ui_threshlarexp.dspbxEMEC_S3UpperThresh);
766 s.save(m_d->ui_threshlarexp.chbxNoEMEC_S3Upper);
767 s.save(m_d->ui.chbxHEC_Neg_Expert);
768 s.save(m_d->ui.chbxHEC_S0);
769 s.save(m_d->ui_threshlarexp.dspbxHEC_S0LowerThresh);
770 s.save(m_d->ui_threshlarexp.dspbxHEC_S0UpperThresh);
771 s.save(m_d->ui_threshlarexp.chbxNoHEC_S0Upper);
772 s.save(m_d->ui.chbxHEC_S1);
773 s.save(m_d->ui_threshlarexp.dspbxHEC_S1LowerThresh);
774 s.save(m_d->ui_threshlarexp.dspbxHEC_S1UpperThresh);
775 s.save(m_d->ui_threshlarexp.chbxNoHEC_S1Upper);
776 s.save(m_d->ui.chbxHEC_S2);
777 s.save(m_d->ui_threshlarexp.dspbxHEC_S2LowerThresh);
778 s.save(m_d->ui_threshlarexp.dspbxHEC_S2UpperThresh);
779 s.save(m_d->ui_threshlarexp.chbxNoHEC_S2Upper);
780 s.save(m_d->ui.chbxHEC_S3);
781 s.save(m_d->ui_threshlarexp.dspbxHEC_S3LowerThresh);
782 s.save(m_d->ui_threshlarexp.dspbxHEC_S3UpperThresh);
783 s.save(m_d->ui_threshlarexp.chbxNoHEC_S3Upper);
784 s.save(m_d->ui.chbxFCAL_Neg_Expert);
785 s.save(m_d->ui.chbxFCAL_M1);
786 s.save(m_d->ui_threshlarexp.dspbxFCAL_M1LowerThresh);
787 s.save(m_d->ui_threshlarexp.dspbxFCAL_M1UpperThresh);
788 s.save(m_d->ui_threshlarexp.chbxNoFCAL_M1Upper);
789 s.save(m_d->ui.chbxFCAL_M2);
790 s.save(m_d->ui_threshlarexp.dspbxFCAL_M2LowerThresh);
791 s.save(m_d->ui_threshlarexp.dspbxFCAL_M2UpperThresh);
792 s.save(m_d->ui_threshlarexp.chbxNoFCAL_M2Upper);
793 s.save(m_d->ui.chbxFCAL_M3);
794 s.save(m_d->ui_threshlarexp.dspbxFCAL_M3LowerThresh);
795 s.save(m_d->ui_threshlarexp.dspbxFCAL_M3UpperThresh);
796 s.save(m_d->ui_threshlarexp.chbxNoFCAL_M3Upper);
797 s.save(m_d->ui.chbxTILB);
798 s.save(m_d->ui.chbxTILEC);
799 s.save(m_d->ui.chbxTILCR);
800 s.save(m_d->ui.chbxTileNegative);
801 s.save(m_d->ui_threshtile.dspbxTileLowerThresh);
802 s.save(m_d->ui_threshtile.dspbxTileUpperThresh);
803 s.save(m_d->ui_threshtile.chbxNoTileUpper);
804 s.save(m_d->ui_visopts.matbutLArEMBColorPos);
805 s.save(m_d->ui_visopts.matbutLArEMBColorNeg);
806 s.save(m_d->ui_visopts.matbutLArEMECColorPos);
807 s.save(m_d->ui_visopts.matbutLArEMECColorNeg);
808 s.save(m_d->ui_visopts.matbutLArHECColorPos);
809 s.save(m_d->ui_visopts.matbutLArHECColorNeg);
810 s.save(m_d->ui_visopts.matbutLArFCALColorPos);
811 s.save(m_d->ui_visopts.matbutLArFCALColorNeg);
812 s.save(m_d->ui_visopts.matbutTileColorPosPMT0);
813 s.save(m_d->ui_visopts.matbutTileColorPosPMT1);
814 s.save(m_d->ui_visopts.matbutTileColorPosNeg);
815 s.save(m_d->ui_visopts.matbutTileColorNegPMT0);
816 s.save(m_d->ui_visopts.matbutTileColorNegPMT1);
817 s.save(m_d->ui_visopts.matbutTileColorNegPos);
818 s.save(m_d->ui_visopts.matbutMbts);
819 s.save(m_d->ui_visopts.wdgDrawOptions); // 1+
820 s.save(m_d->ui_visopts.chbxShowOutlines); // 1+
821 s.save(m_d->ui.rbtnModeEt,m_d->ui.rbtnModeEne); // 2+
822 s.save(m_d->ui_visopts.chbxLogscale); // 3+
823 s.save(m_d->ui_cuts.chbxSideA); // 4+
824 s.save(m_d->ui_cuts.chbxSideC); // 4+
825 s.save(m_d->ui_cuts.wdgEtaPhiCut); // 4+
826}

◆ addUpdateSlot()

const char * VP1Controller::addUpdateSlot ( const char * slot)
protectedinherited

Definition at line 318 of file VP1Controller.cxx.

319{
320 messageVerbose("Adding update slot: "+QString(slot));
321 connect(this,SIGNAL(dummyUpdateTrigger()),this,slot);
322 m_d->lastUpdateSlot = slot;
323 return slot;
324}
void dummyUpdateTrigger()
void messageVerbose(const QString &) const

◆ changed()

template<class T>
bool VP1Controller::changed ( T & lastval,
const T & newval )
protectedinherited

Definition at line 151 of file VP1Controller.h.

152{
153 if (initVarsMode()) {
154 lastval=newval;
155 return false;
156 }
157 if (lastval==newval)
158 return false;
159 lastval = newval;
160 return true;
161}
bool initVarsMode() const

◆ changeMode

void VP1CaloCellController::changeMode ( )
privateslot

Definition at line 1318 of file VP1CaloCellController.cxx.

1319{
1320 if(m_d->ui.rbtnSimple->isChecked()) {
1321 m_d->ui.stackLAr->setCurrentIndex(0);
1322 m_d->ui.pushButton_settings_thresholds_larsimple->setEnabled(true);
1323 m_d->ui.pushButton_settings_thresholds_larexpert->setEnabled(false);
1324 }
1325 else {
1326 m_d->ui.stackLAr->setCurrentIndex(1);
1327 m_d->ui.pushButton_settings_thresholds_larsimple->setEnabled(false);
1328 m_d->ui.pushButton_settings_thresholds_larexpert->setEnabled(true);
1329 }
1330}

◆ ClearHideDigitForms()

void VP1CaloCellController::ClearHideDigitForms ( )

Definition at line 842 of file VP1CaloCellController.cxx.

843{
844 messageDebug("ClearHideDigitForms()");
845 m_d->singlePlotHasData = false;
846 m_d->digit_form_single->setVisible(false);
847 m_d->doublePlotHasData = false;
848 m_d->digit_form_double->setVisible(false);
849}

◆ collWidgetContentChanged

void VP1Controller::collWidgetContentChanged ( )
slotinherited

Definition at line 232 of file VP1Controller.cxx.

233{
234 if (sender()!=m_d->collWidget||!m_d->collWidget) {
235 message("ERROR: Unexpected signal in collWidgetContentChanged slot!!");
236 return;
237 }
238 QScrollArea* scrollarea = dynamic_cast<QScrollArea*>(m_d->collWidget->parent());
239 if (!scrollarea&&m_d->collWidget->parent())
240 scrollarea = dynamic_cast<QScrollArea*>(m_d->collWidget->parent()->parent());
241 if (!scrollarea) {
242 message("ERROR: m_d->collWidget not child or grandchild of a scroll area!!");
243 return;
244 }
245 int width = m_d->collWidget->appropriateFixedWidth();
246 m_d->collWidget->setMinimumWidth(width);
247 m_d->collWidget->setMaximumWidth(width);
248 QScrollBar * sb = scrollarea->verticalScrollBar();
249 if (sb)
250 width+=sb->sizeHint().width();
251 scrollarea->setMinimumWidth(width+2);//2 is just some margin
252}
const double width

◆ connectToLastUpdateSlot() [1/10]

void VP1Controller::connectToLastUpdateSlot ( QButtonGroup * bg)
protectedinherited

Definition at line 369 of file VP1Controller.cxx.

370{
371 connectToLastUpdateSlot(bg,SIGNAL(buttonClicked(int)));
372}

◆ connectToLastUpdateSlot() [2/10]

void VP1Controller::connectToLastUpdateSlot ( QCheckBox * cb)
protectedinherited

Definition at line 333 of file VP1Controller.cxx.

334{
335 connectToLastUpdateSlot(cb,SIGNAL(toggled(bool)));
336}

◆ connectToLastUpdateSlot() [3/10]

void VP1Controller::connectToLastUpdateSlot ( QComboBox * cb)
protectedinherited

Definition at line 339 of file VP1Controller.cxx.

340{
341 connectToLastUpdateSlot(cb,SIGNAL(currentIndexChanged(int)));
342}

◆ connectToLastUpdateSlot() [4/10]

void VP1Controller::connectToLastUpdateSlot ( QDoubleSpinBox * dsb)
protectedinherited

Definition at line 357 of file VP1Controller.cxx.

358{
359 connectToLastUpdateSlot(dsb,SIGNAL(valueChanged(double)));
360}

◆ connectToLastUpdateSlot() [5/10]

void VP1Controller::connectToLastUpdateSlot ( QGroupBox * gb)
protectedinherited

Definition at line 345 of file VP1Controller.cxx.

346{
347 connectToLastUpdateSlot(gb,SIGNAL(toggled(bool)));
348}

◆ connectToLastUpdateSlot() [6/10]

void VP1Controller::connectToLastUpdateSlot ( QObject * sender,
const char * signal )
protectedinherited

Definition at line 327 of file VP1Controller.cxx.

328{
329 connect(sender,signal,this,m_d->lastUpdateSlot);
330}

◆ connectToLastUpdateSlot() [7/10]

void VP1Controller::connectToLastUpdateSlot ( QRadioButton * rb)
protectedinherited

Definition at line 363 of file VP1Controller.cxx.

364{
365 connectToLastUpdateSlot(rb,SIGNAL(toggled(bool)));
366}

◆ connectToLastUpdateSlot() [8/10]

void VP1Controller::connectToLastUpdateSlot ( QSlider * s)
protectedinherited

Definition at line 375 of file VP1Controller.cxx.

376{
377 connectToLastUpdateSlot(s,SIGNAL(valueChanged(int)));
378}

◆ connectToLastUpdateSlot() [9/10]

void VP1Controller::connectToLastUpdateSlot ( QSpinBox * sb)
protectedinherited

Definition at line 351 of file VP1Controller.cxx.

352{
353 connectToLastUpdateSlot(sb,SIGNAL(valueChanged(int)));
354}

◆ connectToLastUpdateSlot() [10/10]

void VP1Controller::connectToLastUpdateSlot ( VP1ColorSelectButton * csb)
protectedinherited

Definition at line 381 of file VP1Controller.cxx.

382{
383 connectToLastUpdateSlot(csb,SIGNAL(colorChanged(const QColor&)));
384}

◆ currentSettingsVersion()

int VP1CaloCellController::currentSettingsVersion ( ) const
virtual

Implements VP1Controller.

Definition at line 709 of file VP1CaloCellController.cxx.

710{
711 return 4;
712}

◆ customTourEditor()

VP1CustomTourEditor * VP1Controller::customTourEditor ( )
inlinestaticinherited

Definition at line 61 of file VP1Controller.h.

61{return m_customTourEditor;}
static VP1CustomTourEditor * m_customTourEditor

◆ defineRadioButtonGroup() [1/2]

QButtonGroup * VP1Controller::defineRadioButtonGroup ( const QList< QRadioButton * > & l)
protectedinherited

Definition at line 300 of file VP1Controller.cxx.

301{
302 QRadioButton * rb_checked(0);
303 for (QRadioButton *rb : l) {
304 if (rb->isChecked()) {
305 rb_checked = rb;
306 break;
307 }
308 }
309 QButtonGroup * radiogroup = new QButtonGroup(this);
310 for (QRadioButton *rb : l)
311 radiogroup->addButton(rb);
312 if (rb_checked)
313 rb_checked->setChecked(true);
314 return radiogroup;
315}

◆ defineRadioButtonGroup() [2/2]

QButtonGroup * VP1Controller::defineRadioButtonGroup ( QRadioButton * rb0,
QRadioButton * rb1,
QRadioButton * rb2 = 0,
QRadioButton * rb3 = 0,
QRadioButton * rb4 = 0,
QRadioButton * rb5 = 0,
QRadioButton * rb6 = 0,
QRadioButton * rb7 = 0,
QRadioButton * rb8 = 0,
QRadioButton * rb9 = 0 )
protectedinherited

Definition at line 288 of file VP1Controller.cxx.

292{
293 QList<QRadioButton *> l;
294 l << rb0 << rb1 << rb2 << rb3 << rb4 << rb5 << rb6 << rb7 << rb8 << rb9;
295 l.removeAll(0);
296 return defineRadioButtonGroup(l);
297}
QButtonGroup * defineRadioButtonGroup(QRadioButton *rb0, QRadioButton *rb1, QRadioButton *rb2=0, QRadioButton *rb3=0, QRadioButton *rb4=0, QRadioButton *rb5=0, QRadioButton *rb6=0, QRadioButton *rb7=0, QRadioButton *rb8=0, QRadioButton *rb9=0)
l
Printing final latex table to .tex output file.

◆ DeleteDigitForms()

void VP1CaloCellController::DeleteDigitForms ( )

Definition at line 851 of file VP1CaloCellController.cxx.

852{
853 messageDebug("DeleteDigitForms()");
854
855 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
856 /*
857 if (m_d) {
858 messageDebug("delete digit_form_single...");
859 if (m_d->digit_form_single) {
860 delete m_d->digit_form_single;
861 m_d->digit_form_single = 0;
862 }
863 messageDebug("delete digit_form_double...");
864 if (m_d->digit_form_double) {
865 delete m_d->digit_form_double;
866 m_d->digit_form_double = 0;
867 }
868 messageDebug("delete UiDigitsSingle...");
869 if (m_d->UiDigitsSingle) {
870 delete m_d->UiDigitsSingle;
871 m_d->UiDigitsSingle = 0;
872 }
873 messageDebug("delete UiDigitsDouble...");
874 if (m_d->UiDigitsDouble) {
875 delete m_d->UiDigitsDouble;
876 m_d->UiDigitsDouble = 0;
877 }
878 messageDebug("DeleteDigitForms(). End.");
879 }
880 */
881}

◆ displayLArDigits()

void VP1CaloCellController::displayLArDigits ( int n_samples,
std::vector< short > samples,
std::vector< std::string > & msg )

Definition at line 888 of file VP1CaloCellController.cxx.

892{
893 message("VP1CaloCellController::displayLArDigits()... not be ported to 'master' yet, because of failing dependencies (LCG's Qwt has to be ported to Qt5, still)");
894
895 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
896/*
897
898 QwtPlot* plot = m_d->UiDigitsSingle->plotDigits;
899
900 // Pop up the widget
901 m_d->digit_form_single->setVisible(true);
902 m_d->digit_form_double->setVisible(false);
903
904 // Get data
905 QVector<QPointF> _data;
906 for(int ii=0; ii<n_samples;ii++) {
907 _data.push_back(QPointF(ii,samples[ii]));
908 }
909
910 // Create symbol
911 QwtSymbol* sym = new QwtSymbol();
912 sym->setStyle(QwtSymbol::Star1);
913// sym->setPen(QColor(Qt::darkMagenta));
914 sym->setPen(QColor(Qt::red));
915 sym->setSize(5);
916
917 // Create curve
918 QwtPlotCurve* _curve = new QwtPlotCurve("ADC Counts");
919 _curve->setRenderHint(QwtPlotItem::RenderAntialiased);
920 _curve->setSamples(_data); // builds QwtSeriesData objects from arrays internally
921 _curve->setStyle(QwtPlotCurve::NoCurve);
922 _curve->setPen(QPen(Qt::red));
923 _curve->setSymbol(sym);
924
925 // Attach the curve to the hosting plot
926 // std::cout << "plot: " << m_d->UiDigitsSingle->plotDigits << std::endl;
927 _curve->attach(plot);
928
929 // Set the canvas background color
930 plot->setCanvasBackground( QBrush(Qt::white) );
931
932 // Refresh the plot
933// plot->replot();
934 m_d->UiDigitsSingle->plotDigits->replot();
935
936
937 // Set values for the labels
938 m_d->UiDigitsSingle->lblCellName->setText((msg[1]).c_str());
939 m_d->UiDigitsSingle->lblTotalEnergy->setText((msg[3]).c_str());
940 m_d->UiDigitsSingle->lblTotalTime->setText((msg[4]).c_str());
941
942 // hide pmt/gain label
943 m_d->UiDigitsSingle->lblPMTGain->setVisible(false);
944
945 // set the flag for the plot data
946 m_d->singlePlotHasData = true;
947 m_d->doublePlotHasData = false;
948 */
949
950 messageDebug("display LAr digits end.");
951}

◆ displayTileDigits() [1/2]

void VP1CaloCellController::displayTileDigits ( int n_samples,
std::vector< float > samples,
std::vector< std::string > & msg )

Definition at line 985 of file VP1CaloCellController.cxx.

988{
989 messageDebug("VP1CaloCellController::displayTileDigits(B)...");
990
991 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
992 /*
993 // Pop up the widget
994 m_d->digit_form_single->setVisible(true);
995 m_d->digit_form_double->setVisible(false);
996
997 messageDebug("Setting text...");
998 m_d->UiDigitsSingle->lblCellName->setText(msg[1].c_str());
999 m_d->UiDigitsSingle->lblTotalEnergy->setText(msg[2].c_str());
1000 m_d->UiDigitsSingle->lblTotalTime->setText(msg[3].c_str());
1001
1002 // show pmt/gain label
1003 messageDebug("Show pmt/gain...");
1004 m_d->UiDigitsSingle->lblPMTGain->setVisible(true);
1005
1006 messageDebug("calling DrawTileDigits()...");
1007 DrawTileDigits(m_d->UiDigitsSingle->plotDigits,n_samples,samples);
1008 messageDebug("called DrawTileDigits().");
1009
1010 // set the flag for the plot data
1011 m_d->doublePlotHasData = true;
1012 m_d->singlePlotHasData = false;
1013 */
1014}

◆ displayTileDigits() [2/2]

void VP1CaloCellController::displayTileDigits ( int n_samples,
std::vector< float > samples1,
std::vector< float > samples2,
std::vector< std::string > & msg )

Definition at line 953 of file VP1CaloCellController.cxx.

957{
958
959 messageDebug("VP1CaloCellController::displayTileDigits(A)...");
960
961 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
962 /*
963 // Pop up the widget
964 m_d->digit_form_double->setVisible(true);
965 m_d->digit_form_single->setVisible(false);
966
967 messageDebug("Setting text...");
968 m_d->UiDigitsDouble->lblCellName->setText(msg[1].c_str());
969 m_d->UiDigitsDouble->lblTotalEnergy->setText(msg[2].c_str());
970 m_d->UiDigitsDouble->lblTotalTime->setText(msg[3].c_str());
971
972
973 messageDebug("Calling DrawTileDigits()...");
974 DrawTileDigits(m_d->UiDigitsDouble->plotDigits_1,n_samples,samples1);
975 messageDebug("Called on plotDigits_1.");
976 DrawTileDigits(m_d->UiDigitsDouble->plotDigits_2,n_samples,samples2);
977 messageDebug("Called on plotDigits_2.");
978
979 // set the flag for the plot data
980 m_d->doublePlotHasData = true;
981 m_d->singlePlotHasData = false;
982 */
983}

◆ displayTilePulse() [1/2]

void VP1CaloCellController::displayTilePulse ( const TileRawChannel * rawchannel,
const TileRawChannelContainer * rawchannel_cont,
size_t digitsize )

Definition at line 1051 of file VP1CaloCellController.cxx.

1054{
1055 messageDebug("VP1CaloCellController::displayTilePulse(B)...");
1056
1057 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
1058// DrawTilePulse(m_d->UiDigitsSingle->plotDigits,
1059// m_d->UiDigitsSingle->lblPMTGain,
1060// rawchannel,
1061// rawchannel_cont,
1062// digitsize);
1063
1064 messageDebug("displayTilePulse(). End.");
1065}

◆ displayTilePulse() [2/2]

void VP1CaloCellController::displayTilePulse ( const TileRawChannel * rawchannel1,
const TileRawChannel * rawchannel2,
const TileRawChannelContainer * rawchannel_cont,
size_t digitsize )

Definition at line 1016 of file VP1CaloCellController.cxx.

1020{
1021 messageDebug("VP1CaloCellController::displayTilePulse(A)...");
1022
1023 // std::cout << ""
1024 // << "a:" << m_d->UiDigitsDouble->plotDigits_1 << " - "
1025 // << "b:" << m_d->UiDigitsDouble->lblPMTGain_1 << " - "
1026 // << "c:" << rawchannel1 << " - "
1027 // << "m_d:" << rawchannel_cont << " - "
1028 // << "e:" << m_d->UiDigitsDouble->plotDigits_2 << " - "
1029 // << "f:" << m_d->UiDigitsDouble->lblPMTGain_2 << " - "
1030 // << "g:" << rawchannel2 << " - "
1031 // << "h:" << digitsize
1032 // << std::endl;
1033
1034
1035 // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
1036// DrawTilePulse(m_d->UiDigitsDouble->plotDigits_1,
1037// m_d->UiDigitsDouble->lblPMTGain_1,
1038// rawchannel1,
1039// rawchannel_cont,
1040// digitsize);
1041// std::cout << "Drawn digits_1" << std::endl;
1042//
1043// DrawTilePulse(m_d->UiDigitsDouble->plotDigits_2,
1044// m_d->UiDigitsDouble->lblPMTGain_2,
1045// rawchannel2,
1046// rawchannel_cont,
1047// digitsize);
1048// std::cout << "Drawn digits_2" << std::endl;
1049}

◆ drawOptions()

SoGroup * VP1CaloCellController::drawOptions ( ) const

Definition at line 828 of file VP1CaloCellController.cxx.

829{
830 return m_d->ui_visopts.wdgDrawOptions->drawOptionsGroup();
831}

◆ dummyUpdateTrigger

void VP1Controller::dummyUpdateTrigger ( )
signalinherited

◆ enabledButtonStateChanged

void VP1Controller::enabledButtonStateChanged ( )
slotinherited

Definition at line 167 of file VP1Controller.cxx.

168{
169 Imp::DialogInfo * di(0);
170 for (Imp::DialogInfo* di2 : m_d->dialogs) {
171 if (di2->enabledButton==sender()) {
172 di = di2;
173 break;
174 }
175 }
176 if (!di) {
177 message("ERROR: enabledButtonStateChanged() triggered with unrecognised sender() ="
178 +QString(sender()?sender()->objectName():"NULL"));
179 return;
180 }
181
182 bool on(di->enabledButton->isChecked());
183 if (di->launchButton->isEnabled()!=on)
184 di->launchButton->setEnabled(on);
185 if (!on) {
186 if (di->dialogWidget->isVisible())
187 di->dialogWidget->setVisible(false);
188 if (di->dialogWidget->windowState()==Qt::WindowMinimized)
189 di->dialogWidget->setWindowState(Qt::WindowNoState);
190 }
191}

◆ EnableDigitsCheckbox()

void VP1CaloCellController::EnableDigitsCheckbox ( bool enable)

Definition at line 883 of file VP1CaloCellController.cxx.

884{
885 m_d->ui_interact.chbxDigits->setEnabled(enable);
886}

◆ enableUpperThreshold

void VP1CaloCellController::enableUpperThreshold ( )
privateslot

Definition at line 1302 of file VP1CaloCellController.cxx.

1303{
1304 // Which sel2Gui map are we working with? This depends on the active mode (simple/expert)
1305 VP1CCSelectionType2GuiMap* useMap = 0;
1306
1307 if(m_d->ui.rbtnSimple->isChecked())
1308 useMap = &(m_d->sel2GuiSimple);
1309 else
1310 useMap = &(m_d->sel2GuiExpert);
1311
1312 for (const auto& p : *useMap) {
1313 VP1CCUi2Manager* ui = p.second;
1314 ui->upperThresholdSB->setEnabled(!ui->upperThreshOffCB->isChecked());
1315 }
1316}
std::map< VP1CC_SelectionTypes, VP1CCUi2Manager * > VP1CCSelectionType2GuiMap

◆ energyModeEt()

bool VP1CaloCellController::energyModeEt ( ) const

Definition at line 1164 of file VP1CaloCellController.cxx.

1165{
1166 return m_d->ui.rbtnModeEt->isChecked();
1167}

◆ energyModeEtChanged

void VP1CaloCellController::energyModeEtChanged ( bool )
signal

◆ fallBackMaterial()

SoMaterial * VP1Controller::fallBackMaterial ( ) const
protectedinherited

Definition at line 427 of file VP1Controller.cxx.

428{
429 if (!m_d->fallBackMaterial) {
430 m_d->fallBackMaterial = new SoMaterial;
431 m_d->fallBackMaterial->ref();
432 }
433 return m_d->fallBackMaterial;
434}

◆ GetMaterial()

SoMaterial * VP1CaloCellController::GetMaterial ( VP1CC_SeparatorTypes type)

Definition at line 1067 of file VP1CaloCellController.cxx.

1068{
1069 Imp::MatButtonMap::const_iterator it = m_d->matButtonMap.find(type);
1070 if(it!=m_d->matButtonMap.end())
1071 return getMaterial(it->second);
1072 else
1073 return 0;
1074}
SoMaterial * getMaterial(VP1MaterialButton *) const

◆ getMaterial()

SoMaterial * VP1Controller::getMaterial ( VP1MaterialButton * mb) const
protectedinherited

Definition at line 437 of file VP1Controller.cxx.

438{
439 if (!mb) {
440 message("ERROR: Null material button pointer");
441 return fallBackMaterial();
442 }
443 QList<SoMaterial*> mats = mb->handledMaterials();
444 if (mats.count()!=1) {
445 message("ERROR: No material in button "+mb->objectName());
446 return fallBackMaterial();
447 }
448 return mats.at(0);
449
450
451}
SoMaterial * fallBackMaterial() const

◆ globalCuts()

VP1CC_GlobalCuts VP1CaloCellController::globalCuts ( ) const

Definition at line 1169 of file VP1CaloCellController.cxx.

1170{
1171 VP1CC_GlobalCuts globalCuts;
1172 globalCuts.sideA = m_d->ui_cuts.chbxSideA->isChecked();
1173 globalCuts.sideC = m_d->ui_cuts.chbxSideC->isChecked();
1174 globalCuts.allowedEta = m_d->ui_cuts.wdgEtaPhiCut->allowedEta();
1175 globalCuts.allowedPhi = m_d->ui_cuts.wdgEtaPhiCut->allowedPhi();
1176 globalCuts.clipRadius = 10e9;
1177 // no easy way to get the 'current' value since we don't know where in the AnimationSequence we are. Need to rely on this being updated by connections.
1178
1179 return globalCuts;
1180}
VP1CC_GlobalCuts globalCuts() const

◆ globalCutsChanged

void VP1CaloCellController::globalCutsChanged ( const VP1CC_GlobalCuts & )
signal

◆ helperClassName()

const QString & VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51{ return m_helpername; }

◆ initDialog() [1/2]

void VP1Controller::initDialog ( QWidget * dialog,
QPushButton * launchbutton,
QPushButton * closebutton,
QAbstractButton * enabledButton = 0 )
protectedinherited

Definition at line 123 of file VP1Controller.cxx.

124{
125 QString txt(enabledButton?enabledButton->text():launchButton->text());
126 txt.replace("&&","&");
127 dialog->setWindowTitle(txt+" ["+systemBase()->name()+"]");
128 dialog->setWindowIcon(QIcon(QString(":/vp1/icons/icons/3d_32x32.png")));
129 launchButton->setMaximumHeight(static_cast<int>(0.5+QFontMetricsF(launchButton->font()).height()*1.05+2));
130 launchButton->setMinimumHeight(launchButton->maximumHeight());
131 launchButton->setCheckable(true);
132
133 QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
134 sizePolicy.setHorizontalStretch(0);
135 sizePolicy.setVerticalStretch(0);
136 sizePolicy.setHeightForWidth(launchButton->sizePolicy().hasHeightForWidth());
137 launchButton->setSizePolicy(sizePolicy);
138 launchButton->setFocusPolicy(Qt::NoFocus);
139
140 if (enabledButton)
141 launchButton->setEnabled(enabledButton->isChecked());
142
143 m_d->dialogs << new Imp::DialogInfo(launchButton,dialog,enabledButton);
144
145 connect(launchButton,SIGNAL(clicked()),this,SLOT(toggleDialogState()));
146 if (enabledButton)
147 connect(enabledButton,SIGNAL(toggled(bool)),this,SLOT(enabledButtonStateChanged()));
148 CloseEventEater* closeEventEater = new CloseEventEater(this);
149 dialog->installEventFilter(closeEventEater);
150
151 if(closeButton) {
152 closeButton->setText("&Close");
153 closeButton->setToolTip("Close this dialog [Esc]");
154 connect(closeButton,SIGNAL(clicked()),dialog,SLOT(close()));
155 }
156 connect(new QShortcut(QKeySequence(Qt::Key_Escape), dialog),SIGNAL(activated()),dialog,SLOT(close()));
157
158 //To avoid an extra call in the code we do this a few times more than necessary (fixme: put in initLastVars!!):
159 int maxwidth(0);
160 for (Imp::DialogInfo* di : m_d->dialogs)
161 maxwidth = std::max(maxwidth,di->launchButton->sizeHint().width());
162 for (Imp::DialogInfo* di : m_d->dialogs)
163 di->launchButton->setMinimumWidth(maxwidth);
164}
void toggleDialogState(QObject *widget=0)
void enabledButtonStateChanged()
IVP1System * systemBase() const

◆ initDialog() [2/2]

template<class T>
void VP1Controller::initDialog ( T & theUI,
QPushButton * launchbutton,
QAbstractButton * enabledButton = 0 )
protectedinherited

Definition at line 144 of file VP1Controller.h.

144 {
145 QWidget * w = new QWidget(0,Qt::WindowStaysOnTopHint);
146 theUI.setupUi(w);
147 initDialog(w, launchbutton, theUI.pushButton_close,enabledButton);
148}

◆ initLastVars()

void VP1Controller::initLastVars ( )
inherited

Definition at line 68 of file VP1Controller.cxx.

69{
70 m_initVarsMode = true;
72 m_initVarsMode = false;
73}
void testForChanges()

◆ initTilePulse()

void VP1CaloCellController::initTilePulse ( const TileHWID * tile_hw_id,
const TileInfo * tile_info,
const TileCablingService * tile_cabling )

Definition at line 833 of file VP1CaloCellController.cxx.

836{
837 m_tile_hw_id = tile_hw_id;
838 m_tile_info = tile_info;
839 m_tile_cabling = tile_cabling;
840}

◆ initVarsMode()

bool VP1Controller::initVarsMode ( ) const
inlineprotectedinherited

Definition at line 97 of file VP1Controller.h.

97{ return m_initVarsMode; }

◆ message() [1/3]

void VP1HelperClassBase::message ( const QString & str) const
inherited

Definition at line 49 of file VP1HelperClassBase.cxx.

50{
51 if (m_helpername.isEmpty()) {
52 if (m_system)
53 m_system->message(str);
54 else
55 std::cout<<VP1Msg::prefix_msg()<<" [nameless helper class]: "<<str.toStdString()<<std::endl;
56 } else {
57 if (m_system)
58 m_system->message("["+m_helpername+"] " + str);
59 else
60 std::cout<<VP1Msg::prefix_msg()<<" ["<<m_helpername.toStdString()<<"]: "<<str.toStdString()<<std::endl;
61 }
62}
static const char * prefix_msg()
Definition VP1Msg.h:56

◆ message() [2/3]

void VP1HelperClassBase::message ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 131 of file VP1HelperClassBase.cxx.

132{
133 if (addtostart.isEmpty()) {
134 message(l,addtoend);
135 return;
136 }
137 if (addtoend.isEmpty()) {
138 for (const QString& s : l)
139 message(addtostart+s);
140 } else {
141 for (const QString& s : l)
142 message(addtostart+s+addtoend);
143 }
144}

◆ message() [3/3]

void VP1HelperClassBase::message ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 91 of file VP1HelperClassBase.cxx.

92{
93 if (addtoend.isEmpty()) {
94 for (const QString& s : l)
95 message(s);
96 } else {
97 for (const QString& s : l)
98 message(s+addtoend);
99 }
100}

◆ messageDebug() [1/3]

void VP1HelperClassBase::messageDebug ( const QString & str) const
inherited

Definition at line 65 of file VP1HelperClassBase.cxx.

66{
67 if (!VP1Msg::debug())
68 return;
69 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
70 if (m_helpername.isEmpty()) {
71 std::cout<<VP1Msg::prefix_debug()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
72 } else {
73 std::cout<<VP1Msg::prefix_debug()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
74 }
75}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ messageDebug() [2/3]

void VP1HelperClassBase::messageDebug ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 147 of file VP1HelperClassBase.cxx.

148{
149 if (!VP1Msg::debug())
150 return;
151 if (addtostart.isEmpty()) {
152 messageDebug(l,addtoend);
153 return;
154 }
155 if (addtoend.isEmpty()) {
156 for (const QString& s : l)
157 messageDebug(addtostart+s);
158 } else {
159 for (const QString& s : l)
160 messageDebug(addtostart+s+addtoend);
161 }
162}

◆ messageDebug() [3/3]

void VP1HelperClassBase::messageDebug ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 103 of file VP1HelperClassBase.cxx.

104{
105 if (!VP1Msg::debug())
106 return;
107 if (addtoend.isEmpty()) {
108 for (const QString& s : l)
109 messageDebug(s);
110 } else {
111 for (const QString& s : l)
112 messageDebug(s+addtoend);
113 }
114}

◆ messageVerbose() [1/3]

void VP1HelperClassBase::messageVerbose ( const QString & str) const
inherited

Definition at line 78 of file VP1HelperClassBase.cxx.

79{
80 if (!VP1Msg::verbose())
81 return;
82 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
83 if (m_helpername.isEmpty()) {
84 std::cout<<VP1Msg::prefix_verbose()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
85 } else {
86 std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
87 }
88}
static bool verbose()
Definition VP1Msg.h:31
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ messageVerbose() [2/3]

void VP1HelperClassBase::messageVerbose ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 165 of file VP1HelperClassBase.cxx.

166{
167 if (!VP1Msg::verbose())
168 return;
169 if (addtostart.isEmpty()) {
170 messageVerbose(l,addtoend);
171 return;
172 }
173 if (addtoend.isEmpty()) {
174 for (const QString& s : l)
175 messageVerbose(addtostart+s);
176 } else {
177 for (const QString& s : l)
178 messageVerbose(addtostart+s+addtoend);
179 }
180}

◆ messageVerbose() [3/3]

void VP1HelperClassBase::messageVerbose ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 117 of file VP1HelperClassBase.cxx.

118{
119 if (!VP1Msg::verbose())
120 return;
121 if (addtoend.isEmpty()) {
122 for (const QString& s : l)
124 } else {
125 for (const QString& s : l)
126 messageVerbose(s+addtoend);
127 }
128}

◆ possibleChange_energyModeEt

void VP1CaloCellController::possibleChange_energyModeEt ( )
privateslot

◆ possibleChange_globalCuts

void VP1CaloCellController::possibleChange_globalCuts ( )
privateslot

◆ possibleChange_scale

void VP1CaloCellController::possibleChange_scale ( )
privateslot

◆ possibleChange_selectionIntervals

void VP1CaloCellController::possibleChange_selectionIntervals ( )
privateslot

◆ possibleChange_selectionMbts

void VP1CaloCellController::possibleChange_selectionMbts ( )
privateslot

◆ possibleChange_showDigits

void VP1CaloCellController::possibleChange_showDigits ( )
privateslot

◆ possibleChange_showVolumeOutLines

void VP1CaloCellController::possibleChange_showVolumeOutLines ( )
privateslot

◆ restoreSettings()

void VP1Controller::restoreSettings ( const QByteArray & ba)
inherited

Definition at line 387 of file VP1Controller.cxx.

388{
389 messageDebug("VP1Controller::restoreSettings()");
390
391 VP1Deserialise s(ba,systemBase());
393
394 //warn unrestored:
395 if (m_d->collWidget)
396 s.ignoreWidget(m_d->collWidget);
397 s.warnUnrestored(static_cast<QWidget*>(this));
398 for (Imp::DialogInfo* di : m_d->dialogs)
399 s.warnUnrestored(di->dialogWidget);
400
401 QTimer::singleShot(0, this, SLOT(testForChanges()));
402}
virtual void actualRestoreSettings(VP1Deserialise &)=0

◆ saveSettings()

QByteArray VP1Controller::saveSettings ( ) const
inherited

Definition at line 405 of file VP1Controller.cxx.

406{
407 messageDebug("VP1Controller::saveSettings()");
408
409 VP1Serialise s(currentSettingsVersion(),systemBase());
410
411 messageDebug("calling actualSaveSettings()...");
413
414 //Warn unsaved:
415 if (m_d->collWidget)
416 s.ignoreWidget(m_d->collWidget);
417
418 s.warnUnsaved(static_cast<const QWidget*>(this));
419 for (Imp::DialogInfo* di : m_d->dialogs)
420 s.warnUnsaved(di->dialogWidget);
421
422 return s.result();
423
424}
virtual void actualSaveSettings(VP1Serialise &) const =0
virtual int currentSettingsVersion() const =0

◆ scale()

QPair< bool, double > VP1CaloCellController::scale ( ) const

Definition at line 1136 of file VP1CaloCellController.cxx.

1137{
1138 double scl = m_d->ui_visopts.chbxLogscale->isChecked() ? m_d->ui_visopts.dspbxScale->value()*Gaudi::Units::m/log(1+10*Gaudi::Units::GeV) : m_d->ui_visopts.dspbxScale->value()*Gaudi::Units::m/(10*Gaudi::Units::GeV);
1139 return QPair<bool,double>(m_d->ui_visopts.chbxLogscale->isChecked(),scl);
1140}

◆ scaleChanged

void VP1CaloCellController::scaleChanged ( const QPair< bool, double > & )
signal

◆ selectionIntervals()

VP1CCIntervalMap VP1CaloCellController::selectionIntervals ( ) const

Definition at line 1076 of file VP1CaloCellController.cxx.

1077{
1078 // Which sel2Gui map are we working with? This depends on the active mode (simple/expert)
1079 VP1CCSelectionType2GuiMap* useMap = 0;
1080
1081 if(m_d->ui.rbtnSimple->isChecked())
1082 useMap = &(m_d->sel2GuiSimple);
1083 else
1084 useMap = &(m_d->sel2GuiExpert);
1085
1086 VP1CCIntervalMap returnMap;
1087
1088 // Construct a new map of intervals based on values of GUI widgets
1089 for (const auto& p : *useMap) {
1090 // Pointer to the current structure
1091 VP1CCUi2Manager* ui = p.second;
1092
1093 VP1Interval posInterval, negInterval;
1094 bool positiveON = true;
1095 bool negativeON = true;
1096
1097 // If subsystem is unchecked set pos/neg OFF
1098 if(!ui->globalEnableCB->isChecked()) {
1099 positiveON = false;
1100 negativeON = false;
1101 }
1102
1103 // If negative is unchecked set neg OFF
1104 if(!ui->showNegativeCB->isChecked())
1105 negativeON = false;
1106
1107 // If upper threshold is available and lower>upper set pos/neg OFF
1108 if(!ui->upperThreshOffCB->isChecked() &&
1109 ui->lowerThresholdSB->value() > ui->upperThresholdSB->value()){
1110 positiveON = false;
1111 negativeON = false;
1112 }
1113
1114 // Construct new interval for positive cells
1115 if(positiveON){
1116 if(ui->upperThreshOffCB->isChecked())
1117 posInterval.setUpper(VP1Interval::inf());
1118 else {
1119 posInterval.setUpper(ui->upperThresholdSB->value());
1120 posInterval.setOpenUpper(false);
1121 }
1122 posInterval.setLower(ui->lowerThresholdSB->value());
1123 posInterval.setOpenLower(false);
1124 }
1125
1126 // We use the same interval for negative cells as well if they are ON
1127 if(negativeON)
1128 negInterval = posInterval;
1129
1130 returnMap[p.first] = VP1CCIntervalPair(posInterval,negInterval);
1131 }
1132
1133 return returnMap;
1134}
QPair< VP1Interval, VP1Interval > VP1CCIntervalPair
QMap< VP1CC_SelectionTypes, VP1CCIntervalPair > VP1CCIntervalMap
void setOpenUpper(bool openUpper)
void setLower(const double &lower)
void setOpenLower(bool openLower)
static double inf()
Definition VP1Interval.h:25
void setUpper(const double &upper)

◆ selectionIntervalsChanged

void VP1CaloCellController::selectionIntervalsChanged ( const VP1CCIntervalMap & )
signal

◆ selectionMbts()

VP1Interval VP1CaloCellController::selectionMbts ( ) const

Definition at line 1142 of file VP1CaloCellController.cxx.

1143{
1144 VP1Interval returnInterval;
1145 if(m_d->ui.chbxMbts->isChecked()) {
1146 returnInterval.setUpper(VP1Interval::inf());
1147 returnInterval.setLower(m_d->ui_threshmbts.dspbxMbtsThresh->value());
1148 returnInterval.setOpenLower(false);
1149 }
1150
1151 return returnInterval;
1152}

◆ selectionMbtsChanged

void VP1CaloCellController::selectionMbtsChanged ( const VP1Interval & )
signal

◆ setCustomTourEditor()

void VP1Controller::setCustomTourEditor ( VP1CustomTourEditor * editor)
inlinestaticinherited

Definition at line 60 of file VP1Controller.h.

60{ m_customTourEditor=editor;}

◆ setHelperClassName()

void VP1HelperClassBase::setHelperClassName ( const QString & n)
inlineprotectedinherited

Definition at line 59 of file VP1HelperClassBase.h.

◆ setSystemBasePointer()

void VP1HelperClassBase::setSystemBasePointer ( IVP1System * sys)
inherited

Definition at line 197 of file VP1HelperClassBase.cxx.

198{
199 m_system = sys;
200 if (VP1Msg::verbose()){
201 vp1helperclassbase_instanceMap[this] = (m_system?m_system->name():QString(""));
202 }
203}
static std::map< VP1HelperClassBase *, QString > vp1helperclassbase_instanceMap

◆ setupCollWidgetInScrollArea()

void VP1Controller::setupCollWidgetInScrollArea ( QScrollArea * scrollarea,
VP1CollectionWidget * collWidget )
protectedinherited

Definition at line 255 of file VP1Controller.cxx.

256{
257 if (!scrollarea || !collWidget) {
258 message("ERROR: NULL scrollarea or collWidget");
259 return;
260 }
261 QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
262 sizePolicy.setHorizontalStretch(0);
263 sizePolicy.setVerticalStretch(scrollarea->sizePolicy().verticalStretch());
264 sizePolicy.setHeightForWidth(scrollarea->sizePolicy().hasHeightForWidth());
265 scrollarea->setSizePolicy(sizePolicy);
266
267 collWidget->setContentsMargins(0,0,0,0);
268 if (!collWidget->children().isEmpty()&&collWidget->children().at(0)->isWidgetType()) {
269 static_cast<QWidget*>(collWidget->children().at(0))->setContentsMargins(0,0,0,0);
270 }
271 scrollarea->setContentsMargins(0,0,0,0);
272
273 scrollarea->setWidgetResizable(true);
274 scrollarea->setFrameShape(QFrame::NoFrame);
275 scrollarea->setFrameShadow(QFrame::Plain);
276 collWidget->setParent(scrollarea);
277 scrollarea->setWidget(collWidget);
278 scrollarea->viewport()->setContentsMargins(0,0,0,0);
279 scrollarea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
280 collWidget->setObjectName(objectName()+"_CollWidget");
281 scrollarea->setObjectName(objectName()+"_CollWidgetScrollArea");
282 m_d->collWidget = collWidget;
283 connect(collWidget,SIGNAL(visibleContentsChanged()),this,SLOT(collWidgetContentChanged()));
284}
void collWidgetContentChanged()

◆ showDigits()

bool VP1CaloCellController::showDigits ( ) const

Definition at line 1154 of file VP1CaloCellController.cxx.

1155{
1156 return m_d->ui_interact.chbxDigits->isChecked();
1157}

◆ showDigitsChanged

void VP1CaloCellController::showDigitsChanged ( const bool & )
signal

◆ showVolumeOutLines()

bool VP1CaloCellController::showVolumeOutLines ( ) const

Definition at line 1159 of file VP1CaloCellController.cxx.

1160{
1161 return m_d->ui_visopts.chbxShowOutlines->isChecked();
1162}

◆ showVolumeOutLinesChanged

void VP1CaloCellController::showVolumeOutLinesChanged ( bool )
signal

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }
#define y
#define x

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }
#define z

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ systemBase()

IVP1System * VP1HelperClassBase::systemBase ( ) const
inlineinherited

Definition at line 50 of file VP1HelperClassBase.h.

50{ return m_system; }

◆ testForChanges

void VP1Controller::testForChanges ( )
inlineprotectedslotinherited

Definition at line 112 of file VP1Controller.h.

◆ toggleDialogState

void VP1Controller::toggleDialogState ( QObject * widget = 0)
slotinherited

Definition at line 194 of file VP1Controller.cxx.

195{
196 Imp::DialogInfo * di(0);
197 for (Imp::DialogInfo* di2 : m_d->dialogs) {
198 if (di2->launchButton==sender() || (widget && di2->dialogWidget==widget)) {
199 di = di2;
200 break;
201 }
202 }
203
204 if (!di) {
205 message("ERROR: toggleDialogState() triggered with unrecognised sender() ="
206 +QString(sender()?sender()->objectName():"NULL"));
207 return;
208 }
209
210 bool oldvis = di->dialogWidget->isVisible();
211
212 if (oldvis&&di->dialogWidget->windowState()==Qt::WindowMinimized) {
213 di->dialogWidget->setWindowState(Qt::WindowNoState);
214 } else {
215 di->dialogWidget->setVisible(!oldvis);
216 if (!oldvis && di->neverShown) {
217 di->neverShown = false;
218 //do stuff
219 // QSize size(955, 717);
220 // size = size.expandedTo(VP1MainWindow->minimumSizeHint());
221 // di->dialogWidget->resize(di->dialogWidget->minimumSizeHint());
222 }
223 }
224
225 //synchronise toggle button state (for example if this was called by CloseEventEater)
226 if (di->launchButton->isCheckable() && oldvis){
227 di->launchButton->setChecked(false);
228 }
229}

◆ toString() [1/7]

QString VP1CaloCellController::toString ( const QPair< bool, double > & par)
inlinestaticprivate

Definition at line 117 of file VP1CaloCellController.h.

117{ return "<"+QString(par.first?"log":"linear")+", "+QString::number(par.second/(Gaudi::Units::cm/Gaudi::Units::GeV))+" cm/GeV>"; }

◆ toString() [2/7]

template<class T>
QString VP1CaloCellController::toString ( const T & t)
inlinestaticprivate

Definition at line 115 of file VP1CaloCellController.h.

115{ return VP1Controller::toString(t); }//unhide base methods
static QString toString(const T &par)

◆ toString() [3/7]

QString VP1CaloCellController::toString ( const VP1CC_GlobalCuts & cuts)
inlinestaticprivate

Definition at line 118 of file VP1CaloCellController.h.

118{ return "VP1CC global cuts: sideA=" + QString(cuts.sideA?"True":"False") + ", sideC=" + QString(cuts.sideC?"True":"False") + ", allowedEta=" + VP1Controller::toString(cuts.allowedEta) + ", allowedPhi=" + VP1Controller::toString(cuts.allowedEta); }

◆ toString() [4/7]

QString VP1CaloCellController::toString ( const VP1CCIntervalMap & m)
inlinestaticprivate

Definition at line 116 of file VP1CaloCellController.h.

116{ return "VP1CCIntervalMap of size "+QString::number(m.count()); }

◆ toString() [5/7]

QString VP1Controller::toString ( const bool & par)
staticprotectedinherited

Definition at line 100 of file VP1Controller.cxx.

101{
102 return par?"On":"Off";
103}

◆ toString() [6/7]

QString VP1Controller::toString ( const QList< VP1Interval > & l)
staticprotectedinherited

Definition at line 106 of file VP1Controller.cxx.

107{
108 QString s;
109 for(int i=0;i<l.count();++i)
110 s+= l.at(i).toString()+(i==l.count()-1?"":", ");
111 return s;
112}

◆ toString() [7/7]

QString VP1Controller::toString ( SbColor4f p)
staticprotectedinherited

Definition at line 115 of file VP1Controller.cxx.

116{
117 float r, g, b, a;
118 p.getValue(r, g, b, a);
119 return "("+str(r)+", "+str(g)+", "+str(b)+", "+str(1-a)+")";
120}
static Double_t a
int r
Definition globals.cxx:22

◆ verbose()

bool VP1HelperClassBase::verbose ( )
inlinestaticinherited

Definition at line 32 of file VP1HelperClassBase.h.

32{ return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1
static const bool s_vp1verbose

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184{
186 return;
187 std::cout << "WARNING: Detected "<<vp1helperclassbase_instanceMap.size()<<" undeleted helper class instances:"<<std::endl;
188
189 std::map<VP1HelperClassBase*,QString>::iterator it,itE(vp1helperclassbase_instanceMap.end());
190 for (it = vp1helperclassbase_instanceMap.begin();it!=itE;++it) {
191 std::cout << " ==> "<<it->first<<": "<<it->first->m_helpername.toStdString()
192 << (it->second.isEmpty()?QString(""):" (in system "+it->second+")").toStdString()<<std::endl;
193 }
194}

Member Data Documentation

◆ m_customTourEditor

VP1CustomTourEditor * VP1Controller::m_customTourEditor =0
staticprivateinherited

Definition at line 125 of file VP1Controller.h.

◆ m_d

Imp* VP1CaloCellController::m_d
private

Definition at line 108 of file VP1CaloCellController.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_initVarsMode

bool VP1Controller::m_initVarsMode
privateinherited

Definition at line 129 of file VP1Controller.h.

◆ m_system

IVP1System* VP1HelperClassBase::m_system
privateinherited

Definition at line 68 of file VP1HelperClassBase.h.

◆ m_tile_cabling

const TileCablingService* VP1CaloCellController::m_tile_cabling
private

Definition at line 112 of file VP1CaloCellController.h.

◆ m_tile_hw_id

const TileHWID* VP1CaloCellController::m_tile_hw_id
private

Definition at line 110 of file VP1CaloCellController.h.

◆ m_tile_info

const TileInfo* VP1CaloCellController::m_tile_info
private

Definition at line 111 of file VP1CaloCellController.h.

◆ s_vp1verbose

const bool VP1HelperClassBase::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 69 of file VP1HelperClassBase.h.


The documentation for this class was generated from the following files: