20#define VP1IMPVARNAME m_d
24#include "ui_guidelinescontrollerform.h"
25#include "ui_guides_settings_coordinateaxes_form.h"
26#include "ui_guides_settings_etacones_form.h"
27#include "ui_guides_settings_floorandletters_form.h"
28#include "ui_guides_settings_people_form.h"
29#include "ui_guides_settings_grid_form.h"
30#include "ui_guides_settings_idprojsurfs_form.h"
31#include "ui_guides_settings_trkvolumes_form.h"
32#include "ui_guides_settings_lines_form.h"
33#include "ui_guides_settings_hgtdguides_form.h"
39 #include "GeoModelKernel/Units.h"
40 #define SYSTEM_OF_UNITS GeoModelKernelUnits
42 #include "GaudiKernel/SystemOfUnits.h"
43 #define SYSTEM_OF_UNITS Gaudi::Units
52 Ui::VP1GuidesControllerForm
ui{};
53 Ui::VP1GuidesSysSettingsCoordinateAxesForm
ui_axes{};
57 Ui::VP1GuidesSysSettingsGridForm
ui_grid{};
63 static SbColor4f
color4f(
const QColor& col,
int transp_int) {
64 return SbColor4f(std::max<float>(0.0f,std::min<float>(1.0f,col.redF())),
65 std::max<float>(0.0f,std::min<float>(1.0f,col.greenF())),
66 std::max<float>(0.0f,std::min<float>(1.0f,col.blueF())),
67 std::max<float>(0.0f,std::min<float>(1.0f,1.0-transp_int/100.0)));
121 static InDetProjFlags::InDetProjPartsFlags
projPartsFlag(
bool barrelinner,
bool barrelouter,
122 bool endcapinner,
bool endcapouter,
123 bool endcap_hidenormalcyls_when_zasr =
false,
124 bool endcap_zasr =
false );
134 m_d->theclass =
this;
135 m_d->ui.setupUi(
this);
137 initDialog(
m_d->ui_axes,
m_d->ui.pushButton_settings_coordinateAxes,
m_d->ui.checkBox_coordinateAxes);
138 initDialog(
m_d->ui_etacones,
m_d->ui.pushButton_settings_etaCones,
m_d->ui.checkBox_etaCones);
139 initDialog(
m_d->ui_floorandletters,
m_d->ui.pushButton_settings_floorAndLetters,
m_d->ui.checkBox_floorAndLetters);
142 initDialog(
m_d->ui_idprojsurfs,
m_d->ui.pushButton_settings_inDetProjSurfs,
m_d->ui.checkBox_inDetProjSurfs);
143 initDialog(
m_d->ui_trkvolumes,
m_d->ui.pushButton_settings_trkVolumes,
m_d->ui.checkBox_trkVolumes);
145 initDialog(
m_d->ui_hgtdguides,
m_d->ui.pushButton_settings_hgtdGuideLines,
m_d->ui.checkBox_hgtdGuideLines);
148 m_d->ui_idprojsurfs.groupBox_pixelproj->setVisible(
false);
149 m_d->ui_idprojsurfs.groupBox_sctproj->setVisible(
false);
154 QButtonGroup * pixelproj_barrel_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner,
155 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer,
156 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both);
157 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner->setChecked(
true);
158 QButtonGroup * pixelproj_endcap_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner,
159 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer,
160 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both);
161 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner->setChecked(
true);
164 QButtonGroup * sctproj_barrel_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner,
165 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer,
166 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both);
167 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner->setChecked(
true);
168 QButtonGroup * sctproj_endcap_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner,
169 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer,
170 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both);
171 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner->setChecked(
true);
174 QButtonGroup * trtproj_barrel_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner,
175 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer,
176 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both);
177 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner->setChecked(
true);
178 QButtonGroup * trtproj_endcap_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner,
179 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer,
180 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both);
181 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner->setChecked(
true);
184 m_d->ui_floorandletters.colorButton_floor->setColor(QColor::fromRgbF(0.5,0.5,0.5));
185 m_d->ui_people.colorButton_people->setColor(QColor::fromRgbF(0.5,0.5,0.5));
186 m_d->ui_grid.colorButton_grid->setColor(QColor::fromRgbF(1.0,1.0,1.0));
449 return m_d->ui.checkBox_floorAndLetters->isChecked() &&
450 m_d->ui_floorandletters.checkBox_floorenabled->isChecked();
456 return m_d->ui.checkBox_people->isChecked() &&
457 m_d->ui_people.checkBox_peopleenabled->isChecked();
463 return Imp::color4f(
m_d->ui_floorandletters.colorButton_floor->color(),
m_d->ui_floorandletters.spinBox_floortransp->value());
469 return Imp::color4f(
m_d->ui_people.colorButton_people->color(),
m_d->ui_people.spinBox_peopletransp->value());
476 return m_d->ui_floorandletters.doubleSpinBox_floorextent->value()*SYSTEM_OF_UNITS::m;
482 return m_d->ui_floorandletters.doubleSpinBox_floorspacing->value()*SYSTEM_OF_UNITS::m;
488 return m_d->ui_floorandletters.doubleSpinBox_floorheight->value()*SYSTEM_OF_UNITS::m;
494 return m_d->ui.checkBox_floorAndLetters->isChecked() &&
495 m_d->ui_floorandletters.checkBox_acdesignations->isChecked();
502 int nmax;
double distmax;
505 distmax = 10*SYSTEM_OF_UNITS::m;
506 message(
"lettersZPos ERROR: Problems calculating floor nmax/distmax.");
527 int nmax;
double distmax;
530 distmax = 10*SYSTEM_OF_UNITS::m;
531 message(
"lettersZPos ERROR: Problems calculating floor nmax/distmax.");
539 return m_d->ui.checkBox_coordinateAxes->isChecked();
545 return m_d->ui_axes.doubleSpinBox_axes_lengths_m->value()*SYSTEM_OF_UNITS::m *
546 (
m_d->ui_axes.checkBox_axes_shownegativeparts->isChecked()?-1.0:1.0);
552 return SbVec3f(
m_d->ui_axes.doubleSpinBox_axes_xpos_m->value()*SYSTEM_OF_UNITS::m,
553 m_d->ui_axes.doubleSpinBox_axes_ypos_m->value()*SYSTEM_OF_UNITS::m,
554 m_d->ui_axes.doubleSpinBox_axes_zpos_m->value()*SYSTEM_OF_UNITS::m);
560 return m_d->ui_axes.doubleSpinBox_axes_relthickness->value();
566 return m_d->ui.checkBox_grid->isChecked() &&
567 m_d->ui_grid.radioButton_grid_cartesian->isChecked();
573 return m_d->ui.checkBox_grid->isChecked() &&
574 m_d->ui_grid.radioButton_grid_cylindrical->isChecked();
580 return Imp::color4f(
m_d->ui_grid.colorButton_grid->color(),
m_d->ui_grid.spinBox_gridtransp->value());
586 return m_d->ui_grid.doubleSpinBox_gridspacing->value()*SYSTEM_OF_UNITS::m;
592 return m_d->ui_grid.doubleSpinBox_gridextent->value()*SYSTEM_OF_UNITS::m;
598 return m_d->ui.checkBox_etaCones->isChecked() &&
599 m_d->ui_etacones.checkBox_etacone1->isChecked();
605 return m_d->ui.checkBox_etaCones->isChecked() &&
606 m_d->ui_etacones.checkBox_etacone2->isChecked();
612 return m_d->ui.checkBox_etaCones->isChecked() &&
613 m_d->ui_etacones.checkBox_etacone3->isChecked();
619 return std::max(1.0e-5,
m_d->ui_etacones.doubleSpinBox_etaval1->value());
625 return std::max(1.0e-5,
m_d->ui_etacones.doubleSpinBox_etaval2->value());
631 return std::max(1.0e-5,
m_d->ui_etacones.doubleSpinBox_etaval3->value());
637 return m_d->ui_etacones.doubleSpinBox_etaconeextent->value() * SYSTEM_OF_UNITS::m
638 * (
m_d->ui_etacones.radioButton_etaconeextentisr->isChecked() ? 1.0 : -1.0);
644 return m_d->ui.checkBox_lines->isChecked();
652 double phi =
m_d->ui_lines.doubleSpinBox_phi->value();
653 double theta =
m_d->ui_lines.doubleSpinBox_theta->value();
661 return m_d->ui_lines.doubleSpinBox_length->value() * SYSTEM_OF_UNITS::m;
667 return m_d->ui.checkBox_hgtdGuideLines->isChecked();
708 bool endcapinner,
bool endcapouter,
709 bool endcap_hidenormalcyls_when_zasr,
721 if ( !( endcap_zasr && endcap_hidenormalcyls_when_zasr ) ) {
748 return Imp::projPartsFlag(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both->isChecked(),
749 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both->isChecked(),
750 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both->isChecked(),
751 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both->isChecked() );
757 return Imp::projPartsFlag(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both->isChecked(),
758 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both->isChecked(),
759 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both->isChecked(),
760 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both->isChecked() );
766 return Imp::projPartsFlag(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both->isChecked(),
767 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both->isChecked(),
768 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both->isChecked(),
769 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both->isChecked(),
770 true,
m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r->isChecked() );
778 if (
ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded->isChecked()) {
795 if (
ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded->isChecked()) {
812 if (
ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded->isChecked()) {
827 InDetProjFlags::DetTypeFlags enabledDetRegions =
m_d->pixelPartsEnabledByGUIOrDataUsage();
835 return pixelProjParts;
841 InDetProjFlags::DetTypeFlags enabledDetRegions =
m_d->sctPartsEnabledByGUIOrDataUsage();
855 InDetProjFlags::DetTypeFlags enabledDetRegions =
m_d->trtPartsEnabledByGUIOrDataUsage();
869 if (
m_d->inDetDetTypesUsingProjections==f)
871 m_d->inDetDetTypesUsingProjections=f;
880 const bool e(!
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded->isChecked());
881 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA->setEnabled(e);
882 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC->setEnabled(e);
883 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA->setEnabled(e);
884 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC->setEnabled(e);
890 const bool e(!
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded->isChecked());
891 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA->setEnabled(e);
892 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC->setEnabled(e);
893 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA->setEnabled(e);
894 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC->setEnabled(e);
900 const bool e(!
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded->isChecked());
901 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA->setEnabled(e);
902 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC->setEnabled(e);
903 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA->setEnabled(e);
904 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC->setEnabled(e);
909 return m_d->ui.checkBox_trkVolumes->isChecked();
914 return m_d->ui_trkvolumes.checkBox_ID->isChecked();
919 return m_d->ui_trkvolumes.checkBox_Calo->isChecked();
924 return m_d->ui_trkvolumes.checkBox_MS->isChecked();
940 s.save(
m_d->ui_floorandletters.matButton_letters);
941 s.save(
m_d->ui_axes.matButton_axes_x);
942 s.save(
m_d->ui_axes.matButton_axes_y);
943 s.save(
m_d->ui_axes.matButton_axes_z);
944 s.save(
m_d->ui_etacones.matButton_etaCone1);
945 s.save(
m_d->ui_etacones.matButton_etaCone2);
946 s.save(
m_d->ui_etacones.matButton_etaCone3);
947 s.save(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel);
948 s.save(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct);
949 s.save(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt);
952 s.save(
m_d->ui_grid.colorButton_grid);
953 s.save(
m_d->ui_grid.spinBox_gridtransp);
954 s.save(
m_d->ui_floorandletters.colorButton_floor);
955 s.save(
m_d->ui_floorandletters.spinBox_floortransp);
956 s.save(
m_d->ui_floorandletters.doubleSpinBox_floorheight);
957 s.save(
m_d->ui_floorandletters.checkBox_floorenabled);
958 s.save(
m_d->ui_floorandletters.doubleSpinBox_floorspacing);
959 s.save(
m_d->ui_floorandletters.doubleSpinBox_floorextent);
960 s.save(
m_d->ui_floorandletters.checkBox_acdesignations);
962 s.save(
m_d->ui_axes.checkBox_axes_shownegativeparts);
963 s.save(
m_d->ui_axes.doubleSpinBox_axes_lengths_m);
964 s.save(
m_d->ui_axes.doubleSpinBox_axes_relthickness);
965 s.save(
m_d->ui_axes.doubleSpinBox_axes_xpos_m);
966 s.save(
m_d->ui_axes.doubleSpinBox_axes_ypos_m);
967 s.save(
m_d->ui_axes.doubleSpinBox_axes_zpos_m);
968 s.save(0,
m_d->ui_grid.radioButton_grid_cartesian,
m_d->ui_grid.radioButton_grid_cylindrical);
969 s.save(
m_d->ui_grid.doubleSpinBox_gridspacing);
970 s.save(
m_d->ui_grid.doubleSpinBox_gridextent);
971 s.save(
m_d->ui_etacones.checkBox_etacone1);
972 s.save(
m_d->ui_etacones.doubleSpinBox_etaval1);
973 s.save(
m_d->ui_etacones.checkBox_etacone2);
974 s.save(
m_d->ui_etacones.doubleSpinBox_etaval2);
975 s.save(
m_d->ui_etacones.checkBox_etacone3);
976 s.save(
m_d->ui_etacones.doubleSpinBox_etaval3);
977 s.save(
m_d->ui_etacones.doubleSpinBox_etaconeextent);
978 s.save(
m_d->ui_etacones.radioButton_etaconeextentisr,
m_d->ui_etacones.radioButton_etaconeextentisz);
982 s.save(
m_d->ui_idprojsurfs.groupBox_pixelproj);
983 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded);
984 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA);
985 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC);
986 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA);
987 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC);
988 s.save(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner,
989 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer,
990 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both);
991 s.save(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner,
992 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer,
993 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both);
994 s.save(
m_d->ui_idprojsurfs.groupBox_sctproj);
995 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded);
996 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA);
997 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC);
998 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA);
999 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC);
1000 s.save(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner,
1001 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer,
1002 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both);
1003 s.save(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner,
1004 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer,
1005 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both);
1006 s.save(
m_d->ui_idprojsurfs.groupBox_trtproj);
1007 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded);
1008 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA);
1009 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC);
1010 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA);
1011 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC);
1012 s.save(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner,
1013 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer,
1014 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both);
1015 s.save(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner,
1016 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer,
1017 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both);
1018 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r);
1020 s.save(
m_d->ui.checkBox_coordinateAxes);
1021 s.save(
m_d->ui.checkBox_etaCones);
1022 s.save(
m_d->ui.checkBox_floorAndLetters);
1023 s.save(
m_d->ui.checkBox_grid);
1024 s.save(
m_d->ui.checkBox_inDetProjSurfs);
1028 s.save(
m_d->ui.checkBox_trkVolumes);
1031 s.save(
m_d->ui_trkvolumes.matButton_ID);
1032 s.save(
m_d->ui_trkvolumes.matButton_Calo);
1033 s.save(
m_d->ui_trkvolumes.matButton_MS);
1034 s.save(
m_d->ui_trkvolumes.checkBox_ID);
1035 s.save(
m_d->ui_trkvolumes.checkBox_Calo);
1036 s.save(
m_d->ui_trkvolumes.checkBox_MS);
1039 s.save(
m_d->ui.checkBox_lines);
1040 s.save(
m_d->ui_lines.doubleSpinBox_phi);
1041 s.save(
m_d->ui_lines.doubleSpinBox_phi);
1042 s.save(
m_d->ui_lines.doubleSpinBox_eta);
1043 s.save(
m_d->ui_lines.doubleSpinBox_length);
1046 s.save(
m_d->ui.checkBox_people);
1047 s.save(
m_d->ui_people.matButton_people);
1050 s.save(
m_d->ui.checkBox_hgtdGuideLines);
1051 s.save(
m_d->ui_hgtdguides.checkBox_hgtd_hits);
1052 s.save(
m_d->ui_hgtdguides.checkBox_hgtd_truthTracks);
1053 s.save(
m_d->ui_hgtdguides.checkBox_hgtd_particleNames);
1054 s.save(
m_d->ui_hgtdguides.checkBox_hgtd_primaryParticles);
1055 s.save(
m_d->ui_hgtdguides.checkBox_hgtd_secondaryParticles);
1056 s.save(
m_d->ui_hgtdguides.checkBox_hgtd_unlinkedParticles);
1062 if (s.version()<0||s.version()>4) {
1063 message(
"Warning: State data in .vp1 file has unsupported version ("+
str(s.version())+
")");
1071 s.restore(
m_d->ui_floorandletters.matButton_letters);
1072 s.restore(
m_d->ui_axes.matButton_axes_x);
1073 s.restore(
m_d->ui_axes.matButton_axes_y);
1074 s.restore(
m_d->ui_axes.matButton_axes_z);
1075 s.restore(
m_d->ui_etacones.matButton_etaCone1);
1076 s.restore(
m_d->ui_etacones.matButton_etaCone2);
1077 s.restore(
m_d->ui_etacones.matButton_etaCone3);
1078 s.restore(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel);
1079 s.restore(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct);
1080 s.restore(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt);
1084 s.restore(
m_d->ui_grid.colorButton_grid);
1085 s.restore(
m_d->ui_grid.spinBox_gridtransp);
1086 s.restore(
m_d->ui_floorandletters.colorButton_floor);
1087 s.restore(
m_d->ui_floorandletters.spinBox_floortransp);
1088 s.restore(
m_d->ui_floorandletters.doubleSpinBox_floorheight);
1089 s.restore(
m_d->ui_floorandletters.checkBox_floorenabled);
1090 s.restore(
m_d->ui_floorandletters.doubleSpinBox_floorspacing);
1091 s.restore(
m_d->ui_floorandletters.doubleSpinBox_floorextent);
1092 s.restore(
m_d->ui_floorandletters.checkBox_acdesignations);
1095 s.restore(
m_d->ui_axes.checkBox_axes_shownegativeparts);
1096 s.restore(
m_d->ui_axes.doubleSpinBox_axes_lengths_m);
1097 s.restore(
m_d->ui_axes.doubleSpinBox_axes_relthickness);
1098 s.restore(
m_d->ui_axes.doubleSpinBox_axes_xpos_m);
1099 s.restore(
m_d->ui_axes.doubleSpinBox_axes_ypos_m);
1100 s.restore(
m_d->ui_axes.doubleSpinBox_axes_zpos_m);
1101 s.restore(0,
m_d->ui_grid.radioButton_grid_cartesian,
m_d->ui_grid.radioButton_grid_cylindrical);
1102 s.restore(
m_d->ui_grid.doubleSpinBox_gridspacing);
1103 s.restore(
m_d->ui_grid.doubleSpinBox_gridextent);
1104 s.restore(
m_d->ui_etacones.checkBox_etacone1);
1105 s.restore(
m_d->ui_etacones.doubleSpinBox_etaval1);
1106 s.restore(
m_d->ui_etacones.checkBox_etacone2);
1107 s.restore(
m_d->ui_etacones.doubleSpinBox_etaval2);
1108 s.restore(
m_d->ui_etacones.checkBox_etacone3);
1109 s.restore(
m_d->ui_etacones.doubleSpinBox_etaval3);
1110 s.restore(
m_d->ui_etacones.doubleSpinBox_etaconeextent);
1111 s.restore(
m_d->ui_etacones.radioButton_etaconeextentisr,
m_d->ui_etacones.radioButton_etaconeextentisz);
1115 s.restore(
m_d->ui_idprojsurfs.groupBox_pixelproj);
1116 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded);
1117 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA);
1118 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC);
1119 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA);
1120 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC);
1121 s.restore(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner,
1122 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer,
1123 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both);
1124 s.restore(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner,
1125 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer,
1126 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both);
1127 s.restore(
m_d->ui_idprojsurfs.groupBox_sctproj);
1128 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded);
1129 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA);
1130 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC);
1131 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA);
1132 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC);
1133 s.restore(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner,
1134 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer,
1135 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both);
1136 s.restore(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner,
1137 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer,
1138 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both);
1139 s.restore(
m_d->ui_idprojsurfs.groupBox_trtproj);
1140 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded);
1141 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA);
1142 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC);
1143 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA);
1144 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC);
1145 s.restore(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner,
1146 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer,
1147 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both);
1148 s.restore(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner,
1149 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer,
1150 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both);
1151 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r);
1153 if (s.version()>=1) {
1154 s.restore(
m_d->ui.checkBox_coordinateAxes);
1155 s.restore(
m_d->ui.checkBox_etaCones);
1156 s.restore(
m_d->ui.checkBox_floorAndLetters);
1157 s.restore(
m_d->ui.checkBox_grid);
1158 s.restore(
m_d->ui.checkBox_inDetProjSurfs);
1161 if (s.version()>=2) {
1162 s.restore(
m_d->ui.checkBox_trkVolumes);
1163 s.restore(
m_d->ui_trkvolumes.matButton_ID);
1164 s.restore(
m_d->ui_trkvolumes.matButton_Calo);
1165 s.restore(
m_d->ui_trkvolumes.matButton_MS);
1166 s.restore(
m_d->ui_trkvolumes.checkBox_ID);
1167 s.restore(
m_d->ui_trkvolumes.checkBox_Calo);
1168 s.restore(
m_d->ui_trkvolumes.checkBox_MS);
1170 if (s.version()>=3) {
1171 s.restore(
m_d->ui.checkBox_lines);
1172 s.restore(
m_d->ui_lines.doubleSpinBox_phi);
1173 s.restore(
m_d->ui_lines.doubleSpinBox_phi);
1174 s.restore(
m_d->ui_lines.doubleSpinBox_eta);
1175 s.restore(
m_d->ui_lines.doubleSpinBox_length);
1179 if (s.version()>=3) {
1180 s.restore(
m_d->ui.checkBox_people);
1181 s.restore(
m_d->ui_people.matButton_people);
1184 if (s.version()>=4) {
1185 s.restore(
m_d->ui.checkBox_hgtdGuideLines);
1186 s.restore(
m_d->ui_hgtdguides.checkBox_hgtd_hits);
1187 s.restore(
m_d->ui_hgtdguides.checkBox_hgtd_truthTracks);
1188 s.restore(
m_d->ui_hgtdguides.checkBox_hgtd_particleNames);
1189 s.restore(
m_d->ui_hgtdguides.checkBox_hgtd_primaryParticles);
1190 s.restore(
m_d->ui_hgtdguides.checkBox_hgtd_secondaryParticles);
1191 s.restore(
m_d->ui_hgtdguides.checkBox_hgtd_unlinkedParticles);
1197 double eta =
m_d->ui_lines.doubleSpinBox_eta->value();
1198 double theta =
m_d->ui_lines.doubleSpinBox_theta->value();
1200 if (
m_d->last_line_eta !=
eta){
1202 theta = 2*std::atan(std::exp(-1.0 *
eta));
1203 m_d->ui_lines.doubleSpinBox_theta->setValue(
theta);
1205 eta = -1.0 * std::log(std::tan(
theta/2.0));
1206 m_d->ui_lines.doubleSpinBox_eta->setValue(
eta);
1208 m_d->last_line_eta =
m_d->ui_lines.doubleSpinBox_eta->value();
1219#define VP1CONTROLLERCLASSNAME GuideSysController
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Scalar theta() const
theta method
#define POSSIBLECHANGE_IMP(x)
Ui::VP1GuidesSysSettingsFloorAndLettersForm ui_floorandletters
InDetProjFlags::InDetProjPartsFlags last_shownSCTProjSurfaces
double last_etaConeValue3
Ui::VP1GuidesSysSettingsCoordinateAxesForm ui_axes
SbColor4f last_gridColourAndTransp
SbColor4f last_peopleColourAndTransp
InDetProjFlags::InDetProjPartsFlags last_applicablePixelProjParts
double last_etaConeValue1
static InDetProjFlags::InDetProjPartsFlags projPartsFlag(bool barrelinner, bool barrelouter, bool endcapinner, bool endcapouter, bool endcap_hidenormalcyls_when_zasr=false, bool endcap_zasr=false)
InDetProjFlags::InDetProjPartsFlags last_applicableSCTProjParts
InDetProjFlags::DetTypeFlags trtPartsEnabledByGUIOrDataUsage() const
static SbColor4f color4f(const QColor &col, int transp_int)
Ui::VP1TrackingVolumesForm ui_trkvolumes
Ui::VP1GuidesSysSettingsGridForm ui_grid
bool last_showHGTDUnlinkedParticles
Ui::VP1GuidesSysSettingsIDProjSurfsForm ui_idprojsurfs
GuideSysController * theclass
InDetProjFlags::DetTypeFlags inDetDetTypesUsingProjections
bool last_showHGTDPrimaryParticles
double last_lettersVerticalPos
bool last_showCylindricalGrid
double last_relAxesThickness
bool last_showCartesianGrid
Ui::VP1GuidesSysSettingsHGTDGuidesForm ui_hgtdguides
InDetProjFlags::DetTypeFlags pixelPartsEnabledByGUIOrDataUsage() const
bool last_showHGTDGuideHits
SbVec3f last_axesPosition
Ui::VP1GuidesSysSettingsEtaConeForm ui_etacones
bool last_showMuonSpectrometer
double last_etaConeValue2
SbVec3f last_lineDirection
Ui::VP1GuidesSysSettingsPeopleForm ui_people
InDetProjFlags::InDetProjPartsFlags last_applicableTRTProjParts
InDetProjFlags::InDetProjPartsFlags last_shownTRTProjSurfaces
bool last_showHGTDParticleNames
InDetProjFlags::InDetProjPartsFlags last_shownPixelProjSurfaces
Ui::VP1LinesForm ui_lines
bool last_showHGTDTruthTracks
SbColor4f last_floorColourAndTransp
InDetProjFlags::DetTypeFlags sctPartsEnabledByGUIOrDataUsage() const
bool last_showHGTDSecondaryParticles
bool last_showHGTDGuideLines
bool last_showCalorimeters
double last_peopleVerticalPos
bool last_showInnerDetector
bool last_showTrackingVolumes
Ui::VP1GuidesControllerForm ui
void possibleChange_axesLength()
void possibleChange_showCylindricalGrid()
void possibleChange_etaExtent()
void possibleChange_showHGTDParticleNames()
bool showMuonSpectrometer() const
double floorSpacing() const
SoMaterial * sctProjSurfMaterial() const
double lettersVerticalPos() const
void possibleChange_relAxesThickness()
double peopleZPos() const
SbColor4f gridColourAndTransp() const
void possibleChange_floorHeight()
void possibleChange_showHGTDSecondaryParticles()
SoMaterial * etaCone2Material() const
void possibleChange_etaConeValue2()
void possibleChange_showHGTDGuideHits()
double peopleVerticalPos() const
void possibleChange_showInnerDetector()
void possibleChange_showCalorimeters()
bool showHGTDSecondaryParticles() const
bool showEtaCone2() const
SoMaterial * trtProjSurfMaterial() const
void updateProjPartsCheckboxStates_TRT()
void possibleChange_showHGTDPrimaryParticles()
void possibleChange_etaConeValue3()
void updateProjPartsCheckboxStates_Pixel()
bool showHGTDGuideHits() const
bool showEtaCone1() const
void actualSaveSettings(VP1Serialise &) const
double etaConeValue1() const
void possibleChange_lineDirection()
void possibleChange_showCartesianGrid()
void possibleChange_showFloor()
InDetProjFlags::InDetProjPartsFlags applicableTRTProjParts() const
double lettersZPos() const
void possibleChange_applicableSCTProjParts()
void possibleChange_gridSpacing()
void possibleChange_lettersZPos()
void possibleChange_showEtaCone3()
void possibleChange_floorExtent()
int currentSettingsVersion() const
void possibleChange_floorColourAndTransp()
bool showCartesianGrid() const
bool showHGTDParticleNames() const
SoMaterial * etaCone3Material() const
void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags)
SoMaterial * etaCone1Material() const
bool showHGTDTruthTracks() const
void possibleChange_showHGTDGuideLines()
GuideSysController(IVP1System *sys)
void possibleChange_axesPosition()
SoMaterial * peopleMaterial() const
void floorHeightChanged(const double &)
void possibleChange_shownTRTProjSurfaces()
void possibleChange_showLetters()
void possibleChange_etaConeValue1()
void possibleChange_showPeople()
SbColor4f peopleColourAndTransp() const
double relAxesThickness() const
double gridSpacing() const
bool showEtaCone3() const
void possibleChange_gridExtent()
SoMaterial * idTrkVolumesMaterial() const
void lineDirectionChanged(const SbVec3f &)
double etaConeValue3() const
void actualRestoreSettings(VP1Deserialise &)
InDetProjFlags::InDetProjPartsFlags applicablePixelProjParts() const
SoMaterial * xAxisMaterial() const
void possibleChange_applicableTRTProjParts()
void applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
void possibleChange_lettersVerticalPos()
bool showHGTDUnlinkedParticles() const
SbVec3f lineDirection() const
double gridExtent() const
void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const
void possibleChange_showHGTDUnlinkedParticles()
void possibleChange_showEtaCone1()
void possibleChange_applicablePixelProjParts()
double axesLength() const
void possibleChange_gridColourAndTransp()
void floorSpacingChanged(const double &)
SoMaterial * caloTrkVolumesMaterial() const
double etaConeValue2() const
SbColor4f floorColourAndTransp() const
void applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
void updateProjPartsCheckboxStates_SCT()
void possibleChange_showMuonSpectrometer()
void possibleChange_showHGTDTruthTracks()
double floorExtent() const
void possibleChange_shownPixelProjSurfaces()
void floorExtentChanged(const double &)
SbVec3f axesPosition() const
void possibleChange_showEtaCone2()
InDetProjFlags::InDetProjPartsFlags shownTRTProjSurfaces() const
SoMaterial * zAxisMaterial() const
void possibleChange_showLines()
void possibleChange_showAxes()
void possibleChange_floorSpacing()
InDetProjFlags::InDetProjPartsFlags shownPixelProjSurfaces() const
SoMaterial * yAxisMaterial() const
void possibleChange_peopleColourAndTransp()
bool showInnerDetector() const
SoMaterial * pixelProjSurfMaterial() const
SoMaterial * msTrkVolumesMaterial() const
void possibleChange_showTrackingVolumes()
double floorHeight() const
InDetProjFlags::InDetProjPartsFlags shownSCTProjSurfaces() const
bool showTrackingVolumes() const
bool showCylindricalGrid() const
bool showHGTDPrimaryParticles() const
double lineLength() const
virtual ~GuideSysController()
bool showHGTDGuideLines() const
void possibleChange_shownSCTProjSurfaces()
bool showCalorimeters() const
SoMaterial * lettersMaterial() const
static void projectionPartsGivenUsedDetectors(InDetProjPartsFlags &proj_pixel, InDetProjPartsFlags &proj_sct, InDetProjPartsFlags &proj_trt, const DetTypeFlags &useddets)
void initDialog(T &theUI, QPushButton *launchbutton, QAbstractButton *enabledButton=0)
static QString toString(const T &par)
void connectToLastUpdateSlot(QObject *sender, const char *signal)
const char * addUpdateSlot(const char *slot)
bool initVarsMode() const
bool changed(T &lastval, const T &newval)
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)
VP1Controller(IVP1System *sys, const QString &classname)
static bool calcParsFromExtentAndSpacing(const VP1HelperClassBase *, const double &extent, const double &spacing, const int &nmaxlimit, int &nmax, double &distmax)
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
void messageVerbose(const QString &) const
void message(const QString &) const