16 #define VP1IMPVARNAME m_d 
   19 #include <Inventor/C/errors/debugerror.h> 
   20 #include <Inventor/nodes/SoSelection.h> 
   33 #include "ui_vp1trackcontrollerform.h" 
   34 #include "ui_settings_ascobjs_form.h" 
   35 #include "ui_settings_colouring_form.h" 
   36 #include "ui_settings_extrapolation_form.h" 
   37 #include "ui_settings_interactions_form.h" 
   38 #include "ui_settings_projections_form.h" 
   39 #include "ui_settings_cuts_form.h" 
   40 #include "ui_shift_muon_chamber_form.h" 
   41 #include "ui_objectbrowser.h" 
   64 #include "Inventor/nodes/SoMaterial.h" 
   65 #include "Inventor/nodes/SoDrawStyle.h" 
   66 #include "Inventor/nodes/SoComplexity.h" 
   67 #include "Inventor/nodes/SoLightModel.h" 
   68 #include <Inventor/nodes/SoSeparator.h> 
   69 #include <Inventor/actions/SoSearchAction.h> 
   71 #include "CLHEP/Units/SystemOfUnits.h" 
   73 #include <QTreeWidget> 
   74 #include <QTreeWidgetItem> 
   75 #include <QtCoreVersion> 
   84   Ui::VP1TrackControllerForm 
ui{};
 
  146   Ui::TrackSysSettingsColouringForm 
ui_col{};
 
  148   Ui::TrackSysSettingsInteractionsForm 
ui_int{};
 
  149   Ui::TrackSysSettingsProjectionsForm 
