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"
38 #include "GeoModelKernel/Units.h"
39 #define SYSTEM_OF_UNITS GeoModelKernelUnits
41 #include "GaudiKernel/SystemOfUnits.h"
42 #define SYSTEM_OF_UNITS Gaudi::Units
51 Ui::VP1GuidesControllerForm
ui{};
52 Ui::VP1GuidesSysSettingsCoordinateAxesForm
ui_axes{};
56 Ui::VP1GuidesSysSettingsGridForm
ui_grid{};
61 static SbColor4f
color4f(
const QColor& col,
int transp_int) {
62 return SbColor4f(std::max<float>(0.0f,std::min<float>(1.0f,col.redF())),
63 std::max<float>(0.0f,std::min<float>(1.0f,col.greenF())),
64 std::max<float>(0.0f,std::min<float>(1.0f,col.blueF())),
65 std::max<float>(0.0f,std::min<float>(1.0f,1.0-transp_int/100.0)));
112 static InDetProjFlags::InDetProjPartsFlags
projPartsFlag(
bool barrelinner,
bool barrelouter,
113 bool endcapinner,
bool endcapouter,
114 bool endcap_hidenormalcyls_when_zasr =
false,
115 bool endcap_zasr =
false );
125 m_d->theclass =
this;
126 m_d->ui.setupUi(
this);
128 initDialog(
m_d->ui_axes,
m_d->ui.pushButton_settings_coordinateAxes,
m_d->ui.checkBox_coordinateAxes);
129 initDialog(
m_d->ui_etacones,
m_d->ui.pushButton_settings_etaCones,
m_d->ui.checkBox_etaCones);
130 initDialog(
m_d->ui_floorandletters,
m_d->ui.pushButton_settings_floorAndLetters,
m_d->ui.checkBox_floorAndLetters);
133 initDialog(
m_d->ui_idprojsurfs,
m_d->ui.pushButton_settings_inDetProjSurfs,
m_d->ui.checkBox_inDetProjSurfs);
134 initDialog(
m_d->ui_trkvolumes,
m_d->ui.pushButton_settings_trkVolumes,
m_d->ui.checkBox_trkVolumes);
138 m_d->ui_idprojsurfs.groupBox_pixelproj->setVisible(
false);
139 m_d->ui_idprojsurfs.groupBox_sctproj->setVisible(
false);
144 QButtonGroup * pixelproj_barrel_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner,
145 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer,
146 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both);
147 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner->setChecked(
true);
148 QButtonGroup * pixelproj_endcap_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner,
149 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer,
150 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both);
151 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner->setChecked(
true);
154 QButtonGroup * sctproj_barrel_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner,
155 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer,
156 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both);
157 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner->setChecked(
true);
158 QButtonGroup * sctproj_endcap_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner,
159 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer,
160 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both);
161 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner->setChecked(
true);
164 QButtonGroup * trtproj_barrel_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner,
165 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer,
166 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both);
167 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner->setChecked(
true);
168 QButtonGroup * trtproj_endcap_radiogroup =
defineRadioButtonGroup(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner,
169 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer,
170 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both);
171 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner->setChecked(
true);
174 m_d->ui_floorandletters.colorButton_floor->setColor(QColor::fromRgbF(0.5,0.5,0.5));
175 m_d->ui_people.colorButton_people->setColor(QColor::fromRgbF(0.5,0.5,0.5));
176 m_d->ui_grid.colorButton_grid->setColor(QColor::fromRgbF(1.0,1.0,1.0));
412 return m_d->ui.checkBox_floorAndLetters->isChecked() &&
413 m_d->ui_floorandletters.checkBox_floorenabled->isChecked();
419 return m_d->ui.checkBox_people->isChecked() &&
420 m_d->ui_people.checkBox_peopleenabled->isChecked();
426 return Imp::color4f(
m_d->ui_floorandletters.colorButton_floor->color(),
m_d->ui_floorandletters.spinBox_floortransp->value());
432 return Imp::color4f(
m_d->ui_people.colorButton_people->color(),
m_d->ui_people.spinBox_peopletransp->value());
439 return m_d->ui_floorandletters.doubleSpinBox_floorextent->value()*SYSTEM_OF_UNITS::m;
445 return m_d->ui_floorandletters.doubleSpinBox_floorspacing->value()*SYSTEM_OF_UNITS::m;
451 return m_d->ui_floorandletters.doubleSpinBox_floorheight->value()*SYSTEM_OF_UNITS::m;
457 return m_d->ui.checkBox_floorAndLetters->isChecked() &&
458 m_d->ui_floorandletters.checkBox_acdesignations->isChecked();
465 int nmax;
double distmax;
468 distmax = 10*SYSTEM_OF_UNITS::m;
469 message(
"lettersZPos ERROR: Problems calculating floor nmax/distmax.");
490 int nmax;
double distmax;
493 distmax = 10*SYSTEM_OF_UNITS::m;
494 message(
"lettersZPos ERROR: Problems calculating floor nmax/distmax.");
502 return m_d->ui.checkBox_coordinateAxes->isChecked();
508 return m_d->ui_axes.doubleSpinBox_axes_lengths_m->value()*SYSTEM_OF_UNITS::m *
509 (
m_d->ui_axes.checkBox_axes_shownegativeparts->isChecked()?-1.0:1.0);
515 return SbVec3f(
m_d->ui_axes.doubleSpinBox_axes_xpos_m->value()*SYSTEM_OF_UNITS::m,
516 m_d->ui_axes.doubleSpinBox_axes_ypos_m->value()*SYSTEM_OF_UNITS::m,
517 m_d->ui_axes.doubleSpinBox_axes_zpos_m->value()*SYSTEM_OF_UNITS::m);
523 return m_d->ui_axes.doubleSpinBox_axes_relthickness->value();
529 return m_d->ui.checkBox_grid->isChecked() &&
530 m_d->ui_grid.radioButton_grid_cartesian->isChecked();
536 return m_d->ui.checkBox_grid->isChecked() &&
537 m_d->ui_grid.radioButton_grid_cylindrical->isChecked();
543 return Imp::color4f(
m_d->ui_grid.colorButton_grid->color(),
m_d->ui_grid.spinBox_gridtransp->value());
549 return m_d->ui_grid.doubleSpinBox_gridspacing->value()*SYSTEM_OF_UNITS::m;
555 return m_d->ui_grid.doubleSpinBox_gridextent->value()*SYSTEM_OF_UNITS::m;
561 return m_d->ui.checkBox_etaCones->isChecked() &&
562 m_d->ui_etacones.checkBox_etacone1->isChecked();
568 return m_d->ui.checkBox_etaCones->isChecked() &&
569 m_d->ui_etacones.checkBox_etacone2->isChecked();
575 return m_d->ui.checkBox_etaCones->isChecked() &&
576 m_d->ui_etacones.checkBox_etacone3->isChecked();
582 return std::max(1.0e-5,
m_d->ui_etacones.doubleSpinBox_etaval1->value());
588 return std::max(1.0e-5,
m_d->ui_etacones.doubleSpinBox_etaval2->value());
594 return std::max(1.0e-5,
m_d->ui_etacones.doubleSpinBox_etaval3->value());
600 return m_d->ui_etacones.doubleSpinBox_etaconeextent->value() * SYSTEM_OF_UNITS::m
601 * (
m_d->ui_etacones.radioButton_etaconeextentisr->isChecked() ? 1.0 : -1.0);
607 return m_d->ui.checkBox_lines->isChecked();
615 double phi =
m_d->ui_lines.doubleSpinBox_phi->value();
616 double theta =
m_d->ui_lines.doubleSpinBox_theta->value();
624 return m_d->ui_lines.doubleSpinBox_length->value() * SYSTEM_OF_UNITS::m;
629 bool endcapinner,
bool endcapouter,
630 bool endcap_hidenormalcyls_when_zasr,
642 if ( !( endcap_zasr && endcap_hidenormalcyls_when_zasr ) ) {
669 return Imp::projPartsFlag(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both->isChecked(),
670 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both->isChecked(),
671 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both->isChecked(),
672 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both->isChecked() );
678 return Imp::projPartsFlag(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both->isChecked(),
679 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both->isChecked(),
680 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both->isChecked(),
681 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both->isChecked() );
687 return Imp::projPartsFlag(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both->isChecked(),
688 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both->isChecked(),
689 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both->isChecked(),
690 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer->isChecked() ||
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both->isChecked(),
691 true,
m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r->isChecked() );
699 if (
ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded->isChecked()) {
716 if (
ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded->isChecked()) {
733 if (
ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded->isChecked()) {
748 InDetProjFlags::DetTypeFlags enabledDetRegions =
m_d->pixelPartsEnabledByGUIOrDataUsage();
756 return pixelProjParts;
762 InDetProjFlags::DetTypeFlags enabledDetRegions =
m_d->sctPartsEnabledByGUIOrDataUsage();
776 InDetProjFlags::DetTypeFlags enabledDetRegions =
m_d->trtPartsEnabledByGUIOrDataUsage();
790 if (
m_d->inDetDetTypesUsingProjections==f)
792 m_d->inDetDetTypesUsingProjections=f;
801 const bool e(!
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded->isChecked());
802 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA->setEnabled(e);
803 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC->setEnabled(e);
804 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA->setEnabled(e);
805 m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC->setEnabled(e);
811 const bool e(!
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded->isChecked());
812 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA->setEnabled(e);
813 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC->setEnabled(e);
814 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA->setEnabled(e);
815 m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC->setEnabled(e);
821 const bool e(!
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded->isChecked());
822 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA->setEnabled(e);
823 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC->setEnabled(e);
824 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA->setEnabled(e);
825 m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC->setEnabled(e);
830 return m_d->ui.checkBox_trkVolumes->isChecked();
835 return m_d->ui_trkvolumes.checkBox_ID->isChecked();
840 return m_d->ui_trkvolumes.checkBox_Calo->isChecked();
845 return m_d->ui_trkvolumes.checkBox_MS->isChecked();
861 s.save(
m_d->ui_floorandletters.matButton_letters);
862 s.save(
m_d->ui_axes.matButton_axes_x);
863 s.save(
m_d->ui_axes.matButton_axes_y);
864 s.save(
m_d->ui_axes.matButton_axes_z);
865 s.save(
m_d->ui_etacones.matButton_etaCone1);
866 s.save(
m_d->ui_etacones.matButton_etaCone2);
867 s.save(
m_d->ui_etacones.matButton_etaCone3);
868 s.save(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel);
869 s.save(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct);
870 s.save(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt);
873 s.save(
m_d->ui_grid.colorButton_grid);
874 s.save(
m_d->ui_grid.spinBox_gridtransp);
875 s.save(
m_d->ui_floorandletters.colorButton_floor);
876 s.save(
m_d->ui_floorandletters.spinBox_floortransp);
877 s.save(
m_d->ui_floorandletters.doubleSpinBox_floorheight);
878 s.save(
m_d->ui_floorandletters.checkBox_floorenabled);
879 s.save(
m_d->ui_floorandletters.doubleSpinBox_floorspacing);
880 s.save(
m_d->ui_floorandletters.doubleSpinBox_floorextent);
881 s.save(
m_d->ui_floorandletters.checkBox_acdesignations);
883 s.save(
m_d->ui_axes.checkBox_axes_shownegativeparts);
884 s.save(
m_d->ui_axes.doubleSpinBox_axes_lengths_m);
885 s.save(
m_d->ui_axes.doubleSpinBox_axes_relthickness);
886 s.save(
m_d->ui_axes.doubleSpinBox_axes_xpos_m);
887 s.save(
m_d->ui_axes.doubleSpinBox_axes_ypos_m);
888 s.save(
m_d->ui_axes.doubleSpinBox_axes_zpos_m);
889 s.save(0,
m_d->ui_grid.radioButton_grid_cartesian,
m_d->ui_grid.radioButton_grid_cylindrical);
890 s.save(
m_d->ui_grid.doubleSpinBox_gridspacing);
891 s.save(
m_d->ui_grid.doubleSpinBox_gridextent);
892 s.save(
m_d->ui_etacones.checkBox_etacone1);
893 s.save(
m_d->ui_etacones.doubleSpinBox_etaval1);
894 s.save(
m_d->ui_etacones.checkBox_etacone2);
895 s.save(
m_d->ui_etacones.doubleSpinBox_etaval2);
896 s.save(
m_d->ui_etacones.checkBox_etacone3);
897 s.save(
m_d->ui_etacones.doubleSpinBox_etaval3);
898 s.save(
m_d->ui_etacones.doubleSpinBox_etaconeextent);
899 s.save(
m_d->ui_etacones.radioButton_etaconeextentisr,
m_d->ui_etacones.radioButton_etaconeextentisz);
903 s.save(
m_d->ui_idprojsurfs.groupBox_pixelproj);
904 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded);
905 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA);
906 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC);
907 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA);
908 s.save(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC);
909 s.save(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner,
910 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer,
911 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both);
912 s.save(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner,
913 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer,
914 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both);
915 s.save(
m_d->ui_idprojsurfs.groupBox_sctproj);
916 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded);
917 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA);
918 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC);
919 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA);
920 s.save(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC);
921 s.save(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner,
922 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer,
923 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both);
924 s.save(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner,
925 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer,
926 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both);
927 s.save(
m_d->ui_idprojsurfs.groupBox_trtproj);
928 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded);
929 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA);
930 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC);
931 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA);
932 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC);
933 s.save(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner,
934 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer,
935 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both);
936 s.save(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner,
937 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer,
938 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both);
939 s.save(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r);
941 s.save(
m_d->ui.checkBox_coordinateAxes);
942 s.save(
m_d->ui.checkBox_etaCones);
943 s.save(
m_d->ui.checkBox_floorAndLetters);
944 s.save(
m_d->ui.checkBox_grid);
945 s.save(
m_d->ui.checkBox_inDetProjSurfs);
949 s.save(
m_d->ui.checkBox_trkVolumes);
952 s.save(
m_d->ui_trkvolumes.matButton_ID);
953 s.save(
m_d->ui_trkvolumes.matButton_Calo);
954 s.save(
m_d->ui_trkvolumes.matButton_MS);
955 s.save(
m_d->ui_trkvolumes.checkBox_ID);
956 s.save(
m_d->ui_trkvolumes.checkBox_Calo);
957 s.save(
m_d->ui_trkvolumes.checkBox_MS);
960 s.save(
m_d->ui.checkBox_lines);
961 s.save(
m_d->ui_lines.doubleSpinBox_phi);
962 s.save(
m_d->ui_lines.doubleSpinBox_phi);
963 s.save(
m_d->ui_lines.doubleSpinBox_eta);
964 s.save(
m_d->ui_lines.doubleSpinBox_length);
967 s.save(
m_d->ui.checkBox_people);
968 s.save(
m_d->ui_people.matButton_people);
974 if (s.version()<0||s.version()>2) {
975 message(
"Warning: State data in .vp1 file has unsupported version ("+
str(s.version())+
")");
983 s.restore(
m_d->ui_floorandletters.matButton_letters);
984 s.restore(
m_d->ui_axes.matButton_axes_x);
985 s.restore(
m_d->ui_axes.matButton_axes_y);
986 s.restore(
m_d->ui_axes.matButton_axes_z);
987 s.restore(
m_d->ui_etacones.matButton_etaCone1);
988 s.restore(
m_d->ui_etacones.matButton_etaCone2);
989 s.restore(
m_d->ui_etacones.matButton_etaCone3);
990 s.restore(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel);
991 s.restore(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct);
992 s.restore(
m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt);
996 s.restore(
m_d->ui_grid.colorButton_grid);
997 s.restore(
m_d->ui_grid.spinBox_gridtransp);
998 s.restore(
m_d->ui_floorandletters.colorButton_floor);
999 s.restore(
m_d->ui_floorandletters.spinBox_floortransp);
1000 s.restore(
m_d->ui_floorandletters.doubleSpinBox_floorheight);
1001 s.restore(
m_d->ui_floorandletters.checkBox_floorenabled);
1002 s.restore(
m_d->ui_floorandletters.doubleSpinBox_floorspacing);
1003 s.restore(
m_d->ui_floorandletters.doubleSpinBox_floorextent);
1004 s.restore(
m_d->ui_floorandletters.checkBox_acdesignations);
1007 s.restore(
m_d->ui_axes.checkBox_axes_shownegativeparts);
1008 s.restore(
m_d->ui_axes.doubleSpinBox_axes_lengths_m);
1009 s.restore(
m_d->ui_axes.doubleSpinBox_axes_relthickness);
1010 s.restore(
m_d->ui_axes.doubleSpinBox_axes_xpos_m);
1011 s.restore(
m_d->ui_axes.doubleSpinBox_axes_ypos_m);
1012 s.restore(
m_d->ui_axes.doubleSpinBox_axes_zpos_m);
1013 s.restore(0,
m_d->ui_grid.radioButton_grid_cartesian,
m_d->ui_grid.radioButton_grid_cylindrical);
1014 s.restore(
m_d->ui_grid.doubleSpinBox_gridspacing);
1015 s.restore(
m_d->ui_grid.doubleSpinBox_gridextent);
1016 s.restore(
m_d->ui_etacones.checkBox_etacone1);
1017 s.restore(
m_d->ui_etacones.doubleSpinBox_etaval1);
1018 s.restore(
m_d->ui_etacones.checkBox_etacone2);
1019 s.restore(
m_d->ui_etacones.doubleSpinBox_etaval2);
1020 s.restore(
m_d->ui_etacones.checkBox_etacone3);
1021 s.restore(
m_d->ui_etacones.doubleSpinBox_etaval3);
1022 s.restore(
m_d->ui_etacones.doubleSpinBox_etaconeextent);
1023 s.restore(
m_d->ui_etacones.radioButton_etaconeextentisr,
m_d->ui_etacones.radioButton_etaconeextentisz);
1027 s.restore(
m_d->ui_idprojsurfs.groupBox_pixelproj);
1028 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded);
1029 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA);
1030 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC);
1031 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA);
1032 s.restore(
m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC);
1033 s.restore(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner,
1034 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer,
1035 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both);
1036 s.restore(
m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner,
1037 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer,
1038 m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both);
1039 s.restore(
m_d->ui_idprojsurfs.groupBox_sctproj);
1040 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded);
1041 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA);
1042 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC);
1043 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA);
1044 s.restore(
m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC);
1045 s.restore(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner,
1046 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer,
1047 m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both);
1048 s.restore(
m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner,
1049 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer,
1050 m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both);
1051 s.restore(
m_d->ui_idprojsurfs.groupBox_trtproj);
1052 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded);
1053 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA);
1054 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC);
1055 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA);
1056 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC);
1057 s.restore(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner,
1058 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer,
1059 m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both);
1060 s.restore(
m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner,
1061 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer,
1062 m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both);
1063 s.restore(
m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r);
1065 if (s.version()>=1) {
1066 s.restore(
m_d->ui.checkBox_coordinateAxes);
1067 s.restore(
m_d->ui.checkBox_etaCones);
1068 s.restore(
m_d->ui.checkBox_floorAndLetters);
1069 s.restore(
m_d->ui.checkBox_grid);
1070 s.restore(
m_d->ui.checkBox_inDetProjSurfs);
1073 if (s.version()>=2) {
1074 s.restore(
m_d->ui.checkBox_trkVolumes);
1075 s.restore(
m_d->ui_trkvolumes.matButton_ID);
1076 s.restore(
m_d->ui_trkvolumes.matButton_Calo);
1077 s.restore(
m_d->ui_trkvolumes.matButton_MS);
1078 s.restore(
m_d->ui_trkvolumes.checkBox_ID);
1079 s.restore(
m_d->ui_trkvolumes.checkBox_Calo);
1080 s.restore(
m_d->ui_trkvolumes.checkBox_MS);
1082 if (s.version()>=3) {
1083 s.restore(
m_d->ui.checkBox_lines);
1084 s.restore(
m_d->ui_lines.doubleSpinBox_phi);
1085 s.restore(
m_d->ui_lines.doubleSpinBox_phi);
1086 s.restore(
m_d->ui_lines.doubleSpinBox_eta);
1087 s.restore(
m_d->ui_lines.doubleSpinBox_length);
1091 if (s.version()>=3) {
1092 s.restore(
m_d->ui.checkBox_people);
1093 s.restore(
m_d->ui_people.matButton_people);
1099 double eta =
m_d->ui_lines.doubleSpinBox_eta->value();
1100 double theta =
m_d->ui_lines.doubleSpinBox_theta->value();
1102 if (
m_d->last_line_eta !=
eta){
1104 theta = 2*std::atan(std::exp(-1.0 *
eta));
1105 m_d->ui_lines.doubleSpinBox_theta->setValue(
theta);
1107 eta = -1.0 * std::log(std::tan(
theta/2.0));
1108 m_d->ui_lines.doubleSpinBox_eta->setValue(
eta);
1110 m_d->last_line_eta =
m_d->ui_lines.doubleSpinBox_eta->value();
1121#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
Ui::VP1GuidesSysSettingsIDProjSurfsForm ui_idprojsurfs
GuideSysController * theclass
InDetProjFlags::DetTypeFlags inDetDetTypesUsingProjections
double last_lettersVerticalPos
bool last_showCylindricalGrid
double last_relAxesThickness
bool last_showCartesianGrid
InDetProjFlags::DetTypeFlags pixelPartsEnabledByGUIOrDataUsage() const
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
InDetProjFlags::InDetProjPartsFlags last_shownPixelProjSurfaces
Ui::VP1LinesForm ui_lines
SbColor4f last_floorColourAndTransp
InDetProjFlags::DetTypeFlags sctPartsEnabledByGUIOrDataUsage() const
bool last_showCalorimeters
double last_peopleVerticalPos
bool last_showInnerDetector
bool last_showTrackingVolumes
Ui::VP1GuidesControllerForm ui
void possibleChange_axesLength()
void possibleChange_showCylindricalGrid()
void possibleChange_etaExtent()
bool showMuonSpectrometer() const
double floorSpacing() const
SoMaterial * sctProjSurfMaterial() const
double lettersVerticalPos() const
void possibleChange_relAxesThickness()
double peopleZPos() const
SbColor4f gridColourAndTransp() const
void possibleChange_floorHeight()
SoMaterial * etaCone2Material() const
void possibleChange_etaConeValue2()
double peopleVerticalPos() const
void possibleChange_showInnerDetector()
void possibleChange_showCalorimeters()
bool showEtaCone2() const
SoMaterial * trtProjSurfMaterial() const
void updateProjPartsCheckboxStates_TRT()
void possibleChange_etaConeValue3()
void updateProjPartsCheckboxStates_Pixel()
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
SoMaterial * etaCone3Material() const
void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags)
SoMaterial * etaCone1Material() const
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()
SbVec3f lineDirection() const
double gridExtent() const
void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const
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()
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
double lineLength() const
virtual ~GuideSysController()
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