diff --git a/graphics/VTI12/VTI12Plugins/VTI12WaveformPlugin/src/VP1WaveformChannel.cxx b/graphics/VTI12/VTI12Plugins/VTI12WaveformPlugin/src/VP1WaveformChannel.cxx index 7187a1af1fc23e55c6da1a25ea44f9691e217b78..de7dda032b9eeaee1087a3e57c4015ccd615a429 100755 --- a/graphics/VTI12/VTI12Plugins/VTI12WaveformPlugin/src/VP1WaveformChannel.cxx +++ b/graphics/VTI12/VTI12Plugins/VTI12WaveformPlugin/src/VP1WaveformChannel.cxx @@ -14,6 +14,7 @@ #include "VTI12WaveformPlugin/VP1WaveformChannel.h" #include "VTI12WaveformSystems/VP1WaveformSystem.h" +#include "VTI12WaveformSystems/VP1WaveformHitSystem.h" #include "VP1Base/VP1QtUtils.h" VP1WaveformChannel::VP1WaveformChannel() @@ -26,6 +27,7 @@ VP1WaveformChannel::VP1WaveformChannel() void VP1WaveformChannel::init() { addSystem(new VP1WaveformSystem); + addSystem(new VP1WaveformHitSystem); // addSystem(new VP1GeometrySystem); // if (VP1QtUtils::environmentVariableIsOn("VP1_SECOND_GEOMSYS")) // addSystem(new VP1GeometrySystem(VP1GeoFlags::None,"AltGeo"),IVP13DStandardChannelWidget::StartDisabled); diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt index 8dcd3e3281ab36fbcb18fe0a5bf5f8b84b2fa998..dacc9d7703d3b1fdf61aa50a4f020bf40a3ffe2e 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt @@ -18,7 +18,7 @@ set( CMAKE_AUTOMOC TRUE ) atlas_add_library( VTI12WaveformSystems VTI12WaveformSystems/*.h src/*.cxx PUBLIC_HEADERS VTI12WaveformSystems INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${QT5_INCLUDE_DIRS} - LINK_LIBRARIES ${COIN3D_LIBRARIES} GeoPrimitives VP1Base VTI12Utils ScintRawEvent + LINK_LIBRARIES ${COIN3D_LIBRARIES} GeoPrimitives VP1Base VTI12Utils ScintRawEvent xAODFaserWaveform Qt5::Core Qt5::Gui Qt5::Charts PRIVATE_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} PRIVATE_LINK_LIBRARIES GaudiKernel VP1HEPVis ) diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h new file mode 100644 index 0000000000000000000000000000000000000000..fa0831b3f579c8c052fd3d38639da1a491888d7c --- /dev/null +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h @@ -0,0 +1,59 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef VP1WAVEFORMHITSYSTEM_H +#define VP1WAVEFORMHITSYSTEM_H + +///////////////////////////////////////////////////////////////////////// +// // +// Header file for class VP1WaveformHitSystem // +// // +// Author: Dave Casper <dcasper@uci.edu> // +// // +// Initial version: August 2021 // +// // +///////////////////////////////////////////////////////////////////////// + +#include "VP1Base/IVP12DSystemSimple.h" +#include <QColor>//Fixme obsolete + +class VP1WaveformHitSystem : public IVP12DSystemSimple { + + Q_OBJECT + +public: + + /////////////////// + // Constructor // + /////////////////// + + VP1WaveformHitSystem(); + + ////////////////////////////////////////// + // Reimplementations from base class: // + ////////////////////////////////////////// + + virtual ~VP1WaveformHitSystem(); + void buildPermanentItemCollection(StoreGateSvc* detstore, VP1GraphicsItemCollection *root); + void buildEventItemCollection(StoreGateSvc*, VP1GraphicsItemCollection *root); + void systemuncreate(); + QWidget * buildController(); + QByteArray saveState(); + void restoreFromState(QByteArray ba); + +public slots: + + void updateVetoElements(bool); + void updateTriggerElements(bool); + void updatePreshowerElements(bool); + void updateCalorimeterElements(bool); + // void updateClockElements(bool); + void updateTestElements(bool); + +private: + class Imp; + Imp * m_d; +}; + +#endif diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h index 95db09acdb978546a777e5c9ce8cfc117b62ac97..ebb3c4c34ca693d245a300b2f47813ce738b4597 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h @@ -39,7 +39,6 @@ public: // Access Methods for settings // /////////////////////////////////// - //Fixme: SoGroup * drawOptions() const; bool vetoEnabled() const; bool triggerEnabled() const; bool preshowerEnabled() const; diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx new file mode 100644 index 0000000000000000000000000000000000000000..7d0c07c942414273964ffed851b27b745cca2756 --- /dev/null +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx @@ -0,0 +1,402 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + + +///////////////////////////////////////////////////////////////////////// +// // +// Implementation of class VP1WaveformHitSystem // +// // +// Author: Dave Casper <dcasper@uci.edu> // +// // +// Initial version: August 2021 // +// // +///////////////////////////////////////////////////////////////////////// + +#include "VTI12WaveformSystems/VP1WaveformHitSystem.h" +#include "VTI12WaveformSystems/WaveformSysController.h" + +#include "VP1Base/VP1GraphicsItemCollection.h" +#include "VP1Base/VP1Serialise.h" +#include "VP1Base/VP1Deserialise.h" +#include "VP1Base/VP1Msg.h" + +#include "StoreGate/StoreGateSvc.h" + +#include "xAODFaserWaveform/WaveformHitContainer.h" +#include "xAODFaserWaveform/WaveformHit.h" + +#include <Inventor/nodes/SoSeparator.h> +#include <Inventor/nodes/SoPickStyle.h> +#include <Inventor/nodes/SoComplexity.h> +#include <Inventor/SbVec3f.h> + +#include <QtCharts> +#include <QtWidgets> +#include <QGraphicsEllipseItem> + +using namespace QtCharts; + +#include <map> + +class VP1WaveformHitSystem::Imp { +public: + Imp(VP1WaveformHitSystem*tc) : theclass(tc), + controller(0) {} + VP1WaveformHitSystem *theclass; + WaveformSysController * controller; + std::vector<QChart*> vetoCharts; + std::vector<QChart*> triggerCharts; + std::vector<QChart*> preshowerCharts; + std::vector<QChart*> calorimeterCharts; + // std::vector<QChart*> clockCharts; + std::vector<QChart*> testCharts; + std::vector<QChart*> visibleCharts; + void fillFit(const std::vector<float>& time, std::vector<float>& fit, float peak, float mean, float width, float alpha, float n); + QChart* createChart(const std::vector<float>& time, const std::vector<float>& data, const std::vector<float>& spline, QGraphicsItem* parent = nullptr, const QString& title = "Default title"); + void createCharts(StoreGateSvc* sg, VP1GraphicsItemCollection* items, bool visible, std::vector<QChart*>& list, const std::string& collectionName); + void getVisible(const std::vector<QChart*>& list); + void getVisible(); + void layoutCharts(); + +}; + +//_____________________________________________________________________________________ +VP1WaveformHitSystem::VP1WaveformHitSystem() + : IVP12DSystemSimple("Waveform Hits", + "System displaying reconstructed waveform data", + "dcasper@uci.edu"), m_d(new Imp(this)) +{ +} + + +//_____________________________________________________________________________________ +VP1WaveformHitSystem::~VP1WaveformHitSystem() +{ + delete m_d; +} + +//_____________________________________________________________________________________ +QWidget * VP1WaveformHitSystem::buildController() +{ + m_d->controller = new WaveformSysController(this); + + connect(m_d->controller,SIGNAL(vetoEnabledChanged(bool)),this,SLOT(updateVetoElements(bool))); + connect(m_d->controller,SIGNAL(triggerEnabledChanged(bool)),this,SLOT(updateTriggerElements(bool))); + connect(m_d->controller,SIGNAL(preshowerEnabledChanged(bool)),this,SLOT(updatePreshowerElements(bool))); + connect(m_d->controller,SIGNAL(calorimeterEnabledChanged(bool)),this,SLOT(updateCalorimeterElements(bool))); + // connect(m_d->controller,SIGNAL(clockEnabledChanged(bool)),this,SLOT(updateClockElements(bool))); + connect(m_d->controller,SIGNAL(testEnabledChanged(bool)),this,SLOT(updateTestElements(bool))); + + return m_d->controller; +} + +//_____________________________________________________________________________________ +void VP1WaveformHitSystem::buildEventItemCollection(StoreGateSvc* sg, VP1GraphicsItemCollection* root) +{ + if(VP1Msg::verbose() || true){ + messageVerbose("buildEventItemCollection"); + } + + m_d->vetoCharts.clear(); + m_d->triggerCharts.clear(); + m_d->preshowerCharts.clear(); + m_d->calorimeterCharts.clear(); + // m_d->clockCharts.clear(); + m_d->testCharts.clear(); +// m_d->nCharts = 0; + + m_d->createCharts(sg, root, m_d->controller->vetoEnabled(), m_d->vetoCharts, "VetoWaveformHits"); + m_d->createCharts(sg, root, m_d->controller->triggerEnabled(), m_d->triggerCharts, "TriggerWaveformHits"); + m_d->createCharts(sg, root, m_d->controller->preshowerEnabled(), m_d->preshowerCharts, "PreshowerWaveformHits"); + m_d->createCharts(sg, root, m_d->controller->calorimeterEnabled(), m_d->calorimeterCharts, "CaloWaveformHits"); + // m_d->createCharts(sg, root, m_d->controller->clockEnabled(), m_d->clockCharts, "ClockWaveforms"); + m_d->createCharts(sg, root, m_d->controller->testEnabled(), m_d->testCharts, "TestWaveformHits"); + + m_d->layoutCharts(); +} + +void VP1WaveformHitSystem::Imp::createCharts(StoreGateSvc* sg, + VP1GraphicsItemCollection* items, + bool visible, + std::vector<QChart*>& list, + const std::string& collectionName) +{ + const xAOD::WaveformHitContainer* p_container {nullptr}; + if(sg->retrieve(p_container, collectionName)==StatusCode::SUCCESS) + { + for(xAOD::WaveformHitContainer::const_iterator i_wf=p_container->begin(); i_wf!=p_container->end(); ++i_wf) + { + const xAOD::WaveformHit* hit = (*i_wf); + if (hit->time_vector().size() > 0 && hit->wave_vector().size() == hit->time_vector().size()) + { + QString title { collectionName.c_str() }; + title.append(" ").append(QString::number(hit->channel())); + + std::vector<float> cb; + if (!hit->status_bit(xAOD::WaveformStatus::CBFIT_FAILED) && hit->width() > 0 && hit->alpha() != 0 && hit->nval() != 0) + { + fillFit(hit->time_vector(), cb, hit->peak(), hit->mean(), hit->width(), hit->alpha(), hit->nval()); + } + QChart* chart = createChart((*i_wf)->time_vector(), (*i_wf)->wave_vector(), cb, nullptr, title); + + QFont fitFont; + fitFont.setPixelSize(18); + + QGraphicsTextItem* meanText = new QGraphicsTextItem("Mean: " + QString::number(hit->mean(),'f',1), chart); + meanText->setFont(fitFont); + meanText->setDefaultTextColor(QRgb(0xb157fd)); + meanText->setPos(290, 75); + + QGraphicsTextItem* peakText = new QGraphicsTextItem("Peak: " + QString::number(hit->peak(),'f',1), chart); + peakText->setFont(fitFont); + peakText->setDefaultTextColor(QRgb(0xb157fd)); + peakText->setPos(290, 100); + + QGraphicsTextItem* intText = new QGraphicsTextItem("Integral: " + QString::number(hit->integral(),'f',1), chart); + intText->setFont(fitFont); + intText->setDefaultTextColor(QRgb(0xb157fd)); + intText->setPos(290, 125); + + + chart->setVisible(visible); + list.push_back(chart); + items->addItem(chart, true, true); + } + } + } + else + { + QString errorMsg {"Unable to retrieve "}; + theclass->message(errorMsg.append(collectionName.c_str())); + } +} + +void VP1WaveformHitSystem::Imp::fillFit(const std::vector<float>& time, + std::vector<float>& fit, + float peak, + float mean, + float width, + float alpha, + float nval) +{ + for (size_t i = 0; i < time.size(); i++) + { + float z = (time[i] - mean)/width; + if (alpha < 0) z = -z; + if (z > -fabs(alpha)) + { + fit.push_back(peak * std::exp(-z*z/2)); + } + else + { + fit.push_back(peak * std::pow((nval/fabs(alpha))/(((nval/fabs(alpha)-fabs(alpha)) - z)), nval) * std::exp(-alpha*alpha/2)); + } + } +} + +QChart* VP1WaveformHitSystem::Imp::createChart(const std::vector<float>& times, + const std::vector<float>& data, + const std::vector<float>& spline, + QGraphicsItem* parent, const QString& title) +{ + + QChart* chart = new QChart(parent); + QLineSeries *series = new QLineSeries(); + // unsigned int maxEntry = 0; + for (size_t i = 0; i < data.size(); i++) + { + // maxEntry = std::max(maxEntry, data[i]); + series->append(times[i], data[i]); + } + + QPen pen(QRgb(0xfdb157)); + pen.setWidth(1); + series->setPen(pen); + chart->addSeries(series); + + if (spline.size() == times.size()) + { + QSplineSeries* fit = new QSplineSeries(); + for (size_t i = 0; i < spline.size(); i++) + { + fit->append(times[i], spline[i]); + } + QPen fitPen(QRgb(0xb157fd)); + fitPen.setWidth(2); + fit->setPen(fitPen); + chart->addSeries(fit); + } + + chart->legend()->hide(); + + chart->createDefaultAxes(); + + QFont font; + font.setPixelSize(24); + chart->setTitleFont(font); + chart->setTitleBrush(QBrush(Qt::blue)); + chart->setTitle(title); + // QValueAxis* axisX = new QValueAxis(); + QAbstractAxis* axisX = chart->axes(Qt::Horizontal)[0]; + QFont labelsFont; + labelsFont.setPixelSize(8); + QPen axisPen(QRgb(0xd18952)); + axisPen.setWidth(2); + // axisX->setRange(times[0]-2.0, times[times.size()-1]+2.0); + // axisX->setTickCount(13); + axisX->setLabelsFont(labelsFont); + axisX->setLinePen(axisPen); + // chart->addAxis(axisX, Qt::AlignBottom); + // series->attachAxis(axisX); + // QValueAxis* axisY = new QValueAxis(); + QAbstractAxis* axisY = chart->axes(Qt::Vertical)[0]; + // axisY->setRange(-256, 0x4000); + // axisY->setTickCount(17); + axisY->setLabelsFont(labelsFont); + axisY->setLinePen(axisPen); + // chart->addAxis(axisY, Qt::AlignLeft); + // series->attachAxis(axisY); + + return chart; +} + +void VP1WaveformHitSystem::Imp::getVisible() +{ + visibleCharts.clear(); + getVisible(vetoCharts); + getVisible(triggerCharts); + getVisible(preshowerCharts); + getVisible(calorimeterCharts); + // getVisible(clockCharts); + getVisible(testCharts); +} + +void VP1WaveformHitSystem::Imp::getVisible(const std::vector<QChart*>& list) +{ + for (QChart* c : list) + { + if (c != nullptr && c->isVisible()) + { + visibleCharts.push_back(c); + } + } +} + +void VP1WaveformHitSystem::Imp::layoutCharts() +{ + getVisible(); + unsigned int nVisible = visibleCharts.size(); + if (nVisible == 0) return; + // unsigned int nRows = (nVisible - 1)/5 + 1; + for (unsigned int i = 0; i < nVisible; i++) + { + qreal x = i%6 * 550.0; + // qreal y = ( (i/5) - nRows ) * 550.0; + qreal y = ( i/6 ) * 550.0 + 550.0*2; + visibleCharts[i]->setGeometry(x, y, 500.0, 500.0); + } +} + +//_____________________________________________________________________________________ +void VP1WaveformHitSystem::buildPermanentItemCollection(StoreGateSvc* /*detstore*/, VP1GraphicsItemCollection* /*root*/) +{ + if(VP1Msg::verbose() || true){ + messageVerbose("buildPermanentItemCollection"); + } + +} + +//_____________________________________________________________________________________ +void VP1WaveformHitSystem::systemuncreate() +{ + m_d->controller=0; +} + + +//_____________________________________________________________________________________ +QByteArray VP1WaveformHitSystem::saveState() { + + if (m_d->controller == nullptr) buildController(); + + VP1Serialise serialise(0/*version*/,this); + serialise.save(IVP12DSystemSimple::saveState()); + serialise.save(m_d->controller->saveSettings()); + serialise.disableUnsavedChecks();//We do the testing in the controller + return serialise.result(); +} + +//_____________________________________________________________________________________ +void VP1WaveformHitSystem::restoreFromState(QByteArray ba) { + + VP1Deserialise state(ba,this); + if (state.version() != 0) { + message("Warning: State data in .vp1 file is in wrong format - ignoring!"); + state.disableUnrestoredChecks();//We do the testing in the controller + return; + } +// if (state.version() > 0 &&state.version()<=3) { +// message("Warning: State data in .vp1 file is in obsolete format - ignoring!"); +// state.disableUnrestoredChecks();//We do the testing in the controller +// return; +// } + if (m_d->controller == nullptr) buildController(); + + IVP12DSystemSimple::restoreFromState(state.restoreByteArray()); + m_d->controller->restoreSettings(state.restoreByteArray()); + state.disableUnrestoredChecks();//We do the testing in the controller +} + +void VP1WaveformHitSystem::updateVetoElements(bool enabled) +{ + for (QChart* c : m_d->vetoCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} + +void VP1WaveformHitSystem::updateTriggerElements(bool enabled) +{ + for (QChart* c : m_d->triggerCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} + +void VP1WaveformHitSystem::updatePreshowerElements(bool enabled) +{ + for (QChart* c : m_d->preshowerCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} + +void VP1WaveformHitSystem::updateCalorimeterElements(bool enabled) +{ + for (QChart* c : m_d->calorimeterCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} + +// void VP1WaveformHitSystem::updateClockElements(bool enabled) +// { +// for (QChart* c : m_d->clockCharts) +// { +// c->setVisible(enabled); +// } +// m_d->layoutCharts(); +// } + +void VP1WaveformHitSystem::updateTestElements(bool enabled) +{ + for (QChart* c : m_d->testCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx index 90eb8b57ff201b69bdf41d295667f043b3f5a20b..5551a33cf4b50233704cc0b7d46e65a45047f399 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx @@ -15,15 +15,6 @@ #include "VTI12WaveformSystems/VP1WaveformSystem.h" #include "VTI12WaveformSystems/WaveformSysController.h" -// #include "VTI12GuideLineSystems/ProjectionSurfacesHelper.h" -// #include "VTI12GuideLineSystems/VP1CoordinateAxes.h" -// #include "VTI12GuideLineSystems/VP1Floor.h" -// #include "VTI12GuideLineSystems/VP1Letters.h" -// #include "VTI12GuideLineSystems/VP1EtaCone.h" -// #include "VTI12GuideLineSystems/VP1CartesianGrid.h" -// #include "VTI12GuideLineSystems/VP1CylindricalGrid.h" -// #include "VTI12GuideLineSystems/VP1TrackingVolumes.h" -// #include "VTI12GuideLineSystems/VP1Lines.h" #include "VP1Base/VP1GraphicsItemCollection.h" #include "VP1Base/VP1Serialise.h" @@ -51,58 +42,27 @@ class VP1WaveformSystem::Imp { public: Imp(VP1WaveformSystem*tc) : theclass(tc), controller(0) {} - // coordinateaxes(0), - // floor(0), - // cartesiangrid(0), - // cylindricalgrid(0), - // letters(0), - // etacone1(0), - // etacone2(0), - // etacone3(0), - // trackingVolumes(0), - // projsurfhelper_pixel(0), - // projsurfhelper_sct(0), - // projsurfhelper_trt(0), - // lastemit_pixel(InDetProjFlags::NoProjections), - // lastemit_sct(InDetProjFlags::NoProjections), - // lastemit_trt(InDetProjFlags::NoProjections) {} VP1WaveformSystem *theclass; WaveformSysController * controller; - int nCharts {0}; std::vector<QChart*> vetoCharts; std::vector<QChart*> triggerCharts; std::vector<QChart*> preshowerCharts; std::vector<QChart*> calorimeterCharts; std::vector<QChart*> clockCharts; std::vector<QChart*> testCharts; + std::vector<QChart*> visibleCharts; QChart* createChart(const std::vector<unsigned int>& data, QGraphicsItem* parent = nullptr, const QString& title = "Default title"); void createCharts(StoreGateSvc* sg, VP1GraphicsItemCollection* items, bool visible, std::vector<QChart*>& list, const std::string& collectionName); -// VP1CoordinateAxes * coordinateaxes; -// VP1Floor * floor; -// VP1CartesianGrid * cartesiangrid; -// VP1CylindricalGrid * cylindricalgrid; -// VP1Letters * letters; -// VP1EtaCone * etacone1; -// VP1EtaCone * etacone2; -// VP1EtaCone * etacone3; -// VP1TrackingVolumes * trackingVolumes; -// VP1Lines * lines; - -// ProjectionSurfacesHelper * projsurfhelper_pixel; -// ProjectionSurfacesHelper * projsurfhelper_sct; -// ProjectionSurfacesHelper * projsurfhelper_trt; -// InDetProjFlags::InDetProjPartsFlags lastemit_pixel; -// InDetProjFlags::InDetProjPartsFlags lastemit_sct; -// InDetProjFlags::InDetProjPartsFlags lastemit_trt; - - //For knowing which ID parts are used by data systems: -// std::map<QObject*,InDetProjFlags::DetTypeFlags> sender2iddettypeswithprojs; + void getVisible(const std::vector<QChart*>& list); + void getVisible(); + void layoutCharts(); + }; //_____________________________________________________________________________________ VP1WaveformSystem::VP1WaveformSystem() - : IVP12DSystemSimple("Waveforms", - "System displaying waveform data", + : IVP12DSystemSimple("Raw Waveforms", + "System displaying raw waveform data", "dcasper@uci.edu"), m_d(new Imp(this)) { } @@ -142,7 +102,7 @@ void VP1WaveformSystem::buildEventItemCollection(StoreGateSvc* sg, VP1GraphicsIt m_d->calorimeterCharts.clear(); m_d->clockCharts.clear(); m_d->testCharts.clear(); - m_d->nCharts = 0; +// m_d->nCharts = 0; m_d->createCharts(sg, root, m_d->controller->vetoEnabled(), m_d->vetoCharts, "VetoWaveforms"); m_d->createCharts(sg, root, m_d->controller->triggerEnabled(), m_d->triggerCharts, "TriggerWaveforms"); @@ -151,6 +111,7 @@ void VP1WaveformSystem::buildEventItemCollection(StoreGateSvc* sg, VP1GraphicsIt m_d->createCharts(sg, root, m_d->controller->clockEnabled(), m_d->clockCharts, "ClockWaveforms"); m_d->createCharts(sg, root, m_d->controller->testEnabled(), m_d->testCharts, "TestWaveforms"); + m_d->layoutCharts(); } void VP1WaveformSystem::Imp::createCharts(StoreGateSvc* sg, @@ -189,7 +150,6 @@ QChart* VP1WaveformSystem::Imp::createChart(const std::vector<unsigned int>& dat QChart* chart = new QChart(parent); QLineSeries *series = new QLineSeries(); -// *series << QPointF(0, 6) << QPointF(9, 4) << QPointF(15, 20) << QPointF(25, 12) << QPointF(29, 26); unsigned int maxEntry = 0; for (size_t i = 0; i < data.size(); i++) { @@ -213,190 +173,73 @@ QChart* VP1WaveformSystem::Imp::createChart(const std::vector<unsigned int>& dat labelsFont.setPixelSize(8); QPen axisPen(QRgb(0xd18952)); axisPen.setWidth(2); - axisX->setRange(0, data.size()-1); - axisX->setTickCount(10); + axisX->setRange(0, data.size()); + axisX->setTickCount(13); axisX->setLabelsFont(labelsFont); axisX->setLinePen(axisPen); chart->addAxis(axisX, Qt::AlignBottom); + series->attachAxis(axisX); QValueAxis* axisY = new QValueAxis(); - axisY->setRange(0, maxEntry); - axisY->setTickCount(8); + axisY->setRange(0, 0x4000); + axisY->setTickCount(9); axisY->setLabelsFont(labelsFont); axisY->setLinePen(axisPen); chart->addAxis(axisY, Qt::AlignLeft); -// chart->resize(500,500); - - qreal x = (nCharts%5) * 550; - qreal y = (nCharts/5) * 550; + series->attachAxis(axisY); - chart->setGeometry(x, y, 500, 500); - nCharts++; return chart; } +void VP1WaveformSystem::Imp::getVisible() +{ + visibleCharts.clear(); + getVisible(vetoCharts); + getVisible(triggerCharts); + getVisible(preshowerCharts); + getVisible(calorimeterCharts); + getVisible(clockCharts); + getVisible(testCharts); +} + +void VP1WaveformSystem::Imp::getVisible(const std::vector<QChart*>& list) +{ + for (QChart* c : list) + { + if (c != nullptr && c->isVisible()) + { + visibleCharts.push_back(c); + } + } +} + +void VP1WaveformSystem::Imp::layoutCharts() +{ + getVisible(); + unsigned int nVisible = visibleCharts.size(); + std::cout << "Laying out " << nVisible << " raw hits" << std::endl; + if (nVisible == 0) return; + // unsigned int nRows = (nVisible - 1)/5 + 1; + for (unsigned int i = 0; i < nVisible; i++) + { + qreal x = i%6 * 550.0; + // qreal y = ( (i/5) - nRows ) * 550.0; + qreal y = ( i/6 ) * 550.0; + visibleCharts[i]->setGeometry(x, y, 500.0, 500.0); + } +} + //_____________________________________________________________________________________ void VP1WaveformSystem::buildPermanentItemCollection(StoreGateSvc* /*detstore*/, VP1GraphicsItemCollection* /*root*/) { if(VP1Msg::verbose() || true){ messageVerbose("buildPermanentItemCollection"); } -// //No guidelines are pickable: -// SoPickStyle *pickStyle = new SoPickStyle; -// pickStyle->style=SoPickStyle::UNPICKABLE; -// root->addChild(pickStyle); - -// //High complexity val for eta cones: -// SoComplexity * complexity = new SoComplexity; -// complexity->value.setValue(2.0f); -// root->addChild(complexity); - -// //Floor: -// m_d->floor = new VP1Floor(root,this); -// connect(m_d->controller,SIGNAL(floorExtentChanged(const double&)),m_d->floor,SLOT(setExtent(const double&))); -// m_d->floor->setExtent(m_d->controller->floorExtent()); -// connect(m_d->controller,SIGNAL(floorSpacingChanged(const double&)),m_d->floor,SLOT(setSpacing(const double&))); -// m_d->floor->setSpacing(m_d->controller->floorSpacing()); -// connect(m_d->controller,SIGNAL(floorHeightChanged(const double&)),m_d->floor,SLOT(setVerticalPosition(const double&))); -// m_d->floor->setVerticalPosition(m_d->controller->floorHeight()); -// connect(m_d->controller,SIGNAL(floorColourAndTranspChanged( const SbColor4f&)),m_d->floor,SLOT(setColourAndTransp(const SbColor4f&))); -// m_d->floor->setColourAndTransp(m_d->controller->floorColourAndTransp()); -// connect(m_d->controller,SIGNAL(showFloorChanged(bool)),m_d->floor,SLOT(setShown(bool))); -// m_d->floor->setShown(m_d->controller->showFloor()); - -// //CartesianGrid: -// m_d->cartesiangrid = new VP1CartesianGrid(root,this); -// connect(m_d->controller,SIGNAL(gridExtentChanged(const double&)),m_d->cartesiangrid,SLOT(setExtent(const double&))); -// m_d->cartesiangrid->setExtent(m_d->controller->gridExtent()); -// connect(m_d->controller,SIGNAL(gridSpacingChanged(const double&)),m_d->cartesiangrid,SLOT(setSpacing(const double&))); -// m_d->cartesiangrid->setSpacing(m_d->controller->gridSpacing()); -// connect(m_d->controller,SIGNAL(gridColourAndTranspChanged( const SbColor4f&)),m_d->cartesiangrid,SLOT(setColourAndTransp(const SbColor4f&))); -// m_d->cartesiangrid->setColourAndTransp(m_d->controller->gridColourAndTransp()); -// connect(m_d->controller,SIGNAL(showCartesianGridChanged(bool)),m_d->cartesiangrid,SLOT(setShown(bool))); -// m_d->cartesiangrid->setShown(m_d->controller->showCartesianGrid()); - -// //CylindricalGrid: -// m_d->cylindricalgrid = new VP1CylindricalGrid(root,this); -// connect(m_d->controller,SIGNAL(gridExtentChanged(const double&)),m_d->cylindricalgrid,SLOT(setExtent(const double&))); -// m_d->cylindricalgrid->setExtent(m_d->controller->gridExtent()); -// connect(m_d->controller,SIGNAL(gridSpacingChanged(const double&)),m_d->cylindricalgrid,SLOT(setSpacing(const double&))); -// m_d->cylindricalgrid->setSpacing(m_d->controller->gridSpacing()); -// connect(m_d->controller,SIGNAL(gridColourAndTranspChanged( const SbColor4f&)),m_d->cylindricalgrid,SLOT(setColourAndTransp(const SbColor4f&))); -// m_d->cylindricalgrid->setColourAndTransp(m_d->controller->gridColourAndTransp()); -// connect(m_d->controller,SIGNAL(showCylindricalGridChanged(bool)),m_d->cylindricalgrid,SLOT(setShown(bool))); -// m_d->cylindricalgrid->setShown(m_d->controller->showCylindricalGrid()); - -// //Letters: -// m_d->letters = new VP1Letters(m_d->controller->lettersMaterial(),root,this); -// connect(m_d->controller,SIGNAL(lettersZPosChanged(const double&)),m_d->letters,SLOT(setZPos(const double&))); -// m_d->letters->setZPos(m_d->controller->lettersZPos()); -// connect(m_d->controller,SIGNAL(lettersVerticalPosChanged(const double&)),m_d->letters,SLOT(setVerticalPosition(const double&))); -// m_d->letters->setVerticalPosition(m_d->controller->lettersVerticalPos()); -// connect(m_d->controller,SIGNAL(showLettersChanged(bool)),m_d->letters,SLOT(setShown(bool))); -// m_d->letters->setShown(m_d->controller->showLetters()); - -// //Coordinate axes: -// m_d->coordinateaxes = new VP1CoordinateAxes(m_d->controller->xAxisMaterial(), -// m_d->controller->yAxisMaterial(), -// m_d->controller->zAxisMaterial(), -// root,this); -// connect(m_d->controller,SIGNAL(axesLengthChanged(const double&)),m_d->coordinateaxes,SLOT(setLength(const double&))); -// m_d->coordinateaxes->setLength(m_d->controller->axesLength()); -// connect(m_d->controller,SIGNAL(axesPositionChanged(const SbVec3f&)),m_d->coordinateaxes,SLOT(setPosition(const SbVec3f&))); -// m_d->coordinateaxes->setPosition(m_d->controller->axesPosition()); -// connect(m_d->controller,SIGNAL(relAxesThicknessChanged(const double&)),m_d->coordinateaxes,SLOT(setRelativeAxisThickness(const double&))); -// m_d->coordinateaxes->setRelativeAxisThickness(m_d->controller->relAxesThickness()); -// connect(m_d->controller,SIGNAL(showAxesChanged(bool)),m_d->coordinateaxes,SLOT(setShown(bool))); -// m_d->coordinateaxes->setShown(m_d->controller->showAxes()); - -// //Eta cones: -// m_d->etacone1 = new VP1EtaCone(m_d->controller->etaCone1Material(),root,this); -// connect(m_d->controller,SIGNAL(etaExtentChanged(const double&)),m_d->etacone1,SLOT(setExtent(const double&))); -// m_d->etacone1->setExtent(m_d->controller->etaExtent()); -// connect(m_d->controller,SIGNAL(etaConeValue1Changed(const double&)),m_d->etacone1,SLOT(setEtaValue(const double&))); -// m_d->etacone1->setEtaValue(m_d->controller->etaConeValue1()); -// connect(m_d->controller,SIGNAL(showEtaCone1Changed(bool)),m_d->etacone1,SLOT(setShown(bool))); -// m_d->etacone1->setShown(m_d->controller->showEtaCone1()); - -// m_d->etacone2 = new VP1EtaCone(m_d->controller->etaCone2Material(),root,this); -// connect(m_d->controller,SIGNAL(etaExtentChanged(const double&)),m_d->etacone2,SLOT(setExtent(const double&))); -// m_d->etacone2->setExtent(m_d->controller->etaExtent()); -// connect(m_d->controller,SIGNAL(etaConeValue2Changed(const double&)),m_d->etacone2,SLOT(setEtaValue(const double&))); -// m_d->etacone2->setEtaValue(m_d->controller->etaConeValue2()); -// connect(m_d->controller,SIGNAL(showEtaCone2Changed(bool)),m_d->etacone2,SLOT(setShown(bool))); -// m_d->etacone2->setShown(m_d->controller->showEtaCone2()); - -// m_d->etacone3 = new VP1EtaCone(m_d->controller->etaCone3Material(),root,this); -// connect(m_d->controller,SIGNAL(etaExtentChanged(const double&)),m_d->etacone3,SLOT(setExtent(const double&))); -// m_d->etacone3->setExtent(m_d->controller->etaExtent()); -// connect(m_d->controller,SIGNAL(etaConeValue3Changed(const double&)),m_d->etacone3,SLOT(setEtaValue(const double&))); -// m_d->etacone3->setEtaValue(m_d->controller->etaConeValue3()); -// connect(m_d->controller,SIGNAL(showEtaCone3Changed(bool)),m_d->etacone3,SLOT(setShown(bool))); -// m_d->etacone3->setShown(m_d->controller->showEtaCone3()); - -// //Tracking Volumes: -// m_d->trackingVolumes = new VP1TrackingVolumes(m_d->controller->idTrkVolumesMaterial(), -// m_d->controller->caloTrkVolumesMaterial(), -// m_d->controller->msTrkVolumesMaterial(), -// m_d->controller->showInnerDetector(), -// m_d->controller->showCalorimeters(), -// m_d->controller->showMuonSpectrometer(), -// root,this); -// connect(m_d->controller,SIGNAL(showTrackingVolumesChanged(bool)),m_d->trackingVolumes,SLOT(setShown(bool))); -// connect(m_d->controller,SIGNAL(showInnerDetectorChanged(bool)),m_d->trackingVolumes,SLOT(setShownID(bool))); -// connect(m_d->controller,SIGNAL(showCalorimetersChanged(bool)),m_d->trackingVolumes,SLOT(setShownCalo(bool))); -// connect(m_d->controller,SIGNAL(showMuonSpectrometerChanged(bool)),m_d->trackingVolumes,SLOT(setShownMS(bool))); -// m_d->trackingVolumes->setShown(m_d->controller->showTrackingVolumes()); - -// //Lines -// m_d->lines = new VP1Lines(root, this); -// connect(m_d->controller,SIGNAL(showLinesChanged(bool)),m_d->lines,SLOT(setShown(bool))); -// m_d->lines->setShown(m_d->controller->showLines()); -// connect(m_d->controller,SIGNAL(lineDirectionChanged(const SbVec3f&)),m_d->lines,SLOT(setDirection(const SbVec3f&))); -// m_d->lines->setDirection(m_d->controller->lineDirection()); - -// SoSeparator * projsep = new SoSeparator; -// root->addChild(projsep); - -// m_d->projsurfhelper_pixel = ProjectionSurfacesHelper::createPixelHelper(m_d->controller->pixelProjSurfMaterial(),projsep,this,this); -// m_d->projsurfhelper_sct = ProjectionSurfacesHelper::createSCTHelper(m_d->controller->sctProjSurfMaterial(),projsep,this,this); -// m_d->projsurfhelper_trt = ProjectionSurfacesHelper::createTRTHelper(m_d->controller->trtProjSurfMaterial(),projsep,this,this); - -// connect(m_d->controller,SIGNAL(shownPixelProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)), -// m_d->projsurfhelper_pixel,SLOT(setSurfaces(InDetProjFlags::InDetProjPartsFlags))); -// m_d->projsurfhelper_pixel->setSurfaces(m_d->controller->shownPixelProjSurfaces()); - -// connect(m_d->controller,SIGNAL(shownSCTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)), -// m_d->projsurfhelper_sct,SLOT(setSurfaces(InDetProjFlags::InDetProjPartsFlags))); -// m_d->projsurfhelper_sct->setSurfaces(m_d->controller->shownSCTProjSurfaces()); - -// connect(m_d->controller,SIGNAL(shownTRTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)), -// m_d->projsurfhelper_trt,SLOT(setSurfaces(InDetProjFlags::InDetProjPartsFlags))); -// m_d->projsurfhelper_trt->setSurfaces(m_d->controller->shownTRTProjSurfaces()); -// connect(m_d->controller,SIGNAL(applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)),this,SLOT(possiblyEmit_ApplicableProjectionsChanged())); -// connect(m_d->controller,SIGNAL(applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)),this,SLOT(possiblyEmit_ApplicableProjectionsChanged())); -// connect(m_d->controller,SIGNAL(applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)),this,SLOT(possiblyEmit_ApplicableProjectionsChanged())); - -// possiblyEmit_ApplicableProjectionsChanged();//fixme; late enough??? Problem with new delayed init: until guides are enabled, proper projections won't be known!! -// //Thus, the channel should call this slot explicitly after making all connections!!! } //_____________________________________________________________________________________ void VP1WaveformSystem::systemuncreate() { -// delete m_d->coordinateaxes; m_d->coordinateaxes = 0; -// delete m_d->floor; m_d->floor = 0; -// delete m_d->cartesiangrid; m_d->cartesiangrid = 0; -// delete m_d->cylindricalgrid; m_d->cylindricalgrid = 0; -// delete m_d->letters; m_d->letters = 0; -// delete m_d->etacone1; m_d->etacone1 = 0; -// delete m_d->etacone2; m_d->etacone2 = 0; -// delete m_d->etacone3; m_d->etacone3 = 0; -// delete m_d->projsurfhelper_pixel; m_d->projsurfhelper_pixel = 0; -// delete m_d->projsurfhelper_sct; m_d->projsurfhelper_sct = 0; -// delete m_d->projsurfhelper_trt; m_d->projsurfhelper_trt = 0; -// delete m_d->trackingVolumes; m_d->trackingVolumes = 0; - m_d->controller=0; } @@ -440,6 +283,7 @@ void VP1WaveformSystem::updateVetoElements(bool enabled) { c->setVisible(enabled); } + m_d->layoutCharts(); } void VP1WaveformSystem::updateTriggerElements(bool enabled) @@ -448,6 +292,7 @@ void VP1WaveformSystem::updateTriggerElements(bool enabled) { c->setVisible(enabled); } + m_d->layoutCharts(); } void VP1WaveformSystem::updatePreshowerElements(bool enabled) @@ -456,6 +301,7 @@ void VP1WaveformSystem::updatePreshowerElements(bool enabled) { c->setVisible(enabled); } + m_d->layoutCharts(); } void VP1WaveformSystem::updateCalorimeterElements(bool enabled) @@ -464,6 +310,7 @@ void VP1WaveformSystem::updateCalorimeterElements(bool enabled) { c->setVisible(enabled); } + m_d->layoutCharts(); } void VP1WaveformSystem::updateClockElements(bool enabled) @@ -472,6 +319,7 @@ void VP1WaveformSystem::updateClockElements(bool enabled) { c->setVisible(enabled); } + m_d->layoutCharts(); } void VP1WaveformSystem::updateTestElements(bool enabled) @@ -480,42 +328,5 @@ void VP1WaveformSystem::updateTestElements(bool enabled) { c->setVisible(enabled); } + m_d->layoutCharts(); } - -//_____________________________________________________________________________________ -// void VP1GuideLineSystem::setIDDetTypesUsingProjections( InDetProjFlags::DetTypeFlags f ) -// { -// ensureBuildController(); -// if (!m_d->controller) -// return;//if receiving signals after uncreate -// if(VP1Msg::verbose()){ -// messageVerbose("Signal received in setIDDetTypesUsingProjections("+str(f)+") slot (from " -// +QString(sender()?sender()->objectName():"NULL sender")+")"); -// } -// m_d->sender2iddettypeswithprojs[sender()] = f; -// InDetProjFlags::DetTypeFlags used(InDetProjFlags::NoDet); -// std::map<QObject*,InDetProjFlags::DetTypeFlags>::iterator it, itE = m_d->sender2iddettypeswithprojs.end(); -// for (it=m_d->sender2iddettypeswithprojs.begin();it!=itE;++it) -// used |= it->second; -// m_d->controller->setInDetDetTypesUsingProjections(used); -// } - -// //_____________________________________________________________________________________ -// void VP1GuideLineSystem::possiblyEmit_ApplicableProjectionsChanged() -// { -// ensureBuildController(); -// if (!m_d->controller) -// return;//if receiving signals after uncreate -// InDetProjFlags::InDetProjPartsFlags new_pixel = m_d->controller->applicablePixelProjParts(); -// InDetProjFlags::InDetProjPartsFlags new_sct = m_d->controller->applicableSCTProjParts(); -// InDetProjFlags::InDetProjPartsFlags new_trt = m_d->controller->applicableTRTProjParts(); -// if (m_d->lastemit_pixel==new_pixel&&m_d->lastemit_sct==new_sct&&m_d->lastemit_trt==new_trt) -// return; -// m_d->lastemit_pixel=new_pixel; -// m_d->lastemit_sct=new_sct; -// m_d->lastemit_trt=new_trt; -// if(VP1Msg::verbose()){ -// messageVerbose("Emitting applicableProjectionsChanged("+str(m_d->lastemit_pixel)+", "+str(m_d->lastemit_sct)+", "+str(m_d->lastemit_trt)+")"); -// } -// emit applicableProjectionsChanged( m_d->lastemit_pixel,m_d->lastemit_sct,m_d->lastemit_trt ); -// } diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx index 17702c4ed548b83326b1223c83e30d70e1d403cc..765ce0d4d702245b2c2733f4003824b21a150ba2 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx @@ -16,14 +16,7 @@ #include "VTI12WaveformSystems/WaveformSysController.h" #include "ui_waveformcontrollerform.h" -// #include "ui_guidelinescontrollerform.h" -// #include "ui_guides_settings_coordinateaxes_form.h" -// #include "ui_guides_settings_etacones_form.h" -// #include "ui_guides_settings_floorandletters_form.h" -// #include "ui_guides_settings_grid_form.h" -// #include "ui_guides_settings_idprojsurfs_form.h" -// #include "ui_guides_settings_trkvolumes_form.h" -// #include "ui_guides_settings_lines_form.h" + #include "VP1Base/VP1Serialise.h" #include "VP1Base/VP1Deserialise.h" @@ -44,15 +37,6 @@ public: WaveformSysController * theclass; Ui::VP1WaveformControllerForm ui; - // Ui::VP1GuidesControllerForm ui; - // Ui::VP1GuidesSysSettingsCoordinateAxesForm ui_axes; - // Ui::VP1GuidesSysSettingsEtaConeForm ui_etacones; - // Ui::VP1GuidesSysSettingsFloorAndLettersForm ui_floorandletters; - // Ui::VP1GuidesSysSettingsGridForm ui_grid; - // Ui::VP1GuidesSysSettingsIDProjSurfsForm ui_idprojsurfs; - // Ui::VP1TrackingVolumesForm ui_trkvolumes; - // Ui::VP1LinesForm ui_lines; - static SbColor4f color4f(const QColor& col, int transp_int) { return SbColor4f(std::max<float>(0.0f,std::min<float>(1.0f,col.redF())), std::max<float>(0.0f,std::min<float>(1.0f,col.greenF())), @@ -66,38 +50,6 @@ public: bool last_calorimeterEnabled; bool last_clockEnabled; bool last_testEnabled; - // bool last_showFloor; - // SbColor4f last_floorColourAndTransp; - // double last_floorExtent; - // double last_floorSpacing; - // double last_floorHeight; - // bool last_showLetters; - // double last_lettersZPos; - // double last_lettersVerticalPos; - // bool last_showAxes; - // double last_axesLength; - // SbVec3f last_axesPosition; - // double last_relAxesThickness; - // bool last_showCartesianGrid; - // bool last_showCylindricalGrid; - // SbColor4f last_gridColourAndTransp; - // double last_gridSpacing; - // double last_gridExtent; - // bool last_showEtaCone1; - // bool last_showEtaCone2; - // bool last_showEtaCone3; - // double last_etaConeValue1; - // double last_etaConeValue2; - // double last_etaConeValue3; - // double last_etaExtent; - // bool last_showTrackingVolumes; - // bool last_showInnerDetector; - // bool last_showCalorimeters; - // bool last_showMuonSpectrometer; - // bool last_showLines; - // SbVec3f last_lineDirection; - // double last_line_eta; // This is needed to update the display in possibleChange_lineDirection - }; //____________________________________________________________________ @@ -107,228 +59,6 @@ WaveformSysController::WaveformSysController(IVP1System * sys) m_d->theclass = this; m_d->ui.setupUi(this); - // initDialog(m_d->ui_axes, m_d->ui.pushButton_settings_coordinateAxes,m_d->ui.checkBox_coordinateAxes); - // initDialog(m_d->ui_etacones, m_d->ui.pushButton_settings_etaCones,m_d->ui.checkBox_etaCones); - // initDialog(m_d->ui_floorandletters, m_d->ui.pushButton_settings_floorAndLetters,m_d->ui.checkBox_floorAndLetters); - // initDialog(m_d->ui_grid, m_d->ui.pushButton_settings_grid,m_d->ui.checkBox_grid); - // initDialog(m_d->ui_idprojsurfs, m_d->ui.pushButton_settings_inDetProjSurfs,m_d->ui.checkBox_inDetProjSurfs); - // initDialog(m_d->ui_trkvolumes, m_d->ui.pushButton_settings_trkVolumes,m_d->ui.checkBox_trkVolumes); - // initDialog(m_d->ui_lines, m_d->ui.pushButton_settings_lines,m_d->ui.checkBox_lines); - - //Hide SCT/Pixel projection surface controls for now: - // m_d->ui_idprojsurfs.groupBox_pixelproj->setVisible(false); - // m_d->ui_idprojsurfs.groupBox_sctproj->setVisible(false); - - //Since we have different logical groups of radio buttons inside - //same groupboxes, we make sure they are coordinated correctly: - - // QButtonGroup * pixelproj_barrel_radiogroup = defineRadioButtonGroup(m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both); - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner->setChecked(true); - // QButtonGroup * pixelproj_endcap_radiogroup = defineRadioButtonGroup(m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both); - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner->setChecked(true); - - - // QButtonGroup * sctproj_barrel_radiogroup = defineRadioButtonGroup(m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both); - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner->setChecked(true); - // QButtonGroup * sctproj_endcap_radiogroup = defineRadioButtonGroup(m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both); - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner->setChecked(true); - - - // QButtonGroup * trtproj_barrel_radiogroup = defineRadioButtonGroup(m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both); - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner->setChecked(true); - // QButtonGroup * trtproj_endcap_radiogroup = defineRadioButtonGroup(m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both); - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner->setChecked(true); - - //Setup material buttons: - // m_d->ui_floorandletters.colorButton_floor->setColor(QColor::fromRgbF(0.5,0.5,0.5)); - // m_d->ui_grid.colorButton_grid->setColor(QColor::fromRgbF(1.0,1.0,1.0)); - // m_d->ui_floorandletters.matButton_letters->setMaterial(VP1MaterialButton::createMaterial(0.5,0.5,0.5,0.1)); - // m_d->ui_axes.matButton_axes_x->setMaterial(VP1MaterialButton::createMaterial(1,0,0,0.15)); - // m_d->ui_axes.matButton_axes_y->setMaterial(VP1MaterialButton::createMaterial(0,1,0,0.15)); - // m_d->ui_axes.matButton_axes_z->setMaterial(VP1MaterialButton::createMaterial(0,0,2,0.15)); - // m_d->ui_etacones.matButton_etaCone1->setMaterial(VP1MaterialButton::createMaterial(1,1,0,0.2,0.5)); - // m_d->ui_etacones.matButton_etaCone2->setMaterial(VP1MaterialButton::createMaterial(1,0.56471,0.20784,0.2,0.5)); - // m_d->ui_etacones.matButton_etaCone3->setMaterial(VP1MaterialButton::createMaterial(1,0.15686,0.08235,0.2,0.5)); - // m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel->setMaterial(VP1MaterialButton::createMaterial(126/255.0, 194/255.0, 204/255.0,0.05,0.35)); - // m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct->setMaterial(VP1MaterialButton::createMaterial(126/255.0, 194/255.0, 204/255.0,0.05,0.35)); - // m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt->setMaterial(VP1MaterialButton::createMaterial(126/255.0, 194/255.0, 204/255.0,0.05,0.35)); - // m_d->ui_trkvolumes.matButton_ID->setMaterial(VP1MaterialButton::createMaterial(1,0,0,0.15)); - // m_d->ui_trkvolumes.matButton_Calo->setMaterial(VP1MaterialButton::createMaterial(0,1,0,0.15)); - // m_d->ui_trkvolumes.matButton_MS->setMaterial(VP1MaterialButton::createMaterial(0,0,2,0.15)); - - ///////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Setup connections which monitor changes in the controller so that we may emit signals as appropriate: // - ///////////////////////////////////////////////////////////////////////////////////////////////////////////// - - // addUpdateSlot(SLOT(possibleChange_showFloor())); - // connectToLastUpdateSlot(m_d->ui.checkBox_floorAndLetters); - // connectToLastUpdateSlot(m_d->ui_floorandletters.checkBox_floorenabled); - - // addUpdateSlot(SLOT(possibleChange_floorColourAndTransp())); - // connectToLastUpdateSlot(m_d->ui_floorandletters.colorButton_floor); - // connectToLastUpdateSlot(m_d->ui_floorandletters.spinBox_floortransp); - - // addUpdateSlot(SLOT(possibleChange_floorExtent())); - // connectToLastUpdateSlot(m_d->ui_floorandletters.doubleSpinBox_floorextent); - - // addUpdateSlot(SLOT(possibleChange_floorSpacing())); - // connectToLastUpdateSlot(m_d->ui_floorandletters.doubleSpinBox_floorspacing); - - // addUpdateSlot(SLOT(possibleChange_floorHeight())); - // connectToLastUpdateSlot(m_d->ui_floorandletters.doubleSpinBox_floorheight); - - // addUpdateSlot(SLOT(possibleChange_showLetters())); - // connectToLastUpdateSlot(m_d->ui.checkBox_floorAndLetters); - // connectToLastUpdateSlot(m_d->ui_floorandletters.checkBox_acdesignations); - - // addUpdateSlot(SLOT(possibleChange_lettersZPos())); - // connectToLastUpdateSlot(this,SIGNAL(floorExtentChanged(const double&))); - // connectToLastUpdateSlot(this,SIGNAL(floorSpacingChanged(const double&))); - - // addUpdateSlot(SLOT(possibleChange_lettersVerticalPos())); - // connectToLastUpdateSlot(this,SIGNAL(floorHeightChanged(const double&))); - - // addUpdateSlot(SLOT(possibleChange_showAxes())); - // connectToLastUpdateSlot(m_d->ui.checkBox_coordinateAxes); - - // addUpdateSlot(SLOT(possibleChange_axesLength())); - // connectToLastUpdateSlot(m_d->ui_axes.checkBox_axes_shownegativeparts); - // connectToLastUpdateSlot(m_d->ui_axes.doubleSpinBox_axes_lengths_m); - - // addUpdateSlot(SLOT(possibleChange_axesPosition())); - // connectToLastUpdateSlot(m_d->ui_axes.doubleSpinBox_axes_xpos_m); - // connectToLastUpdateSlot(m_d->ui_axes.doubleSpinBox_axes_ypos_m); - // connectToLastUpdateSlot(m_d->ui_axes.doubleSpinBox_axes_zpos_m); - - // addUpdateSlot(SLOT(possibleChange_relAxesThickness())); - // connectToLastUpdateSlot(m_d->ui_axes.doubleSpinBox_axes_relthickness); - - // addUpdateSlot(SLOT(possibleChange_showCartesianGrid())); - // connectToLastUpdateSlot(m_d->ui.checkBox_grid); - // connectToLastUpdateSlot(m_d->ui_grid.radioButton_grid_cartesian); - - // addUpdateSlot(SLOT(possibleChange_showCylindricalGrid())); - // connectToLastUpdateSlot(m_d->ui.checkBox_grid); - // connectToLastUpdateSlot(m_d->ui_grid.radioButton_grid_cylindrical); - - // addUpdateSlot(SLOT(possibleChange_gridColourAndTransp())); - // connectToLastUpdateSlot(m_d->ui_grid.colorButton_grid); - // connectToLastUpdateSlot(m_d->ui_grid.spinBox_gridtransp); - - // addUpdateSlot(SLOT(possibleChange_gridSpacing())); - // connectToLastUpdateSlot(m_d->ui_grid.doubleSpinBox_gridspacing); - - // addUpdateSlot(SLOT(possibleChange_gridExtent())); - // connectToLastUpdateSlot(m_d->ui_grid.doubleSpinBox_gridextent); - - // addUpdateSlot(SLOT(possibleChange_showEtaCone1())); - // connectToLastUpdateSlot(m_d->ui.checkBox_etaCones); - // connectToLastUpdateSlot(m_d->ui_etacones.checkBox_etacone1); - - // addUpdateSlot(SLOT(possibleChange_showEtaCone2())); - // connectToLastUpdateSlot(m_d->ui.checkBox_etaCones); - // connectToLastUpdateSlot(m_d->ui_etacones.checkBox_etacone2); - - // addUpdateSlot(SLOT(possibleChange_showEtaCone3())); - // connectToLastUpdateSlot(m_d->ui.checkBox_etaCones); - // connectToLastUpdateSlot(m_d->ui_etacones.checkBox_etacone3); - - // addUpdateSlot(SLOT(possibleChange_etaConeValue1())); - // connectToLastUpdateSlot(m_d->ui_etacones.doubleSpinBox_etaval1); - - // addUpdateSlot(SLOT(possibleChange_etaConeValue2())); - // connectToLastUpdateSlot(m_d->ui_etacones.doubleSpinBox_etaval2); - - // addUpdateSlot(SLOT(possibleChange_etaConeValue3())); - // connectToLastUpdateSlot(m_d->ui_etacones.doubleSpinBox_etaval3); - - // addUpdateSlot(SLOT(possibleChange_etaExtent())); - // connectToLastUpdateSlot(m_d->ui_etacones.doubleSpinBox_etaconeextent); - // connectToLastUpdateSlot(m_d->ui_etacones.radioButton_etaconeextentisr); - - // addUpdateSlot(SLOT(possibleChange_applicablePixelProjParts())); - // connectToLastUpdateSlot(pixelproj_barrel_radiogroup); - // connectToLastUpdateSlot(pixelproj_endcap_radiogroup); - - // addUpdateSlot(SLOT(possibleChange_applicableSCTProjParts())); - // connectToLastUpdateSlot(sctproj_barrel_radiogroup); - // connectToLastUpdateSlot(sctproj_endcap_radiogroup); - - // addUpdateSlot(SLOT(possibleChange_applicableTRTProjParts())); - // connectToLastUpdateSlot(trtproj_barrel_radiogroup); - // connectToLastUpdateSlot(trtproj_endcap_radiogroup); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r); - - // addUpdateSlot(SLOT(possibleChange_shownPixelProjSurfaces())); - // connectToLastUpdateSlot(m_d->ui.checkBox_inDetProjSurfs); - // connectToLastUpdateSlot(this,SIGNAL(applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags))); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.groupBox_pixelproj); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC); - - // addUpdateSlot(SLOT(possibleChange_shownSCTProjSurfaces())); - // connectToLastUpdateSlot(m_d->ui.checkBox_inDetProjSurfs); - // connectToLastUpdateSlot(this,SIGNAL(applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags))); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.groupBox_sctproj); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC); - - // addUpdateSlot(SLOT(possibleChange_shownTRTProjSurfaces())); - // connectToLastUpdateSlot(m_d->ui.checkBox_inDetProjSurfs); - // connectToLastUpdateSlot(this,SIGNAL(applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags))); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.groupBox_trtproj); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC); - - // addUpdateSlot(SLOT(updateProjPartsCheckboxStates_Pixel())); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded); - - // addUpdateSlot(SLOT(updateProjPartsCheckboxStates_SCT())); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded); - - // addUpdateSlot(SLOT(updateProjPartsCheckboxStates_TRT())); - // connectToLastUpdateSlot(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded); - - // addUpdateSlot(SLOT(possibleChange_showTrackingVolumes())); - // connectToLastUpdateSlot(m_d->ui.checkBox_trkVolumes); - - // addUpdateSlot(SLOT(possibleChange_showInnerDetector())); - // connectToLastUpdateSlot(m_d->ui_trkvolumes.checkBox_ID); - // addUpdateSlot(SLOT(possibleChange_showCalorimeters())); - // connectToLastUpdateSlot(m_d->ui_trkvolumes.checkBox_Calo); - // addUpdateSlot(SLOT(possibleChange_showMuonSpectrometer())); - // connectToLastUpdateSlot(m_d->ui_trkvolumes.checkBox_MS); - - // addUpdateSlot(SLOT(possibleChange_showLines())); - // connectToLastUpdateSlot(m_d->ui.checkBox_lines); - - // addUpdateSlot(SLOT(possibleChange_lineDirection())); - // connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_phi); - // connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_theta); - // connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_eta); - // connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_length); - addUpdateSlot(SLOT(possibleChange_vetoEnabled())); connectToLastUpdateSlot(m_d->ui.checkBox_vetoEnabled); @@ -356,23 +86,6 @@ WaveformSysController::~WaveformSysController() delete m_d; } -//____________________________________________________________________ -//Material access methods: -// SoMaterial * GuideSysController::lettersMaterial() const { return m_d->ui_floorandletters.matButton_letters->handledMaterials().at(0); } -// SoMaterial * GuideSysController::xAxisMaterial() const { return m_d->ui_axes.matButton_axes_x->handledMaterials().at(0); } -// SoMaterial * GuideSysController::yAxisMaterial() const { return m_d->ui_axes.matButton_axes_y->handledMaterials().at(0); } -// SoMaterial * GuideSysController::zAxisMaterial() const { return m_d->ui_axes.matButton_axes_z->handledMaterials().at(0); } -// SoMaterial * GuideSysController::etaCone1Material() const { return m_d->ui_etacones.matButton_etaCone1->handledMaterials().at(0); } -// SoMaterial * GuideSysController::etaCone2Material() const { return m_d->ui_etacones.matButton_etaCone2->handledMaterials().at(0); } -// SoMaterial * GuideSysController::etaCone3Material() const { return m_d->ui_etacones.matButton_etaCone3->handledMaterials().at(0); } -// SoMaterial * GuideSysController::pixelProjSurfMaterial() const { return m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel->handledMaterials().at(0); } -// SoMaterial * GuideSysController::sctProjSurfMaterial() const { return m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct->handledMaterials().at(0); } -// SoMaterial * GuideSysController::trtProjSurfMaterial() const { return m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt->handledMaterials().at(0); } -// SoMaterial * GuideSysController::idTrkVolumesMaterial() const { return m_d->ui_trkvolumes.matButton_ID->handledMaterials().at(0); } -// SoMaterial * GuideSysController::caloTrkVolumesMaterial() const { return m_d->ui_trkvolumes.matButton_Calo->handledMaterials().at(0); } -// SoMaterial * GuideSysController::msTrkVolumesMaterial() const { return m_d->ui_trkvolumes.matButton_MS->handledMaterials().at(0); } - -//____________________________________________________________________ bool WaveformSysController::vetoEnabled() const { return m_d->ui.checkBox_vetoEnabled->isChecked(); @@ -403,412 +116,6 @@ bool WaveformSysController::testEnabled() const return m_d->ui.checkBox_testEnabled->isChecked(); } -// bool GuideSysController::showFloor() const -// { -// return m_d->ui.checkBox_floorAndLetters->isChecked() && -// m_d->ui_floorandletters.checkBox_floorenabled->isChecked(); -// } - -// //____________________________________________________________________ -// SbColor4f GuideSysController::floorColourAndTransp() const -// { -// return Imp::color4f(m_d->ui_floorandletters.colorButton_floor->color(),m_d->ui_floorandletters.spinBox_floortransp->value()); -// } - -// //____________________________________________________________________ -// double GuideSysController::floorExtent() const -// { -// return m_d->ui_floorandletters.doubleSpinBox_floorextent->value()*SYSTEM_OF_UNITS::m; -// } - -// //____________________________________________________________________ -// double GuideSysController::floorSpacing() const -// { -// return m_d->ui_floorandletters.doubleSpinBox_floorspacing->value()*SYSTEM_OF_UNITS::m; -// } - -// //____________________________________________________________________ -// double GuideSysController::floorHeight() const -// { -// return m_d->ui_floorandletters.doubleSpinBox_floorheight->value()*SYSTEM_OF_UNITS::m; -// } - -// //____________________________________________________________________ -// bool GuideSysController::showLetters() const -// { -// return m_d->ui.checkBox_floorAndLetters->isChecked() && -// m_d->ui_floorandletters.checkBox_acdesignations->isChecked(); -// } - -// //____________________________________________________________________ -// double GuideSysController::lettersZPos() const -// { - -// int nmax; double distmax; -// if (!VP1Floor::calcParsFromExtentAndSpacing( (VP1HelperClassBase*)this, floorExtent(), floorSpacing(), VP1Floor::nMax(), nmax, distmax )) { -// nmax = 10; -// distmax = 10*SYSTEM_OF_UNITS::m; -// message("lettersZPos ERROR: Problems calculating floor nmax/distmax."); -// } -// return distmax*1.1; -// } - -// //____________________________________________________________________ -// double GuideSysController::lettersVerticalPos() const -// { -// return floorHeight()+1.5*SYSTEM_OF_UNITS::m; -// } - -// //____________________________________________________________________ -// bool GuideSysController::showAxes() const -// { -// return m_d->ui.checkBox_coordinateAxes->isChecked(); -// } - -// //____________________________________________________________________ -// double GuideSysController::axesLength() const -// { -// return m_d->ui_axes.doubleSpinBox_axes_lengths_m->value()*SYSTEM_OF_UNITS::m * -// (m_d->ui_axes.checkBox_axes_shownegativeparts->isChecked()?-1.0:1.0); -// } - -// //____________________________________________________________________ -// SbVec3f GuideSysController::axesPosition() const -// { -// return SbVec3f(m_d->ui_axes.doubleSpinBox_axes_xpos_m->value()*SYSTEM_OF_UNITS::m, -// m_d->ui_axes.doubleSpinBox_axes_ypos_m->value()*SYSTEM_OF_UNITS::m, -// m_d->ui_axes.doubleSpinBox_axes_zpos_m->value()*SYSTEM_OF_UNITS::m); -// } - -// //____________________________________________________________________ -// double GuideSysController::relAxesThickness() const -// { -// return m_d->ui_axes.doubleSpinBox_axes_relthickness->value(); -// } - -// //____________________________________________________________________ -// bool GuideSysController::showCartesianGrid() const -// { -// return m_d->ui.checkBox_grid->isChecked() && -// m_d->ui_grid.radioButton_grid_cartesian->isChecked(); -// } - -// //____________________________________________________________________ -// bool GuideSysController::showCylindricalGrid() const -// { -// return m_d->ui.checkBox_grid->isChecked() && -// m_d->ui_grid.radioButton_grid_cylindrical->isChecked(); -// } - -// //____________________________________________________________________ -// SbColor4f GuideSysController::gridColourAndTransp() const -// { -// return Imp::color4f(m_d->ui_grid.colorButton_grid->color(),m_d->ui_grid.spinBox_gridtransp->value()); -// } - -// //____________________________________________________________________ -// double GuideSysController::gridSpacing() const -// { -// return m_d->ui_grid.doubleSpinBox_gridspacing->value()*SYSTEM_OF_UNITS::m; -// } - -// //____________________________________________________________________ -// double GuideSysController::gridExtent() const -// { -// return m_d->ui_grid.doubleSpinBox_gridextent->value()*SYSTEM_OF_UNITS::m; -// } - -// //____________________________________________________________________ -// bool GuideSysController::showEtaCone1() const -// { -// return m_d->ui.checkBox_etaCones->isChecked() && -// m_d->ui_etacones.checkBox_etacone1->isChecked(); -// } - -// //____________________________________________________________________ -// bool GuideSysController::showEtaCone2() const -// { -// return m_d->ui.checkBox_etaCones->isChecked() && -// m_d->ui_etacones.checkBox_etacone2->isChecked(); -// } - -// //____________________________________________________________________ -// bool GuideSysController::showEtaCone3() const -// { -// return m_d->ui.checkBox_etaCones->isChecked() && -// m_d->ui_etacones.checkBox_etacone3->isChecked(); -// } - -// //____________________________________________________________________ -// double GuideSysController::etaConeValue1() const -// { -// return std::max(1.0e-5,m_d->ui_etacones.doubleSpinBox_etaval1->value()); -// } - -// //____________________________________________________________________ -// double GuideSysController::etaConeValue2() const -// { -// return std::max(1.0e-5,m_d->ui_etacones.doubleSpinBox_etaval2->value()); -// } - -// //____________________________________________________________________ -// double GuideSysController::etaConeValue3() const -// { -// return std::max(1.0e-5,m_d->ui_etacones.doubleSpinBox_etaval3->value()); -// } - -// //____________________________________________________________________ -// double GuideSysController::etaExtent() const -// { -// return m_d->ui_etacones.doubleSpinBox_etaconeextent->value() * SYSTEM_OF_UNITS::m -// * (m_d->ui_etacones.radioButton_etaconeextentisr->isChecked() ? 1.0 : -1.0); -// } - -// //____________________________________________________________________ -// bool GuideSysController::showLines() const -// { -// return m_d->ui.checkBox_lines->isChecked(); -// } - - -// //____________________________________________________________________ -// SbVec3f GuideSysController::lineDirection() const -// { -// double r = lineLength(); -// double phi = m_d->ui_lines.doubleSpinBox_phi->value(); -// double theta = m_d->ui_lines.doubleSpinBox_theta->value(); -// SbVec3f direction(r*sin(theta)*cos(phi),r*sin(theta)*sin(phi), r*cos(theta)); -// return direction; -// } - -// //____________________________________________________________________ -// double GuideSysController::lineLength() const -// { -// return m_d->ui_lines.doubleSpinBox_length->value() * SYSTEM_OF_UNITS::m; -// } - -// //_____________________________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::Imp::projPartsFlag( bool barrelinner, bool barrelouter, -// bool endcapinner, bool endcapouter, -// bool endcap_hidenormalcyls_when_zasr, -// bool endcap_zasr ) -// { -// InDetProjFlags::InDetProjPartsFlags parts(InDetProjFlags::NoProjections); -// //Given the general parts needed, what specific surfaces do we need: -// if ( barrelinner ) -// parts |= InDetProjFlags::BarrelCentral; -// if ( barrelouter ) { -// parts |= InDetProjFlags::BarrelPositive; -// parts |= InDetProjFlags::BarrelNegative; -// } - -// if ( !( endcap_zasr && endcap_hidenormalcyls_when_zasr ) ) { -// if ( endcapinner ) { -// //Inner: -// parts |= InDetProjFlags::EndCapInnerPositive; -// parts |= InDetProjFlags::EndCapInnerNegative; -// } -// if ( endcapouter ) { -// //Outer: -// parts |= InDetProjFlags::EndCapOuterPositive; -// parts |= InDetProjFlags::EndCapOuterNegative; -// } -// } -// //Special ZasR surfaces for the endcaps, placed in the barrel positions: -// if (endcap_zasr) { -// if ( barrelinner ) -// parts |= InDetProjFlags::TRT_EndCapZToRCentral; -// if ( barrelouter ) { -// parts |= InDetProjFlags::TRT_EndCapZToRPositive; -// parts |= InDetProjFlags::TRT_EndCapZToRNegative; -// } -// } -// return parts; -// } - -// //____________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::applicablePixelProjParts() const -// { -// return Imp::projPartsFlag( m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner->isChecked() || m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer->isChecked() || m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner->isChecked() || m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer->isChecked() || m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both->isChecked() ); -// } - -// //____________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::applicableSCTProjParts() const -// { -// return Imp::projPartsFlag( m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner->isChecked() || m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer->isChecked() || m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner->isChecked() || m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer->isChecked() || m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both->isChecked() ); -// } - -// //____________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::applicableTRTProjParts() const -// { -// return Imp::projPartsFlag( m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner->isChecked() || m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer->isChecked() || m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner->isChecked() || m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both->isChecked(), -// m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer->isChecked() || m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both->isChecked(), -// true, m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r->isChecked() ); -// } - -// //_____________________________________________________________________________________ -// InDetProjFlags::DetTypeFlags GuideSysController::Imp::trtPartsEnabledByGUIOrDataUsage() const -// { -// InDetProjFlags::DetTypeFlags f(InDetProjFlags::NoDet); -// if (ui_idprojsurfs.groupBox_trtproj->isChecked()) { -// if (ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded->isChecked()) { -// f |= (inDetDetTypesUsingProjections&InDetProjFlags::TRT_all); -// } else { -// if (ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA->isChecked()) f |= InDetProjFlags::TRT_brlpos; -// if (ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC->isChecked()) f |= InDetProjFlags::TRT_brlneg; -// if (ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA->isChecked()) f |= InDetProjFlags::TRT_ecpos; -// if (ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC->isChecked()) f |= InDetProjFlags::TRT_ecneg; -// } -// } -// return f; -// } - -// //_____________________________________________________________________________________ -// InDetProjFlags::DetTypeFlags GuideSysController::Imp::sctPartsEnabledByGUIOrDataUsage() const -// { -// InDetProjFlags::DetTypeFlags f(InDetProjFlags::NoDet); -// if (ui_idprojsurfs.groupBox_sctproj->isChecked()) { -// if (ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded->isChecked()) { -// f |= (inDetDetTypesUsingProjections&InDetProjFlags::SCT_all); -// } else { -// if (ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA->isChecked()) f |= InDetProjFlags::SCT_brlpos; -// if (ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC->isChecked()) f |= InDetProjFlags::SCT_brlneg; -// if (ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA->isChecked()) f |= InDetProjFlags::SCT_ecpos; -// if (ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC->isChecked()) f |= InDetProjFlags::SCT_ecneg; -// } -// } -// return f; -// } - -// //_____________________________________________________________________________________ -// InDetProjFlags::DetTypeFlags GuideSysController::Imp::pixelPartsEnabledByGUIOrDataUsage() const -// { -// InDetProjFlags::DetTypeFlags f(InDetProjFlags::NoDet); -// if (ui_idprojsurfs.groupBox_pixelproj->isChecked()) { -// if (ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded->isChecked()) { -// f |= (inDetDetTypesUsingProjections&InDetProjFlags::Pixel_all); -// } else { -// if (ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA->isChecked()) f |= InDetProjFlags::Pixel_brlpos; -// if (ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC->isChecked()) f |= InDetProjFlags::Pixel_brlneg; -// if (ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA->isChecked()) f |= InDetProjFlags::Pixel_ecpos; -// if (ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC->isChecked()) f |= InDetProjFlags::Pixel_ecneg; -// } -// } -// return f; -// } - -// //____________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::shownPixelProjSurfaces() const -// { -// InDetProjFlags::DetTypeFlags enabledDetRegions = m_d->pixelPartsEnabledByGUIOrDataUsage(); -// if (!(InDetProjFlags::Pixel_all&enabledDetRegions)||!m_d->ui.checkBox_inDetProjSurfs->isChecked()) -// return InDetProjFlags::NoProjections; -// InDetProjFlags::InDetProjPartsFlags pixelProjParts(applicablePixelProjParts()); -// if (pixelProjParts==InDetProjFlags::NoProjections) -// return InDetProjFlags::NoProjections; -// InDetProjFlags::InDetProjPartsFlags dummy_sct(InDetProjFlags::NoProjections), dummy_trt(InDetProjFlags::NoProjections); -// InDetProjFlags::projectionPartsGivenUsedDetectors( pixelProjParts, dummy_sct, dummy_trt, enabledDetRegions ); -// return pixelProjParts; -// } - -// //____________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::shownSCTProjSurfaces() const -// { -// InDetProjFlags::DetTypeFlags enabledDetRegions = m_d->sctPartsEnabledByGUIOrDataUsage(); -// if (!(InDetProjFlags::SCT_all&enabledDetRegions)||!m_d->ui.checkBox_inDetProjSurfs->isChecked()) -// return InDetProjFlags::NoProjections; -// InDetProjFlags::InDetProjPartsFlags sctProjParts(applicableSCTProjParts()); -// if (sctProjParts==InDetProjFlags::NoProjections) -// return InDetProjFlags::NoProjections; -// InDetProjFlags::InDetProjPartsFlags dummy_pixel(InDetProjFlags::NoProjections), dummy_trt(InDetProjFlags::NoProjections); -// InDetProjFlags::projectionPartsGivenUsedDetectors( dummy_pixel, sctProjParts, dummy_trt, enabledDetRegions ); -// return sctProjParts; -// } - -// //____________________________________________________________________ -// InDetProjFlags::InDetProjPartsFlags GuideSysController::shownTRTProjSurfaces() const -// { -// InDetProjFlags::DetTypeFlags enabledDetRegions = m_d->trtPartsEnabledByGUIOrDataUsage(); -// if (!(InDetProjFlags::TRT_all&enabledDetRegions)||!m_d->ui.checkBox_inDetProjSurfs->isChecked()) -// return InDetProjFlags::NoProjections; -// InDetProjFlags::InDetProjPartsFlags trtProjParts(applicableTRTProjParts()); -// if (trtProjParts==InDetProjFlags::NoProjections) -// return InDetProjFlags::NoProjections; -// InDetProjFlags::InDetProjPartsFlags dummy_pixel(InDetProjFlags::NoProjections), dummy_sct(InDetProjFlags::NoProjections); -// InDetProjFlags::projectionPartsGivenUsedDetectors( dummy_pixel, dummy_sct, trtProjParts,enabledDetRegions ); -// return trtProjParts; -// } - -// //____________________________________________________________________ -// void GuideSysController::setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags f) -// { -// if (m_d->inDetDetTypesUsingProjections==f) -// return; -// m_d->inDetDetTypesUsingProjections=f; -// possibleChange_shownPixelProjSurfaces(); -// possibleChange_shownSCTProjSurfaces(); -// possibleChange_shownTRTProjSurfaces(); -// } - -// //____________________________________________________________________ -// void GuideSysController::updateProjPartsCheckboxStates_Pixel() -// { -// const bool e(!m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded->isChecked()); -// m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC->setEnabled(e); -// } - -// //____________________________________________________________________ -// void GuideSysController::updateProjPartsCheckboxStates_SCT() -// { -// const bool e(!m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded->isChecked()); -// m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC->setEnabled(e); -// } - -// //____________________________________________________________________ -// void GuideSysController::updateProjPartsCheckboxStates_TRT() -// { -// const bool e(!m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded->isChecked()); -// m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA->setEnabled(e); -// m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC->setEnabled(e); -// } - -// bool GuideSysController::showTrackingVolumes() const -// { -// return m_d->ui.checkBox_trkVolumes->isChecked(); -// } - -// bool GuideSysController::showInnerDetector() const -// { -// return m_d->ui_trkvolumes.checkBox_ID->isChecked(); -// } - -// bool GuideSysController::showCalorimeters() const -// { -// return m_d->ui_trkvolumes.checkBox_Calo->isChecked(); -// } - -// bool GuideSysController::showMuonSpectrometer() const -// { -// return m_d->ui_trkvolumes.checkBox_MS->isChecked(); -// } - -//____________________________________________________________________ int WaveformSysController::currentSettingsVersion() const { return 0; @@ -825,111 +132,6 @@ void WaveformSysController::actualSaveSettings(VP1Serialise&s) const s.save(m_d->ui.checkBox_clockEnabled); s.save(m_d->ui.checkBox_testEnabled); - //Materials - // s.save(m_d->ui_floorandletters.matButton_letters); - // s.save(m_d->ui_axes.matButton_axes_x); - // s.save(m_d->ui_axes.matButton_axes_y); - // s.save(m_d->ui_axes.matButton_axes_z); - // s.save(m_d->ui_etacones.matButton_etaCone1); - // s.save(m_d->ui_etacones.matButton_etaCone2); - // s.save(m_d->ui_etacones.matButton_etaCone3); - // s.save(m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel); - // s.save(m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct); - // s.save(m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt); - - // //Everything apart from projection surfaces: - // s.save(m_d->ui_grid.colorButton_grid); - // s.save(m_d->ui_grid.spinBox_gridtransp); - // s.save(m_d->ui_floorandletters.colorButton_floor); - // s.save(m_d->ui_floorandletters.spinBox_floortransp); - // s.save(m_d->ui_floorandletters.doubleSpinBox_floorheight); - // s.save(m_d->ui_floorandletters.checkBox_floorenabled); - // s.save(m_d->ui_floorandletters.doubleSpinBox_floorspacing); - // s.save(m_d->ui_floorandletters.doubleSpinBox_floorextent); - // s.save(m_d->ui_floorandletters.checkBox_acdesignations); - // //Version 0 output bool here - // s.save(m_d->ui_axes.checkBox_axes_shownegativeparts); - // s.save(m_d->ui_axes.doubleSpinBox_axes_lengths_m); - // s.save(m_d->ui_axes.doubleSpinBox_axes_relthickness); - // s.save(m_d->ui_axes.doubleSpinBox_axes_xpos_m); - // s.save(m_d->ui_axes.doubleSpinBox_axes_ypos_m); - // s.save(m_d->ui_axes.doubleSpinBox_axes_zpos_m); - // s.save(0/*backwards compat*/,m_d->ui_grid.radioButton_grid_cartesian,m_d->ui_grid.radioButton_grid_cylindrical); - // s.save(m_d->ui_grid.doubleSpinBox_gridspacing); - // s.save(m_d->ui_grid.doubleSpinBox_gridextent); - // s.save(m_d->ui_etacones.checkBox_etacone1); - // s.save(m_d->ui_etacones.doubleSpinBox_etaval1); - // s.save(m_d->ui_etacones.checkBox_etacone2); - // s.save(m_d->ui_etacones.doubleSpinBox_etaval2); - // s.save(m_d->ui_etacones.checkBox_etacone3); - // s.save(m_d->ui_etacones.doubleSpinBox_etaval3); - // s.save(m_d->ui_etacones.doubleSpinBox_etaconeextent); - // s.save(m_d->ui_etacones.radioButton_etaconeextentisr,m_d->ui_etacones.radioButton_etaconeextentisz); - - // //Projection surfaces: - - // s.save(m_d->ui_idprojsurfs.groupBox_pixelproj); - // s.save(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded); - // s.save(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA); - // s.save(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC); - // s.save(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA); - // s.save(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC); - // s.save(m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both); - // s.save(m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both); - // s.save(m_d->ui_idprojsurfs.groupBox_sctproj); - // s.save(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded); - // s.save(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA); - // s.save(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC); - // s.save(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA); - // s.save(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC); - // s.save(m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both); - // s.save(m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both); - // s.save(m_d->ui_idprojsurfs.groupBox_trtproj); - // s.save(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded); - // s.save(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA); - // s.save(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC); - // s.save(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA); - // s.save(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC); - // s.save(m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both); - // s.save(m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both); - // s.save(m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r); - - // s.save(m_d->ui.checkBox_coordinateAxes);//version 1+ - // s.save(m_d->ui.checkBox_etaCones); - // s.save(m_d->ui.checkBox_floorAndLetters);//version 1+ - // s.save(m_d->ui.checkBox_grid);//version 1+ - // s.save(m_d->ui.checkBox_inDetProjSurfs);//version 1+ - - // //Tracking volumes: - // // All version 2+ - // s.save(m_d->ui.checkBox_trkVolumes); - - // //material - // s.save(m_d->ui_trkvolumes.matButton_ID); - // s.save(m_d->ui_trkvolumes.matButton_Calo); - // s.save(m_d->ui_trkvolumes.matButton_MS); - // s.save(m_d->ui_trkvolumes.checkBox_ID); - // s.save(m_d->ui_trkvolumes.checkBox_Calo); - // s.save(m_d->ui_trkvolumes.checkBox_MS); - - // // Line from origin - // s.save(m_d->ui.checkBox_lines); - // s.save(m_d->ui_lines.doubleSpinBox_phi); - // s.save(m_d->ui_lines.doubleSpinBox_phi); - // s.save(m_d->ui_lines.doubleSpinBox_eta); - // s.save(m_d->ui_lines.doubleSpinBox_length); } //____________________________________________________________________ @@ -947,139 +149,8 @@ void WaveformSysController::actualRestoreSettings(VP1Deserialise& s) s.restore(m_d->ui.checkBox_clockEnabled); s.restore(m_d->ui.checkBox_testEnabled); - // if (s.version()==0) - // s.ignoreInt(); - - // //Materials - // s.restore(m_d->ui_floorandletters.matButton_letters); - // s.restore(m_d->ui_axes.matButton_axes_x); - // s.restore(m_d->ui_axes.matButton_axes_y); - // s.restore(m_d->ui_axes.matButton_axes_z); - // s.restore(m_d->ui_etacones.matButton_etaCone1); - // s.restore(m_d->ui_etacones.matButton_etaCone2); - // s.restore(m_d->ui_etacones.matButton_etaCone3); - // s.restore(m_d->ui_idprojsurfs.pushButton_projsurfmaterial_pixel); - // s.restore(m_d->ui_idprojsurfs.pushButton_projsurfmaterial_sct); - // s.restore(m_d->ui_idprojsurfs.pushButton_projsurfmaterial_trt); - - - // //Everything apart from projection surfaces: - // s.restore(m_d->ui_grid.colorButton_grid); - // s.restore(m_d->ui_grid.spinBox_gridtransp); - // s.restore(m_d->ui_floorandletters.colorButton_floor); - // s.restore(m_d->ui_floorandletters.spinBox_floortransp); - // s.restore(m_d->ui_floorandletters.doubleSpinBox_floorheight); - // s.restore(m_d->ui_floorandletters.checkBox_floorenabled); - // s.restore(m_d->ui_floorandletters.doubleSpinBox_floorspacing); - // s.restore(m_d->ui_floorandletters.doubleSpinBox_floorextent); - // s.restore(m_d->ui_floorandletters.checkBox_acdesignations); - // if (s.version()==0) - // s.ignoreBool(); - // s.restore(m_d->ui_axes.checkBox_axes_shownegativeparts); - // s.restore(m_d->ui_axes.doubleSpinBox_axes_lengths_m); - // s.restore(m_d->ui_axes.doubleSpinBox_axes_relthickness); - // s.restore(m_d->ui_axes.doubleSpinBox_axes_xpos_m); - // s.restore(m_d->ui_axes.doubleSpinBox_axes_ypos_m); - // s.restore(m_d->ui_axes.doubleSpinBox_axes_zpos_m); - // s.restore(0/*backwards compat*/,m_d->ui_grid.radioButton_grid_cartesian,m_d->ui_grid.radioButton_grid_cylindrical); - // s.restore(m_d->ui_grid.doubleSpinBox_gridspacing); - // s.restore(m_d->ui_grid.doubleSpinBox_gridextent); - // s.restore(m_d->ui_etacones.checkBox_etacone1); - // s.restore(m_d->ui_etacones.doubleSpinBox_etaval1); - // s.restore(m_d->ui_etacones.checkBox_etacone2); - // s.restore(m_d->ui_etacones.doubleSpinBox_etaval2); - // s.restore(m_d->ui_etacones.checkBox_etacone3); - // s.restore(m_d->ui_etacones.doubleSpinBox_etaval3); - // s.restore(m_d->ui_etacones.doubleSpinBox_etaconeextent); - // s.restore(m_d->ui_etacones.radioButton_etaconeextentisr,m_d->ui_etacones.radioButton_etaconeextentisz); - - // //Projection surfaces: - - // s.restore(m_d->ui_idprojsurfs.groupBox_pixelproj); - // s.restore(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_asneeded); - // s.restore(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelA); - // s.restore(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_barrelC); - // s.restore(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapA); - // s.restore(m_d->ui_idprojsurfs.checkBox_pixelprojsurf_parts_endcapC); - // s.restore(m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_barrel_both); - // s.restore(m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_pixelprojsurf_endcap_both); - // s.restore(m_d->ui_idprojsurfs.groupBox_sctproj); - // s.restore(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_asneeded); - // s.restore(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelA); - // s.restore(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_barrelC); - // s.restore(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapA); - // s.restore(m_d->ui_idprojsurfs.checkBox_sctprojsurf_parts_endcapC); - // s.restore(m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_barrel_both); - // s.restore(m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_sctprojsurf_endcap_both); - // s.restore(m_d->ui_idprojsurfs.groupBox_trtproj); - // s.restore(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_asneeded); - // s.restore(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelA); - // s.restore(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_barrelC); - // s.restore(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapA); - // s.restore(m_d->ui_idprojsurfs.checkBox_trtprojsurf_parts_endcapC); - // s.restore(m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_inner, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_outer, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_barrel_both); - // s.restore(m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_inner, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_outer, - // m_d->ui_idprojsurfs.radioButton_trtprojsurf_endcap_both); - // s.restore(m_d->ui_idprojsurfs.checkBox_trtprojsurf_z2r); - - // if (s.version()>=1) { - // s.restore(m_d->ui.checkBox_coordinateAxes); - // s.restore(m_d->ui.checkBox_etaCones); - // s.restore(m_d->ui.checkBox_floorAndLetters); - // s.restore(m_d->ui.checkBox_grid); - // s.restore(m_d->ui.checkBox_inDetProjSurfs); - // } - - // if (s.version()>=2) { - // s.restore(m_d->ui.checkBox_trkVolumes); - // s.restore(m_d->ui_trkvolumes.matButton_ID); - // s.restore(m_d->ui_trkvolumes.matButton_Calo); - // s.restore(m_d->ui_trkvolumes.matButton_MS); - // s.restore(m_d->ui_trkvolumes.checkBox_ID); - // s.restore(m_d->ui_trkvolumes.checkBox_Calo); - // s.restore(m_d->ui_trkvolumes.checkBox_MS); - // } - // if (s.version()>=3) { - // s.restore(m_d->ui.checkBox_lines); - // s.restore(m_d->ui_lines.doubleSpinBox_phi); - // s.restore(m_d->ui_lines.doubleSpinBox_phi); - // s.restore(m_d->ui_lines.doubleSpinBox_eta); - // s.restore(m_d->ui_lines.doubleSpinBox_length); - // } } -// void GuideSysController::possibleChange_lineDirection() { -// // Bit of a hack possibly to do this here, but I want to be able to update the direction by changing either theta or eta -// double eta = m_d->ui_lines.doubleSpinBox_eta->value(); -// double theta = m_d->ui_lines.doubleSpinBox_theta->value(); - -// if (m_d->last_line_eta != eta){ -// // eta has changed, so update theta in the UI -// theta = 2*std::atan(std::exp(-1.0 * eta)); -// m_d->ui_lines.doubleSpinBox_theta->setValue(theta); -// } else if ( theta!= std::acos(m_d->last_lineDirection[2] / lineLength() ) ){ -// eta = -1.0 * std::log(std::tan(theta/2.0)); -// m_d->ui_lines.doubleSpinBox_eta->setValue(eta); -// } -// m_d->last_line_eta = m_d->ui_lines.doubleSpinBox_eta->value(); -// if (changed( m_d->last_lineDirection , lineDirection() ) ) { -// if (verbose()&&!initVarsMode()) messageVerbose("Emitting "+QString()+"( lineDirectionChanged"+toString(m_d->last_lineDirection)+" )"); -// emit lineDirectionChanged(m_d->last_lineDirection); -// } -// } - - /////////////////////////////////////////////////////////////////////////// // Test for possible changes in values and emit signals as appropriate: // (possibleChange_XXX() slots code provided by macros) @@ -1091,40 +162,3 @@ POSSIBLECHANGE_IMP(preshowerEnabled) POSSIBLECHANGE_IMP(calorimeterEnabled) POSSIBLECHANGE_IMP(clockEnabled) POSSIBLECHANGE_IMP(testEnabled) - -// POSSIBLECHANGE_IMP(showFloor) -// POSSIBLECHANGE_IMP(floorColourAndTransp) -// POSSIBLECHANGE_IMP(floorExtent) -// POSSIBLECHANGE_IMP(floorSpacing) -// POSSIBLECHANGE_IMP(floorHeight) -// POSSIBLECHANGE_IMP(showLetters) -// POSSIBLECHANGE_IMP(lettersZPos) -// POSSIBLECHANGE_IMP(lettersVerticalPos) -// POSSIBLECHANGE_IMP(showAxes) -// POSSIBLECHANGE_IMP(axesLength) -// POSSIBLECHANGE_IMP(axesPosition) -// POSSIBLECHANGE_IMP(relAxesThickness) -// POSSIBLECHANGE_IMP(showCartesianGrid) -// POSSIBLECHANGE_IMP(showCylindricalGrid) -// POSSIBLECHANGE_IMP(gridColourAndTransp) -// POSSIBLECHANGE_IMP(gridSpacing) -// POSSIBLECHANGE_IMP(gridExtent) -// POSSIBLECHANGE_IMP(showEtaCone1) -// POSSIBLECHANGE_IMP(showEtaCone2) -// POSSIBLECHANGE_IMP(showEtaCone3) -// POSSIBLECHANGE_IMP(etaConeValue1) -// POSSIBLECHANGE_IMP(etaConeValue2) -// POSSIBLECHANGE_IMP(etaConeValue3) -// POSSIBLECHANGE_IMP(etaExtent) -// POSSIBLECHANGE_IMP(applicablePixelProjParts) -// POSSIBLECHANGE_IMP(applicableSCTProjParts) -// POSSIBLECHANGE_IMP(applicableTRTProjParts) -// POSSIBLECHANGE_IMP(shownPixelProjSurfaces) -// POSSIBLECHANGE_IMP(shownSCTProjSurfaces) -// POSSIBLECHANGE_IMP(shownTRTProjSurfaces) -// POSSIBLECHANGE_IMP(showTrackingVolumes) -// POSSIBLECHANGE_IMP(showInnerDetector) -// POSSIBLECHANGE_IMP(showCalorimeters) -// POSSIBLECHANGE_IMP(showMuonSpectrometer) -// POSSIBLECHANGE_IMP(showLines) -//POSSIBLECHANGE_IMP(lineDirection) Implemented this manually so we can update eta/theta diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui index 75fddd8e6b0f311a5ab39a0ca5163152c385f712..cb854170cb4351c4f61e0672cd51cf6853af6fe2 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui @@ -91,108 +91,6 @@ </property> </widget> </item> - <!-- - <item row="0" column="1"> - <widget class="QPushButton" name="pushButton_settings_floorAndLetters"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QCheckBox" name="checkBox_coordinateAxes"> - <property name="text"> - <string>Coordinate axes</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QPushButton" name="pushButton_settings_coordinateAxes"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QCheckBox" name="checkBox_grid"> - <property name="text"> - <string>Grid</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QPushButton" name="pushButton_settings_grid"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QCheckBox" name="checkBox_etaCones"> - <property name="text"> - <string>Eta Cones</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QPushButton" name="pushButton_settings_etaCones"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QCheckBox" name="checkBox_inDetProjSurfs"> - <property name="text"> - <string>ID projection surfaces</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="QPushButton" name="pushButton_settings_inDetProjSurfs"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - <item row="5" column="1"> - <widget class="QPushButton" name="pushButton_settings_trkVolumes"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - <item row="5" column="0"> - <widget class="QCheckBox" name="checkBox_trkVolumes"> - <property name="text"> - <string>Tracking Volumes</string> - </property> - <property name="checked"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="7" column="0"> - <widget class="QCheckBox" name="checkBox_lines"> - <property name="text"> - <string>Line from origin</string> - </property> - <property name="checked"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="7" column="1"> - <widget class="QPushButton" name="pushButton_settings_lines"> - <property name="text"> - <string>Configure</string> - </property> - </widget> - </item> - --> </layout> </item> <item row="0" column="1">