ui_proj{};
 
  176   for(
unsigned i : 
l) {
 
  177     if (!
s.isEmpty()) 
s+=
", ";
 
  188     if (!
s.isEmpty()) 
s+=
", ";
 
  202   QString tooltype(
"Trk::Extrapolator");
 
  209 #if QTCORE_VERSION >= 0x050E00 
  215     if (existingExtrapolators.contains(
key))
 
  217     sys->messageDebug(
"Attempting creation of fitter with tooltype/key "+
key);
 
  220       sys->message(
"WARNING: Could not create tool type/key "+
key);
 
  229   if (fittersCreated||!
sys)
 
  231   fittersCreated = 
true;
 
  234   QStringList fittertypes;
 
  235   fittertypes << 
"Trk::KalmanFitter" 
  236         << 
"Trk::GlobalChi2Fitter" 
  237         << 
"Trk::GaussianSumFilter" 
  238         << 
"Trk::DistributedKalmanFilter" 
  239         << 
"Trk::DeterministicAnnealingFilter";
 
  246 #if QTCORE_VERSION >= 0x050E00 
  252     if (existingFitters.contains(
instance))
 
  254     sys->messageDebug(
"Attempting creation of fitter with tooltype/key "+
instance);
 
  257       sys->message(
"WARNING: Could not create tool with type/key "+
instance);
 
  276   m_d->
ui.setupUi(
this);
 
  322     m_d->
ui_proj.checkBox_projections_muonchambers->setChecked(
false);
 
  323     m_d->
ui_proj.checkBox_projections_muonchambers->setEnabled(
false);
 
  328     m_d->
ui_proj.checkBox_projections_indet->setChecked(
false);
 
  329     m_d->
ui_proj.checkBox_projections_indet->setEnabled(
false);
 
  510   l<<
"Object"<<
"Information";
 
  517     QWidget *widget = 
new QWidget;
 
  525   m_d->
ui_int.checkBox_selsingle_printinfo->setChecked(
true);
 
  546     messageVerbose(
"Setting up tool helper to monitor extrapolators - start");
 
  553     messageVerbose(
"Setting up tool helper to monitor extrapolators - end");
 
  555     messageVerbose(
"Setting up tool helper to monitor fitters - start");
 
  557     QStringList fittertypes;
 
  558     fittertypes << 
"Trk::KalmanFitter" 
  559                 << 
"Trk::GlobalChi2Fitter" 
  560                 << 
"Trk::GaussianSumFilter" 
  561                 << 
"Trk::DistributedKalmanFilter" 
  562                 << 
"Trk::DeterministicAnnealingFilter";
 
  567     messageVerbose(
"Setting up tool helper to monitor fitters - end");
 
  574     m_d->
ui_extrap.radioButton_athenaExtrapolator->setEnabled(
false);
 
  578     m_d->
ui_int.comboBox_fitters->setEnabled(
false);
 
  622   ui_col.matButton_electrons->setMaterial(createMaterial(255,0,0)); 
 
  623   ui_col.matButton_muons->setMaterial(createMaterial(71,255,51));
 
  626   ui_col.matButton_pions->setMaterial(createMaterial(74,146,255));
 
  627   ui_col.matButton_protons->setMaterial(createMaterial(56,49,255));
 
  628   ui_col.matButton_chargedkaons->setMaterial(createMaterial(116,255,228));
 
  629   ui_col.matButton_othercharged->setMaterial(createMaterial(142,163,255));
 
  632   ui_col.matButton_neutrons->setMaterial(createMaterial(245,255,42));
 
  633   ui_col.matButton_photons->setMaterial(createMaterial(255,227,82));
 
  634   ui_col.matButton_neutrinos->setMaterial(createMaterial(255,152,61));
 
  635   ui_col.matButton_otherneutrals->setMaterial(createMaterial(248,255,102));
 
  638   ui_col.matButton_charge_pos->setMaterial(createMaterial(255,71,10));
 
  639   ui_col.matButton_charge_neg->setMaterial(createMaterial(116,255,10));
 
  640   ui_col.matButton_charge_neutral->setMaterial(createMaterial(255,227,82));
 
  643   ui_col.matButton_0GeV->setMaterial(createMaterial(0,50,0));
 
  644   ui_col.matButton_15GeV->setMaterial(createMaterial(0,255,0));
 
  647   ui_ascobjs.matButton_measurements->setMaterial(createMaterial(55,200,55));
 
  648   ui_ascobjs.matButton_meas_outliers->setMaterial(createMaterial(155,155,155));
 
  649   ui_ascobjs.matButton_parameters->setMaterial(createMaterial(100,150,200));
 
  650   ui_ascobjs.matButton_holeParameters->setMaterial(createMaterial(100,100,100));
 
  651   ui_ascobjs.matButton_parerrors->setMaterial(createMaterial(255,100,0));
 
  652   SoMaterial * materialeffectsontrackMat = createMaterial(200,255,75);
 
  653   materialeffectsontrackMat->transparency=0.5;
 
  654   ui_ascobjs.matButton_materialeffectsontrack->setMaterial(materialeffectsontrackMat);
 
  655   ui_ascobjs.matButton_surfaces->setMaterial(createMaterial(228,210,165));
 
  702     s.save(QString(
"TrackSystemSettings"));
 
  714     s.save(QString(
"Projections options"));
 
  716     s.save(
m_d->
ui_proj.checkBox_projections_muonchambers);
 
  719     s.save(
m_d->
ui_proj.horizontalSlider_projections_vertex);
 
  732   s.save(QString(
"Propagation options"));
 
  743   s.save(QString(
"Interactions options"));
 
  744   s.save(
m_d->
ui_int.lineEdit_fittedTrackCollName);
 
  763   s.save(QString(
"Colour options"));
 
  794   s.save(QString(
"Cuts options"));
 
  816   s.save(
m_d->
ui_cuts.checkBox_cut_truthtracks_creationvertexinIR);
 
  817   s.save(
m_d->
ui_cuts.checkBox_cut_truthtracks_excludeneutrals);
 
  818   s.save(
m_d->
ui_cuts.checkBox_cut_truthtracks_excludebarcode0);
 
  829     s.save(QString(
"Interactions options"));
 
  831   s.save(
m_d->
ui_int.radioButton_selmode_single,
 
  832          m_d->
ui_int.radioButton_selmode_multitracks,
 
  833          m_d->
ui_int.radioButton_selmode_trackfits);
 
  835   s.save(
m_d->
ui_int.checkBox_selsingle_printinfo);
 
  836   s.save(
m_d->
ui_int.checkBox_selsingle_printinfo_verbose);
 
  837   s.save(
m_d->
ui_int.checkBox_selsingle_orientzoom);
 
  849     s.save(QString(
"AscObjs options"));
 
  851   s.save(
m_d->
ui_ascobjs.checkBox_materialeffectsontrack_forceposontrack);
 
  860   s.save(
m_d->
ui_ascobjs.checkBox_usecolour_materialeffectsontrack);
 
  878   s.save(
m_d->
ui_ascobjs.horizontalSlider_materialeffectsontrack_scale);
 
  887   s.save(
m_d->
ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale);
 
  894   s.save(QString(
"Colouring options"));
 
  897   s.save(
m_d->
ui_col.horizontalSlider_labels_trkOffset);
 
  898   s.save(
m_d->
ui_col.horizontalSlider_labels_xOffset);
 
  899   s.save(
m_d->
ui_col.horizontalSlider_labels_yOffset);
 
  900   s.save(
m_d->
ui_col.horizontalSlider_labels_zOffset);
 
  905   s.save(
m_d->
ui_col.checkBox_trkLabels_fitQuality);
 
  906   s.save(
m_d->
ui_col.checkBox_trkLabels_direction);
 
  915   s.save(QString(
"Extrapolator options"));
 
  925   messageVerbose(
"TrackSystemController::actualSaveSettings() - DONE.");
 
  932     messageDebug(
"TrackSystemController::actualRestoreSettings()");
 
  946     message(
"Warning: State data in .vp1 file has unsupported version ("+
str(
s.version())+
")");
 
  950   if (
s.version()<17) {
 
  951     message(
"Warning: the VP1 GUI has changed since .vp1 file format version ("+
str(
s.version())+
"), which means you will have lost the line thickness etc. settings formally found in the Colouring pop-up dialogue.");
 
  954   if (
s.version()<17) {
 
  957       QString 
tt = 
s.restoreString();
 
  959       if (
tt != 
"TrackSystemSettings") {
 
  960           messageDebug(
"\n\nERROR!! Settings order does not match!!");
 
  987   if (
s.version()>=17 &&  
s.restoreString() != 
"Projections options") 
messageDebug(
"\n\nERROR! --> 'Projections options'");
 
  988   s.restore(
m_d->
ui_proj.checkBox_projections_indet);
 
  989   s.restore(
m_d->
ui_proj.checkBox_projections_muonchambers);
 
  990   if (
s.version()>=15){
 
  991     s.restore(
m_d->
ui_proj.groupBox_projections_vertex); 
 
  992     s.restore(
m_d->
ui_proj.spinBox_projections_vertex);
 
  993     s.restore(
m_d->
ui_proj.horizontalSlider_projections_vertex);
 
 1008   if (
s.version()<17){
 
 1020   if (
s.version()>=17 && 
s.restoreString() != 
"Propagation options") 
messageDebug(
"\n\nERROR! --> 'Propagation options'");
 
 1033   if (
s.version()>=17 && 
s.restoreString() != 
"Interactions options") 
messageDebug(
"\n\nERROR! --> 'Interactions options'");
 
 1034   if (
s.version()>=6) {
 
 1035     s.restore(
m_d->
ui_int.lineEdit_fittedTrackCollName);
 
 1037     s.widgetHandled(
m_d->
ui_int.comboBox_fitters);
 
 1047   if (
s.version()==0) {
 
 1057   if (
s.version()<=2) {
 
 1067   if (
s.version()>=17 && 
s.restoreString() != 
"Colour options") 
messageDebug(
"\n\nERROR! --> 'Colour options'");
 
 1073   s.restore(
m_d->
ui_col.matButton_chargedkaons);
 
 1074   s.restore(
m_d->
ui_col.matButton_othercharged);
 
 1078   s.restore(
m_d->
ui_col.matButton_otherneutrals);
 
 1079   if (
s.version()>=2) {
 
 1083     s.restore(
m_d->
ui_col.matButton_charge_neutral);
 
 1096   if (
s.version()>=17 && 
s.restoreString() != 
"Cuts options") 
messageDebug(
"\n\nERROR! --> 'Cuts options'");
 
 1099   s.restore(
m_d->
ui_cuts.doubleSpinBox_cut_minpt_gev);
 
 1101   s.restore(
m_d->
ui_cuts.doubleSpinBox_cut_maxpt_gev);
 
 1103   if (
s.version()>=10) {
 
 1107   if (
s.version()>=7) {
 
 1115     s.ignoreObsoletePhiSectionWidgetState();
 
 1118   if (
s.version()>=9) {
 
 1130   s.restore(
m_d->
ui_cuts.checkBox_cut_truthtracks_creationvertexinIR);
 
 1131   s.restore(
m_d->
ui_cuts.checkBox_cut_truthtracks_excludeneutrals);
 
 1132   s.restore(
m_d->
ui_cuts.checkBox_cut_truthtracks_excludebarcode0);
 
 1134   if (
s.version()>=14) 
s.restore(
m_d->
ui_cuts.checkBox_vertexAssociated);
 
 1142   if (
s.version()>=17 && 
s.restoreString() != 
"Interactions options") 
messageDebug(
"\n\nERROR! --> 'Interactions options'");
 
 1144   s.restore(
m_d->
ui_int.radioButton_selmode_single,
 
 1145         m_d->
ui_int.radioButton_selmode_multitracks,
 
 1146         m_d->
ui_int.radioButton_selmode_trackfits);
 
 1148   s.restore(
m_d->
ui_int.checkBox_selsingle_printinfo);
 
 1149   s.restore(
m_d->
ui_int.checkBox_selsingle_printinfo_verbose);
 
 1150   s.restore(
m_d->
ui_int.checkBox_selsingle_orientzoom);
 
 1151   s.restore(
m_d->
ui_int.checkBox_sel_printtotmom);
 
 1152   s.restore(
m_d->
ui_int.checkBox_sel_showtotmom);
 
 1153   if (
s.version()>=12){
 
 1155     s.restore(
m_d->
ui_int.checkBox_removeOutliers);
 
 1156     s.restore(
m_d->
ui_int.comboBox_particleHypo);
 
 1167   if (
s.version()>=17 && 
s.restoreString() != 
"AscObjs options") 
messageDebug(
"\n\nERROR! --> 'AscObjs options'");
 
 1169   s.restore(
m_d->
ui_ascobjs.checkBox_materialeffectsontrack_forceposontrack);
 
 1170   s.restore(
m_d->
ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE);
 
 1173   if (
s.version()>=11) 
s.restore(
m_d->
ui_ascobjs.checkBox_measurements_drawGP);
 
 1177   if (
s.version()>=11) 
s.restore(
m_d->
ui_ascobjs.checkBox_surfaces_hidetubesurfaces);
 
 1178   s.restore(
m_d->
ui_ascobjs.checkBox_usecolour_materialeffectsontrack);
 
 1181   if (
s.version()<12) 
s.restore(
m_d->
ui_ascobjs.checkBox_parametererrors); 
 
 1184   if (
s.version()>=14)
 
 1190   if (
s.version()>=12) {
 
 1199   s.restore(
m_d->
ui_ascobjs.horizontalSlider_materialeffectsontrack_scale);
 
 1205   if (
s.version()>=14)
 
 1210     s.restore(
m_d->
ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale);
 
 1223   if (
s.version()>=17 && 
s.restoreString() != 
"Colouring options") 
messageDebug(
"\n\nERROR! --> 'Colouring options'");
 
 1224   if (
s.version()>=12){
 
 1226     s.restore(
m_d->
ui_col.horizontalSlider_labels_trkOffset);
 
 1227     s.restore(
m_d->
ui_col.horizontalSlider_labels_xOffset);
 
 1228     s.restore(
m_d->
ui_col.horizontalSlider_labels_yOffset);
 
 1229     s.restore(
m_d->
ui_col.horizontalSlider_labels_zOffset);
 
 1231     s.restore(
m_d->
ui_col.checkBox_trkLabels_Pt);
 
 1232     s.restore(
m_d->
ui_col.checkBox_trkLabels_pid);
 
 1233     s.restore(
m_d->
ui_col.checkBox_trkLabels_hits);
 
 1234     s.restore(
m_d->
ui_col.checkBox_trkLabels_fitQuality);
 
 1236   if (
s.version()>=16)
 
 1237     s.restore(
m_d->
ui_col.checkBox_trkLabels_direction);
 
 1245   if (
s.version()>=17 && 
s.restoreString() != 
"Extrapolator options") 
messageDebug(
"\n\nERROR! --> 'Extrapolator options'");
 
 1246   if (
s.version()>=14){
 
 1249     s.restore(
m_d->
ui_extrap.comboBox_extendAllInDetTracksToHere); 
 
 1253   if (
s.version()>=15){
 
 1261   messageDebug(
"TrackSystemController::actualRestoreSettings() - DONE.");
 
 1277     theclass->message(
"ERROR: Null material button pointer");
 
 1278     return materialFallback;
 
 1280   QList<SoMaterial*> mats = 
mb->handledMaterials();
 
 1281   if (mats.count()!=1) {
 
 1282     theclass->message(
"ERROR: No material in button");
 
 1283     return materialFallback;
 
 1292   int abspdg = abs(pdgCode);
 
 1294   case 211:  matbutton = 
m_d->
ui_col.matButton_pions; 
break;
 
 1295   case 11:   matbutton = 
m_d->
ui_col.matButton_electrons; 
break;
 
 1296   case 22:   matbutton = 
m_d->
ui_col.matButton_photons; 
break;
 
 1297   case 13:   matbutton = 
m_d->
ui_col.matButton_muons; 
break;
 
 1298   case 2212: matbutton = 
m_d->
ui_col.matButton_protons; 
break;
 
 1299   case 2112: matbutton = 
m_d->
ui_col.matButton_neutrons; 
break;
 
 1309     matbutton = 
m_d->
ui_col.matButton_chargedkaons; 
break;
 
 1314     matbutton = 
m_d->
ui_col.matButton_neutrinos; 
break;
 
 1320       message(
"WARNING: Could not look up charge of pdg code "+
str(abspdg)+
". Assuming charged.");
 
 1324       matbutton = 
m_d->
ui_col.matButton_otherneutrals;
 
 1326       matbutton = 
m_d->
ui_col.matButton_othercharged;
 
 1349   else if (absmom>=high)
 
 1355   const double x = (absmom-low)/(high-low);
 
 1439   const double val = std::min<double>(1.0,std::max<double>(0.0,0.01+0.991*
 
 1442         (
m_d->
ui_ascobjs.horizontalSlider_complexity->maximum()*1.0)));
 
 1474   QString 
name = 
m_d->
ui_int.lineEdit_fittedTrackCollName->text().simplified();
 
 1475   return name.isEmpty() ? 
"<noname>" : 
name;
 
 1493   if (!
m_d->
ui_proj.groupBox_projections_vertex->isChecked()) 
return -1;
 
 1494   return m_d->
ui_proj.spinBox_projections_vertex->value();
 
 1512     if (!
m_d->
ui_ascobjs.checkBox_parerror_hideperigeeerrors->isChecked())
 
 1524     if (!
m_d->
ui_ascobjs.checkBox_surfaces_hidecustomsurfaces->isChecked())
 
 1526     if (!
m_d->
ui_ascobjs.checkBox_surfaces_hidetubesurfaces->isChecked())
 
 1529   if (
m_d->
ui_ascobjs.groupBox_materialeffectsontrack->isChecked()) {
 
 1531     if (!
m_d->
ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE->isChecked())
 
 1542   if (
m_d->
ui_ascobjs.checkBox_usecolour_measurements->isChecked())
 
 1544   if (
m_d->
ui_ascobjs.checkBox_usecolour_meas_outliers->isChecked())
 
 1546   if (
m_d->
ui_ascobjs.checkBox_usecolour_parameters->isChecked())
 
 1548   if (
m_d->
ui_ascobjs.checkBox_useHoleColour_parameters->isChecked())
 
 1550   if (
m_d->
ui_ascobjs.checkBox_usecolour_parametererrors->isChecked())
 
 1552   if (
m_d->
ui_ascobjs.checkBox_usecolour_materialeffectsontrack->isChecked())
 
 1554   if (
m_d->
ui_ascobjs.checkBox_usecolour_surfaces->isChecked())
 
 1563   return m_d->
ui_ascobjs.checkBox_measurements_shorttubes_trt->isChecked();
 
 1569   return m_d->
ui_ascobjs.checkBox_measurements_shorttubes_mdt->isChecked();
 
 1575   return m_d->
ui_ascobjs.checkBox_surfaces_hidetubesurfaces->isChecked();
 
 1581   return m_d->
ui_ascobjs.checkBox_surfaces_hidecustomsurfaces->isChecked();
 
 1587   return m_d->
ui_ascobjs.checkBox_measurements_drawGP->isChecked();
 
 1600   return std::min<double>(1.0
e3,std::max<double>(1.0
e-3,
m_d->
ui_ascobjs.doubleSpinBox_parerror_stddev->value()));
 
 1606   return m_d->
ui_ascobjs.checkBox_parerror_drawcylinder->isChecked();
 
 1622   const int n(1+
static_cast<int>(0.5+7.0*(
val-
min)/(1.0*
max)));
 
 1623   return std::min<int>(32,std::max<int>(4,4*
n));
 
 1629   return m_d->
ui_ascobjs.horizontalSlider_materialeffectsontrack_scale->value()/5.0;
 
 1636       ||!
m_d->
ui_extrap.radioButton_athenaExtrapolator->isChecked()
 
 1654   if (!
m_d->
ui_extrap.checkBox_maxRadius->isChecked())   
return -1.0;
 
 1664   return m_d->
ui_extrap.checkBox_ignoreMEoT->isChecked();
 
 1671       ||
m_d->
ui_int.comboBox_fitters->count()==0)
 
 1674   QString 
key = 
m_d->
ui_int.comboBox_fitters->currentText();
 
 1682   QString 
key = 
"Muon::MuonEDMPrinterTool/MuonEDMPrinterTool";
 
 1693   if (
m_d->
ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()==
"Calorimeter")
 
 1695   if (
m_d->
ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()==
"Muon Entrance")
 
 1697   if (
m_d->
ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()==
"Muon Exit")
 
 1705   if (
m_d->
ui_int.radioButton_selmode_single->isChecked())
 
 1707   else if (
m_d->
ui_int.radioButton_selmode_multitracks->isChecked())
 
 1709   else if (
m_d->
ui_int.radioButton_selmode_trackfits->isChecked())
 
 1711   message(
"selectionMode ERROR: Inconsistency detected.");
 
 1717   if (
m_d->
ui_int.comboBox_fitterMode->currentText()==
"Fit PRDs")
 
 1719   else if (
m_d->
ui_int.comboBox_fitterMode->currentText()==
"Refit Track")
 
 1721   else if (
m_d->
ui_int.comboBox_fitterMode->currentText()==
"Extend Track with PRDs")
 
 1723   else if (
m_d->
ui_int.comboBox_fitterMode->currentText()==
"Combine Two Tracks")
 
 1726   message(
"fitterMode ERROR: Inconsistency detected. Mode not known.");
 
 1733   return m_d->
ui_int.checkBox_removeOutliers->isChecked();
 
 1738   if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Pion")
 
 1740    else if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Non Interacting")
 
 1742    else if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Electron")
 
 1744    else if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Muon")
 
 1746    else if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Kaon")
 
 1748    else if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Proton")
 
 1750    else if (
m_d->
ui_int.comboBox_particleHypo->currentText()==
"Photon")
 
 1753    message(
"fitterMode ERROR: Inconsistency detected. Mode not known.");
 
 1760   return m_d->
ui_ascobjs.checkBox_truthtracks_display_points->isChecked();
 
 1766   if (
m_d->
ui_ascobjs.comboBox_assocobj_detaillevel->currentText()==
"Auto")
 
 1768   else if (
m_d->
ui_ascobjs.comboBox_assocobj_detaillevel->currentText()==
"Simple")
 
 1775   if (
m_d->
ui_cuts.checkBox_vertexAssociated->isEnabled()!=
b) {
 
 1776     m_d->
ui_cuts.checkBox_vertexAssociated->setEnabled(
b);
 
 1782   if (!
m_d->
ui_cuts.checkBox_vertexAssociated->isEnabled()) 
return false;
 
 1783   return m_d->
ui_cuts.checkBox_vertexAssociated->isChecked();
 
 1798   bool isPCut = 
m_d->
ui_cuts.comboBox_momtype->currentText()==
"P";
 
 1806     min = (
m_d->
ui_cuts.checkBox_cut_minpt->isChecked() ? minFromInterface : -std::numeric_limits<double>::infinity());
 
 1807     max = (
m_d->
ui_cuts.checkBox_cut_maxpt->isChecked() ? maxFromInterface : std::numeric_limits<double>::infinity());
 
 1809     min = (
m_d->
ui_cuts.checkBox_cut_maxpt->isChecked() ? -maxFromInterface : -std::numeric_limits<double>::infinity());
 
 1810     max = (
m_d->
ui_cuts.checkBox_cut_minpt->isChecked() ? -minFromInterface : std::numeric_limits<double>::infinity());
 
 1824   return m_d->
ui_cuts.etaPhiCutWidget->allowedEta();
 
 1830   return m_d->
ui_cuts.etaPhiCutWidget->allowedPhi();
 
 1836   unsigned npixel = 
m_d->
ui_cuts.checkBox_cut_nhits_pixel->isChecked() ? 
m_d->
ui_cuts.spinBox_cut_nhits_pixel->value() : 0;
 
 1837   unsigned nsct = 
m_d->
ui_cuts.checkBox_cut_nhits_sct->isChecked() ? 
m_d->
ui_cuts.spinBox_cut_nhits_sct->value() : 0;
 
 1838   unsigned ntrt = 
m_d->
ui_cuts.checkBox_cut_nhits_trt->isChecked() ? 
m_d->
ui_cuts.spinBox_cut_nhits_trt->value() : 0;
 
 1839   unsigned nmuon = 
m_d->
ui_cuts.checkBox_cut_nhits_muon->isChecked() ? 
m_d->
ui_cuts.spinBox_cut_nhits_muon->value() : 0;
 
 1840   unsigned nprecmuon = 
m_d->
ui_cuts.checkBox_cut_nprecisionhits_muon->isChecked() ? 
m_d->
ui_cuts.spinBox_cut_nprecisionhits_muon->value() : 0;
 
 1843   if (!npixel&&!nsct&&!ntrt&&!nmuon&&!nprecmuon)
 
 1845   l << npixel << nsct << ntrt << nmuon << nprecmuon;
 
 1850   QString 
tmp = 
m_d->
ui_cuts.checkBox_requireDetectorElement->isChecked() ? 
m_d->
ui_cuts.lineEdit_detectorElementId->text(): QString();
 
 1858   return m_d->
ui_cuts.checkBox_cut_truthtracks_creationvertexinIR->isChecked();
 
 1864   return m_d->
ui_cuts.checkBox_cut_truthtracks_excludebarcode0->isChecked();
 
 1870   return m_d->
ui_cuts.checkBox_cut_truthtracks_excludeneutrals->isChecked();
 
 1878   QString 
ct = cb->currentText();
 
 1882   bool save = cb->blockSignals(
true);
 
 1886   bool enabled = 
false;
 
 1889     cb->setEnabled(
false);
 
 1893     int i = restoredSelection.isEmpty() ? -1 : cb->findText(restoredSelection);
 
 1895       i = 
ct.isEmpty() ? -1 : cb->findText(
ct);
 
 1896     restoredSelection = 
"";
 
 1899       cb->setCurrentIndex(
i);
 
 1903       int i_vp1(-1), i_atlas(-1);
 
 1904       for (
int j = 0; j <cb->count();++j) {
 
 1905         if (i_vp1==-1&&cb->itemText(j).contains(
"vp1",Qt::CaseInsensitive))
 
 1907         if (i_atlas==-1&&cb->itemText(j).contains(
"atlas",Qt::CaseInsensitive))
 
 1911         cb->setCurrentIndex(i_vp1);
 
 1912       else if (i_atlas>=0)
 
 1913         cb->setCurrentIndex(i_atlas);
 
 1917     cb->setEnabled(
true);
 
 1921     cb->blockSignals(
false);
 
 1945     m_d->
ui_extrap.radioButton_athenaExtrapolator->setEnabled(
false);
 
 1946     bool save1 = 
m_d->
ui_extrap.radioButton_none->blockSignals(
true);
 
 1947     bool save2 = 
m_d->
ui_extrap.radioButton_helical->blockSignals(
true);
 
 1948     bool save3 = 
m_d->
ui_extrap.radioButton_athenaExtrapolator->blockSignals(
true);
 
 1951     m_d->
ui_extrap.radioButton_athenaExtrapolator->setChecked(
false);
 
 1952     if (!save1) 
m_d->
ui_extrap.radioButton_none->blockSignals(
false);
 
 1953     if (!save2) 
m_d->
ui_extrap.radioButton_helical->blockSignals(
false);
 
 1954     if (!save3) 
m_d->
ui_extrap.radioButton_athenaExtrapolator->blockSignals(
false);
 
 1956     m_d->
ui_extrap.radioButton_athenaExtrapolator->setEnabled(
true);
 
 1965   return m_d->
ui_int.checkBox_selsingle_orientzoom->isChecked();
 
 1971   return m_d->
ui_int.checkBox_selsingle_printinfo->isChecked();
 
 1983   return m_d->
ui_int.checkBox_sel_printtotmom->isChecked();
 
 1989   return m_d->
ui_int.checkBox_sel_showtotmom->isChecked();
 
 2009   switch (theclass->fitterMode()) {
 
 2010     case TrackCommonFlags::FROMPRDS: ui_int.pushButton_refit->setEnabled( numberOfSelectedPRDs>=3 && theclass->trackFitter() );
break;
 
 2068     messageVerbose(
"TrackSystemController::objectBrowserClicked: Couldn't get VP1TrackSystem pointer");
 
 2100         if (trkProxyHandle){
 
 2107       messageVerbose(
"TrackSystemController::objectBrowserClicked: Couldn't get node pointer. Maybe object not visible?");
 
 2159   std::vector<double> 
values(6,0.0);
 
 2183   return m_d->
ui_col.groupBox_labels->isChecked();
 
 2188   return static_cast<float>(
m_d->
ui_col.horizontalSlider_labels_trkOffset->value())/
static_cast<float>(
m_d->
ui_col.horizontalSlider_labels_trkOffset->maximum());
 
 2202   return m_d->
ui_col.horizontalSlider_labels_xOffset->value();
 
 2207   return m_d->
ui_col.horizontalSlider_labels_yOffset->value();
 
 2212   return m_d->
ui_col.horizontalSlider_labels_zOffset->value();
 
 2216   if (!
m_d->
ui_col.groupBox_labels->isChecked())
 
 2232 #define VP1CONTROLLERCLASSNAME TrackSystemController